diff --git a/lerna.json b/lerna.json index 7fb62b3a6..08d2c8af9 100644 --- a/lerna.json +++ b/lerna.json @@ -3,5 +3,5 @@ "packages": [ "packages/*" ], - "version": "1.7.4" + "version": "1.7.5" } diff --git a/package.json b/package.json index 3b7669904..d32fd8a91 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "build:collect-css": "cd packages/polythene-css && npm run build", "build:standalone": "node ./scripts/private/buildStandalone && npm run github:assets", "dependencies:update": "node ./scripts/private/updateDependencies", - "bump:test": "node --experimental-modules ./scripts/private/bumpVersion.mjs --dry-run --version 1.7.4", - "bump:real": "node --experimental-modules ./scripts/private/bumpVersion.mjs --version 1.7.4", - "publish:test": "node --experimental-modules ./scripts/private/publish.mjs --dry-run --version 1.7.4", - "publish:real": "node --experimental-modules ./scripts/private/publish.mjs --version 1.7.4", + "bump:test": "node --experimental-modules ./scripts/private/bumpVersion.mjs --dry-run --version 1.7.5", + "bump:real": "node --experimental-modules ./scripts/private/bumpVersion.mjs --version 1.7.5", + "publish:test": "node --experimental-modules ./scripts/private/publish.mjs --dry-run --version 1.7.5", + "publish:real": "node --experimental-modules ./scripts/private/publish.mjs --version 1.7.5", "github:demos": "node ./scripts/private/copyToDemos", "github:assets": "node ./scripts/private/copyToAssets", "typecheck": "lerna run typecheck", diff --git a/packages/polythene-core-base-spinner/package.json b/packages/polythene-core-base-spinner/package.json index e35871684..0bbdad9ad 100644 --- a/packages/polythene-core-base-spinner/package.json +++ b/packages/polythene-core-base-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-base-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-base-spinner", "module": "dist/polythene-core-base-spinner.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-button-group/package.json b/packages/polythene-core-button-group/package.json index e718ba072..216289bfb 100644 --- a/packages/polythene-core-button-group/package.json +++ b/packages/polythene-core-button-group/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-button-group", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-button-group", "module": "dist/polythene-core-button-group.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-button/package.json b/packages/polythene-core-button/package.json index 09968a45b..28f7cd261 100644 --- a/packages/polythene-core-button/package.json +++ b/packages/polythene-core-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-button", "module": "dist/polythene-core-button.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-shadow": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-shadow": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-ripple": "1.7.4" + "polythene-core-ripple": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-card/package.json b/packages/polythene-core-card/package.json index ab2190128..0f8afc21a 100644 --- a/packages/polythene-core-card/package.json +++ b/packages/polythene-core-card/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-card", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-card", "module": "dist/polythene-core-card.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-icon": "1.7.4", - "polythene-core-list-tile": "1.7.4" + "polythene-core-icon": "1.7.5", + "polythene-core-list-tile": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-checkbox/package.json b/packages/polythene-core-checkbox/package.json index 2f89f379c..45040bd1e 100644 --- a/packages/polythene-core-checkbox/package.json +++ b/packages/polythene-core-checkbox/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-checkbox", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-checkbox", "module": "dist/polythene-core-checkbox.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-selection-control": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-selection-control": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-css/package.json b/packages/polythene-core-css/package.json index b62eaf760..07905f3bb 100644 --- a/packages/polythene-core-css/package.json +++ b/packages/polythene-core-css/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-css", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-css", "module": "dist/polythene-core-css.mjs", @@ -20,7 +20,7 @@ "dependencies": { "j2c": "^1.0.0-4", "j2c-plugin-prefix-browser": "^1.0.7", - "polythene-core": "1.7.4" + "polythene-core": "1.7.5" }, "devDependencies": { "write-j2c": "1.0.3" diff --git a/packages/polythene-core-dialog-pane/package.json b/packages/polythene-core-dialog-pane/package.json index 778c4ca6f..03a73530c 100644 --- a/packages/polythene-core-dialog-pane/package.json +++ b/packages/polythene-core-dialog-pane/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-dialog-pane", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-dialog-pane", "module": "dist/polythene-core-dialog-pane.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-dialog/package.json b/packages/polythene-core-dialog/package.json index b7f6430b0..89eb78be8 100644 --- a/packages/polythene-core-dialog/package.json +++ b/packages/polythene-core-dialog/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-dialog", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-dialog", "module": "dist/polythene-core-dialog.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-dialog-pane": "1.7.4" + "polythene-core-dialog-pane": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-drawer/package.json b/packages/polythene-core-drawer/package.json index fdf59e796..1f4d3d905 100644 --- a/packages/polythene-core-drawer/package.json +++ b/packages/polythene-core-drawer/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-drawer", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-drawer", "module": "dist/polythene-core-drawer.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-dialog": "1.7.4" + "polythene-core-dialog": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-fab/package.json b/packages/polythene-core-fab/package.json index bf1baf1f1..ed21c2018 100644 --- a/packages/polythene-core-fab/package.json +++ b/packages/polythene-core-fab/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-fab", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-fab", "module": "dist/polythene-core-fab.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-button": "1.7.4", - "polythene-core-icon": "1.7.4" + "polythene-core-button": "1.7.5", + "polythene-core-icon": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-icon-button/package.json b/packages/polythene-core-icon-button/package.json index 6b0f6a6b7..100ba2495 100644 --- a/packages/polythene-core-icon-button/package.json +++ b/packages/polythene-core-icon-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-icon-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-icon-button", "module": "dist/polythene-core-icon-button.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-button": "1.7.4", - "polythene-core-icon": "1.7.4" + "polythene-core-button": "1.7.5", + "polythene-core-icon": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-icon/package.json b/packages/polythene-core-icon/package.json index 79496fe5d..6e02d3dc9 100644 --- a/packages/polythene-core-icon/package.json +++ b/packages/polythene-core-icon/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-icon", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-icon", "module": "dist/polythene-core-icon.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-svg": "1.7.4" + "polythene-core-svg": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-ios-spinner/package.json b/packages/polythene-core-ios-spinner/package.json index 91832948b..349c1a91e 100644 --- a/packages/polythene-core-ios-spinner/package.json +++ b/packages/polythene-core-ios-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-ios-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-ios-spinner", "module": "dist/polythene-core-ios-spinner.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-list-tile/package.json b/packages/polythene-core-list-tile/package.json index 28f065671..57d58ac77 100644 --- a/packages/polythene-core-list-tile/package.json +++ b/packages/polythene-core-list-tile/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-list-tile", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-list-tile", "module": "dist/polythene-core-list-tile.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-icon": "1.7.4", - "polythene-core-ripple": "1.7.4" + "polythene-core-icon": "1.7.5", + "polythene-core-ripple": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-list/package.json b/packages/polythene-core-list/package.json index 76374aceb..32abd3fcc 100644 --- a/packages/polythene-core-list/package.json +++ b/packages/polythene-core-list/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-list", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-list", "module": "dist/polythene-core-list.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-list-tile": "1.7.4" + "polythene-core-list-tile": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-material-design-progress-spinner/package.json b/packages/polythene-core-material-design-progress-spinner/package.json index d353f4b3e..9fa7f7f35 100644 --- a/packages/polythene-core-material-design-progress-spinner/package.json +++ b/packages/polythene-core-material-design-progress-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-material-design-progress-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-material-design-progress-spinner", "module": "dist/polythene-core-material-design-progress-spinner.mjs", @@ -16,11 +16,11 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4", - "polythene-utilities": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5", + "polythene-utilities": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-material-design-spinner/package.json b/packages/polythene-core-material-design-spinner/package.json index 30a44833a..c91d119e3 100644 --- a/packages/polythene-core-material-design-spinner/package.json +++ b/packages/polythene-core-material-design-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-material-design-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-material-design-spinner", "module": "dist/polythene-core-material-design-spinner.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-menu/package.json b/packages/polythene-core-menu/package.json index 8c1f42a1e..3edf453a8 100644 --- a/packages/polythene-core-menu/package.json +++ b/packages/polythene-core-menu/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-menu", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-menu", "module": "dist/polythene-core-menu.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-notification/package.json b/packages/polythene-core-notification/package.json index 738785efa..fd3c97973 100644 --- a/packages/polythene-core-notification/package.json +++ b/packages/polythene-core-notification/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-notification", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-notification", "module": "dist/polythene-core-notification.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4", - "polythene-utilities": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5", + "polythene-utilities": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-radio-button/package.json b/packages/polythene-core-radio-button/package.json index be5a6bd39..638076679 100644 --- a/packages/polythene-core-radio-button/package.json +++ b/packages/polythene-core-radio-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-radio-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-radio-button", "module": "dist/polythene-core-radio-button.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-selection-control": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-selection-control": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "license": "MIT" diff --git a/packages/polythene-core-radio-group/package.json b/packages/polythene-core-radio-group/package.json index d9cd3d1d8..c931bca61 100644 --- a/packages/polythene-core-radio-group/package.json +++ b/packages/polythene-core-radio-group/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-radio-group", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-radio-group", "module": "dist/polythene-core-radio-group.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-radio-button": "1.7.4" + "polythene-core-radio-button": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-ripple/package.json b/packages/polythene-core-ripple/package.json index f07b7288d..df8f3c35f 100644 --- a/packages/polythene-core-ripple/package.json +++ b/packages/polythene-core-ripple/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-ripple", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-ripple", "module": "dist/polythene-core-ripple.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-search/package.json b/packages/polythene-core-search/package.json index eab9b576e..437af80df 100644 --- a/packages/polythene-core-search/package.json +++ b/packages/polythene-core-search/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-search", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-search", "module": "dist/polythene-core-search.mjs", @@ -16,12 +16,12 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-textfield": "1.7.4" + "polythene-core-textfield": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-selection-control/package.json b/packages/polythene-core-selection-control/package.json index 6ec523ede..f4adab82b 100644 --- a/packages/polythene-core-selection-control/package.json +++ b/packages/polythene-core-selection-control/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-selection-control", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-selection-control", "module": "dist/polythene-core-selection-control.mjs", @@ -16,13 +16,13 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "devDependencies": { - "polythene-core-icon": "1.7.4", - "polythene-core-icon-button": "1.7.4" + "polythene-core-icon": "1.7.5", + "polythene-core-icon-button": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-shadow/package.json b/packages/polythene-core-shadow/package.json index 7b10409b3..caa6a8022 100644 --- a/packages/polythene-core-shadow/package.json +++ b/packages/polythene-core-shadow/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-shadow", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-shadow", "module": "dist/polythene-core-shadow.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-slider/package.json b/packages/polythene-core-slider/package.json index 61ad50c15..ca61fac0a 100644 --- a/packages/polythene-core-slider/package.json +++ b/packages/polythene-core-slider/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-slider", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-slider", "module": "dist/polythene-core-slider.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-snackbar/package.json b/packages/polythene-core-snackbar/package.json index cdc4f0aee..c5859a222 100644 --- a/packages/polythene-core-snackbar/package.json +++ b/packages/polythene-core-snackbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-snackbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-snackbar", "module": "dist/polythene-core-snackbar.mjs", @@ -16,10 +16,10 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-notification": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-notification": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-svg/package.json b/packages/polythene-core-svg/package.json index 97f119b50..8b736c635 100644 --- a/packages/polythene-core-svg/package.json +++ b/packages/polythene-core-svg/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-svg", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-svg", "module": "dist/polythene-core-svg.mjs", @@ -16,8 +16,8 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-switch/package.json b/packages/polythene-core-switch/package.json index 12870603e..d8f35fbb9 100644 --- a/packages/polythene-core-switch/package.json +++ b/packages/polythene-core-switch/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-switch", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-switch", "module": "dist/polythene-core-switch.mjs", @@ -16,11 +16,11 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-icon-button": "1.7.4", - "polythene-core-selection-control": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-icon-button": "1.7.5", + "polythene-core-selection-control": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-tabs/package.json b/packages/polythene-core-tabs/package.json index 7ee1a0314..4c96fadc8 100644 --- a/packages/polythene-core-tabs/package.json +++ b/packages/polythene-core-tabs/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-tabs", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-tabs", "module": "dist/polythene-core-tabs.mjs", @@ -16,16 +16,16 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-icon-button": "1.7.4", - "polythene-css-button": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4", - "polythene-utilities": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-icon-button": "1.7.5", + "polythene-css-button": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5", + "polythene-utilities": "1.7.5" }, "devDependencies": { - "polythene-core-button": "1.7.4", - "polythene-core-icon": "1.7.4" + "polythene-core-button": "1.7.5", + "polythene-core-icon": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-textfield/package.json b/packages/polythene-core-textfield/package.json index 332a22ac8..84e773138 100644 --- a/packages/polythene-core-textfield/package.json +++ b/packages/polythene-core-textfield/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-textfield", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-textfield", "module": "dist/polythene-core-textfield.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core-toolbar/package.json b/packages/polythene-core-toolbar/package.json index 6921bf725..fc3138add 100644 --- a/packages/polythene-core-toolbar/package.json +++ b/packages/polythene-core-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core-toolbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core-toolbar", "module": "dist/polythene-core-toolbar.mjs", @@ -16,9 +16,9 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-core/package.json b/packages/polythene-core/package.json index c6449614f..792cebb24 100644 --- a/packages/polythene-core/package.json +++ b/packages/polythene-core/package.json @@ -1,6 +1,6 @@ { "name": "polythene-core", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-core", "module": "dist/polythene-core.mjs", diff --git a/packages/polythene-css-base-spinner/package.json b/packages/polythene-css-base-spinner/package.json index 1fa13c91a..d815a911f 100644 --- a/packages/polythene-css-base-spinner/package.json +++ b/packages/polythene-css-base-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-base-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-base-spinner", "module": "dist/polythene-css-base-spinner.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-button-group/package.json b/packages/polythene-css-button-group/package.json index b6d4bef0f..5ab5c4a78 100644 --- a/packages/polythene-css-button-group/package.json +++ b/packages/polythene-css-button-group/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-button-group", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-button-group", "module": "dist/polythene-css-button-group.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-button/package.json b/packages/polythene-css-button/package.json index 47172b4af..7006baa10 100644 --- a/packages/polythene-css-button/package.json +++ b/packages/polythene-css-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-button", "module": "dist/polythene-css-button.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-shadow": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-shadow": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-card/package.json b/packages/polythene-css-card/package.json index 52e07a41b..815f111e9 100644 --- a/packages/polythene-css-card/package.json +++ b/packages/polythene-css-card/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-card", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-card", "module": "dist/polythene-css-card.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-checkbox/package.json b/packages/polythene-css-checkbox/package.json index 5eb06cd83..43f69da16 100644 --- a/packages/polythene-css-checkbox/package.json +++ b/packages/polythene-css-checkbox/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-checkbox", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-checkbox", "module": "dist/polythene-css-checkbox.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-selection-control": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-selection-control": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-classes/package.json b/packages/polythene-css-classes/package.json index 033bb5175..6cb7074d1 100644 --- a/packages/polythene-css-classes/package.json +++ b/packages/polythene-css-classes/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-classes", - "version": "1.7.4", + "version": "1.7.5", "description": "", "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-core/package.json b/packages/polythene-css-core/package.json index b1523d3e9..6cb045167 100644 --- a/packages/polythene-css-core/package.json +++ b/packages/polythene-css-core/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-core", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-core", "module": "dist/polythene-css-core.mjs", @@ -18,7 +18,7 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4" + "polythene-core-css": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-dialog-pane/package.json b/packages/polythene-css-dialog-pane/package.json index fcd60617a..e50dfbf55 100644 --- a/packages/polythene-css-dialog-pane/package.json +++ b/packages/polythene-css-dialog-pane/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-dialog-pane", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-dialog-pane", "module": "dist/polythene-css-dialog-pane.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-dialog/package.json b/packages/polythene-css-dialog/package.json index 92024d598..828061865 100644 --- a/packages/polythene-css-dialog/package.json +++ b/packages/polythene-css-dialog/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-dialog", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-dialog", "module": "dist/polythene-css-dialog.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-dialog-pane": "1.7.4", - "polythene-css-shadow": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-dialog-pane": "1.7.5", + "polythene-css-shadow": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-drawer/package.json b/packages/polythene-css-drawer/package.json index 98a2eaab3..3f2f5d42a 100644 --- a/packages/polythene-css-drawer/package.json +++ b/packages/polythene-css-drawer/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-drawer", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-drawer", "module": "dist/polythene-css-drawer.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-dialog": "1.7.4", - "polythene-css-shadow": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-dialog": "1.7.5", + "polythene-css-shadow": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-fab/package.json b/packages/polythene-css-fab/package.json index be900c153..12d0fbbed 100644 --- a/packages/polythene-css-fab/package.json +++ b/packages/polythene-css-fab/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-fab", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-fab", "module": "dist/polythene-css-fab.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-icon-button/package.json b/packages/polythene-css-icon-button/package.json index e0fc6d754..4de4ac4c8 100644 --- a/packages/polythene-css-icon-button/package.json +++ b/packages/polythene-css-icon-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-icon-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-icon-button", "module": "dist/polythene-css-icon-button.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-button": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-button": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-icon/package.json b/packages/polythene-css-icon/package.json index acd09790b..6cce9c4ce 100644 --- a/packages/polythene-css-icon/package.json +++ b/packages/polythene-css-icon/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-icon", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-icon", "module": "dist/polythene-css-icon.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-ios-spinner/package.json b/packages/polythene-css-ios-spinner/package.json index 847922c1d..2f7cca62c 100644 --- a/packages/polythene-css-ios-spinner/package.json +++ b/packages/polythene-css-ios-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-ios-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-ios-spinner", "module": "dist/polythene-css-ios-spinner.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core": "1.7.4", - "polythene-core-css": "1.7.4", - "polythene-css-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-css": "1.7.5", + "polythene-css-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-list-tile/package.json b/packages/polythene-css-list-tile/package.json index d2122afb3..a6ff29927 100644 --- a/packages/polythene-css-list-tile/package.json +++ b/packages/polythene-css-list-tile/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-list-tile", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-list-tile", "module": "dist/polythene-css-list-tile.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-list/package.json b/packages/polythene-css-list/package.json index 0682e5f5e..628f969d8 100644 --- a/packages/polythene-css-list/package.json +++ b/packages/polythene-css-list/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-list", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-list", "module": "dist/polythene-css-list.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-material-design-progress-spinner/package.json b/packages/polythene-css-material-design-progress-spinner/package.json index d4067704c..723fd4ad9 100644 --- a/packages/polythene-css-material-design-progress-spinner/package.json +++ b/packages/polythene-css-material-design-progress-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-material-design-progress-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-material-design-progress-spinner", "module": "dist/polythene-css-material-design-progress-spinner.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-material-design-spinner": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-material-design-spinner": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-material-design-spinner/package.json b/packages/polythene-css-material-design-spinner/package.json index c3d640b32..13e2a21b1 100644 --- a/packages/polythene-css-material-design-spinner/package.json +++ b/packages/polythene-css-material-design-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-material-design-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-material-design-spinner", "module": "dist/polythene-css-material-design-spinner.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-menu/package.json b/packages/polythene-css-menu/package.json index 75c9a59f2..d0c6a87d6 100644 --- a/packages/polythene-css-menu/package.json +++ b/packages/polythene-css-menu/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-menu", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-menu", "module": "dist/polythene-css-menu.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-shadow": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-shadow": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-notification/package.json b/packages/polythene-css-notification/package.json index 474053a12..d3975db46 100644 --- a/packages/polythene-css-notification/package.json +++ b/packages/polythene-css-notification/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-notification", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-notification", "module": "dist/polythene-css-notification.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-radio-button/package.json b/packages/polythene-css-radio-button/package.json index c08193f1a..10f4c5da7 100644 --- a/packages/polythene-css-radio-button/package.json +++ b/packages/polythene-css-radio-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-radio-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-radio-button", "module": "dist/polythene-css-radio-button.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-selection-control": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-selection-control": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-ripple/package.json b/packages/polythene-css-ripple/package.json index 69c42a158..889ef824a 100644 --- a/packages/polythene-css-ripple/package.json +++ b/packages/polythene-css-ripple/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-ripple", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-ripple", "module": "dist/polythene-css-ripple.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-search/package.json b/packages/polythene-css-search/package.json index 534e6b558..1c8c56625 100644 --- a/packages/polythene-css-search/package.json +++ b/packages/polythene-css-search/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-search", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-search", "module": "dist/polythene-css-search.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-selection-control/package.json b/packages/polythene-css-selection-control/package.json index 25ba0e37d..48b30d570 100644 --- a/packages/polythene-css-selection-control/package.json +++ b/packages/polythene-css-selection-control/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-selection-control", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-selection-control", "module": "dist/polythene-css-selection-control.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-shadow/package.json b/packages/polythene-css-shadow/package.json index 42536bcd4..fb0e1dad6 100644 --- a/packages/polythene-css-shadow/package.json +++ b/packages/polythene-css-shadow/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-shadow", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-shadow", "module": "dist/polythene-css-shadow.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-slider/package.json b/packages/polythene-css-slider/package.json index 5918a9716..b434ab309 100644 --- a/packages/polythene-css-slider/package.json +++ b/packages/polythene-css-slider/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-slider", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-slider", "module": "dist/polythene-css-slider.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-snackbar/package.json b/packages/polythene-css-snackbar/package.json index e8914a261..da4650277 100644 --- a/packages/polythene-css-snackbar/package.json +++ b/packages/polythene-css-snackbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-snackbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-snackbar", "module": "dist/polythene-css-snackbar.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-notification": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-notification": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-svg/package.json b/packages/polythene-css-svg/package.json index f016c7c09..2d93ebe3a 100644 --- a/packages/polythene-css-svg/package.json +++ b/packages/polythene-css-svg/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-svg", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-svg", "module": "dist/polythene-css-svg.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-switch/package.json b/packages/polythene-css-switch/package.json index 0b90d5c17..99eab1d3f 100644 --- a/packages/polythene-css-switch/package.json +++ b/packages/polythene-css-switch/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-switch", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-switch", "module": "dist/polythene-css-switch.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-icon-button": "1.7.4", - "polythene-css-selection-control": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-icon-button": "1.7.5", + "polythene-css-selection-control": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-tabs/package.json b/packages/polythene-css-tabs/package.json index 9b0e9b016..66957f41d 100644 --- a/packages/polythene-css-tabs/package.json +++ b/packages/polythene-css-tabs/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-tabs", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-tabs", "module": "dist/polythene-css-tabs.mjs", @@ -18,11 +18,11 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-button": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-css-icon-button": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-button": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-css-icon-button": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-textfield/package.json b/packages/polythene-css-textfield/package.json index 6ae3c4da8..6ddf7af75 100644 --- a/packages/polythene-css-textfield/package.json +++ b/packages/polythene-css-textfield/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-textfield", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-textfield", "module": "dist/polythene-css-textfield.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-toolbar/package.json b/packages/polythene-css-toolbar/package.json index c533ef9b7..4794c4ea1 100644 --- a/packages/polythene-css-toolbar/package.json +++ b/packages/polythene-css-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-toolbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-toolbar", "module": "dist/polythene-css-toolbar.mjs", @@ -18,9 +18,9 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-theme": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-theme": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css-typography/package.json b/packages/polythene-css-typography/package.json index 6897943f1..051a0105c 100644 --- a/packages/polythene-css-typography/package.json +++ b/packages/polythene-css-typography/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css-typography", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css-typography", "module": "dist/polythene-css-typography.mjs", @@ -18,10 +18,10 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-style": "1.7.4", - "polythene-theme": "1.7.4", - "polythene-utilities": "1.7.4" + "polythene-core-css": "1.7.5", + "polythene-style": "1.7.5", + "polythene-theme": "1.7.5", + "polythene-utilities": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-css/dist/polythene.css.gz b/packages/polythene-css/dist/polythene.css.gz index 6860a427e..3f96cdc47 100644 Binary files a/packages/polythene-css/dist/polythene.css.gz and b/packages/polythene-css/dist/polythene.css.gz differ diff --git a/packages/polythene-css/package.json b/packages/polythene-css/package.json index 01241de79..bc25d18af 100644 --- a/packages/polythene-css/package.json +++ b/packages/polythene-css/package.json @@ -1,6 +1,6 @@ { "name": "polythene-css", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-css", "module": "dist/polythene-css.mjs", @@ -20,39 +20,39 @@ "README.md" ], "dependencies": { - "polythene-core-css": "1.7.4", - "polythene-css-base-spinner": "1.7.4", - "polythene-css-button": "1.7.4", - "polythene-css-button-group": "1.7.4", - "polythene-css-card": "1.7.4", - "polythene-css-checkbox": "1.7.4", - "polythene-css-core": "1.7.4", - "polythene-css-dialog": "1.7.4", - "polythene-css-dialog-pane": "1.7.4", - "polythene-css-drawer": "1.7.4", - "polythene-css-fab": "1.7.4", - "polythene-css-icon": "1.7.4", - "polythene-css-icon-button": "1.7.4", - "polythene-css-ios-spinner": "1.7.4", - "polythene-css-list": "1.7.4", - "polythene-css-list-tile": "1.7.4", - "polythene-css-material-design-progress-spinner": "1.7.4", - "polythene-css-material-design-spinner": "1.7.4", - "polythene-css-menu": "1.7.4", - "polythene-css-notification": "1.7.4", - "polythene-css-radio-button": "1.7.4", - "polythene-css-ripple": "1.7.4", - "polythene-css-search": "1.7.4", - "polythene-css-selection-control": "1.7.4", - "polythene-css-shadow": "1.7.4", - "polythene-css-slider": "1.7.4", - "polythene-css-snackbar": "1.7.4", - "polythene-css-svg": "1.7.4", - "polythene-css-switch": "1.7.4", - "polythene-css-tabs": "1.7.4", - "polythene-css-textfield": "1.7.4", - "polythene-css-toolbar": "1.7.4", - "polythene-css-typography": "1.7.4", + "polythene-core-css": "1.7.5", + "polythene-css-base-spinner": "1.7.5", + "polythene-css-button": "1.7.5", + "polythene-css-button-group": "1.7.5", + "polythene-css-card": "1.7.5", + "polythene-css-checkbox": "1.7.5", + "polythene-css-core": "1.7.5", + "polythene-css-dialog": "1.7.5", + "polythene-css-dialog-pane": "1.7.5", + "polythene-css-drawer": "1.7.5", + "polythene-css-fab": "1.7.5", + "polythene-css-icon": "1.7.5", + "polythene-css-icon-button": "1.7.5", + "polythene-css-ios-spinner": "1.7.5", + "polythene-css-list": "1.7.5", + "polythene-css-list-tile": "1.7.5", + "polythene-css-material-design-progress-spinner": "1.7.5", + "polythene-css-material-design-spinner": "1.7.5", + "polythene-css-menu": "1.7.5", + "polythene-css-notification": "1.7.5", + "polythene-css-radio-button": "1.7.5", + "polythene-css-ripple": "1.7.5", + "polythene-css-search": "1.7.5", + "polythene-css-selection-control": "1.7.5", + "polythene-css-shadow": "1.7.5", + "polythene-css-slider": "1.7.5", + "polythene-css-snackbar": "1.7.5", + "polythene-css-svg": "1.7.5", + "polythene-css-switch": "1.7.5", + "polythene-css-tabs": "1.7.5", + "polythene-css-textfield": "1.7.5", + "polythene-css-toolbar": "1.7.5", + "polythene-css-typography": "1.7.5", "write-j2c": "1.0.3" }, "author": "Arthur Clemens (http://arthurclemens.com)", diff --git a/packages/polythene-mithril-base-spinner/package.json b/packages/polythene-mithril-base-spinner/package.json index ba31b497e..587bb077c 100644 --- a/packages/polythene-mithril-base-spinner/package.json +++ b/packages/polythene-mithril-base-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-base-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-base-spinner", "module": "dist/polythene-mithril-base-spinner.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-base-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core-base-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-button-group/package.json b/packages/polythene-mithril-button-group/package.json index 2281d49e1..b98e7e768 100644 --- a/packages/polythene-mithril-button-group/package.json +++ b/packages/polythene-mithril-button-group/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-button-group", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-button-group", "module": "dist/polythene-mithril-button-group.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-button-group": "1.7.4" + "polythene-core-button-group": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-button/package.json b/packages/polythene-mithril-button/package.json index a16675eb9..ffc55ea1e 100644 --- a/packages/polythene-mithril-button/package.json +++ b/packages/polythene-mithril-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-button", "module": "dist/polythene-mithril-button.mjs", @@ -18,14 +18,14 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-button": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-ripple": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core-button": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-ripple": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0", - "polythene-core": "1.7.4" + "polythene-core": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-mithril-card/package.json b/packages/polythene-mithril-card/package.json index e98ab72a3..d9414aeec 100644 --- a/packages/polythene-mithril-card/package.json +++ b/packages/polythene-mithril-card/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-card", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-card", "module": "dist/polythene-mithril-card.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-card": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-list-tile": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core-card": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-list-tile": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-checkbox/package.json b/packages/polythene-mithril-checkbox/package.json index c02c27758..b975cfcbd 100644 --- a/packages/polythene-mithril-checkbox/package.json +++ b/packages/polythene-mithril-checkbox/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-checkbox", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-checkbox", "module": "dist/polythene-mithril-checkbox.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-checkbox": "1.7.4", - "polythene-core-selection-control": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-icon-button": "1.7.4" + "polythene-core-checkbox": "1.7.5", + "polythene-core-selection-control": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-icon-button": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-dialog-pane/package.json b/packages/polythene-mithril-dialog-pane/package.json index 3828ba42f..5a6d7c585 100644 --- a/packages/polythene-mithril-dialog-pane/package.json +++ b/packages/polythene-mithril-dialog-pane/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-dialog-pane", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-dialog-pane", "module": "dist/polythene-mithril-dialog-pane.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-dialog-pane": "1.7.4" + "polythene-core-dialog-pane": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-dialog/package.json b/packages/polythene-mithril-dialog/package.json index 47323adb6..6ca0dbc2e 100644 --- a/packages/polythene-mithril-dialog/package.json +++ b/packages/polythene-mithril-dialog/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-dialog", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-dialog", "module": "dist/polythene-mithril-dialog.mjs", @@ -18,11 +18,11 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-dialog": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-dialog-pane": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-dialog": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-dialog-pane": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-drawer/package.json b/packages/polythene-mithril-drawer/package.json index d67b0472b..ea649bc6a 100644 --- a/packages/polythene-mithril-drawer/package.json +++ b/packages/polythene-mithril-drawer/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-drawer", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-drawer", "module": "dist/polythene-mithril-drawer.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-drawer": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-dialog": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-drawer": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-dialog": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-fab/package.json b/packages/polythene-mithril-fab/package.json index c0645b2e5..77213455b 100644 --- a/packages/polythene-mithril-fab/package.json +++ b/packages/polythene-mithril-fab/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-fab", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-fab", "module": "dist/polythene-mithril-fab.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-fab": "1.7.4", - "polythene-mithril-button": "1.7.4", - "polythene-mithril-icon": "1.7.4" + "polythene-core-fab": "1.7.5", + "polythene-mithril-button": "1.7.5", + "polythene-mithril-icon": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-icon-button/package.json b/packages/polythene-mithril-icon-button/package.json index c170c966a..cffcbda38 100644 --- a/packages/polythene-mithril-icon-button/package.json +++ b/packages/polythene-mithril-icon-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-icon-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-icon-button", "module": "dist/polythene-mithril-icon-button.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-icon-button": "1.7.4", - "polythene-mithril-button": "1.7.4", - "polythene-mithril-icon": "1.7.4" + "polythene-core-icon-button": "1.7.5", + "polythene-mithril-button": "1.7.5", + "polythene-mithril-icon": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-icon/package.json b/packages/polythene-mithril-icon/package.json index 24b2bd6be..c384f65b4 100644 --- a/packages/polythene-mithril-icon/package.json +++ b/packages/polythene-mithril-icon/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-icon", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-icon", "module": "dist/polythene-mithril-icon.mjs", @@ -18,8 +18,8 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-icon": "1.7.4", - "polythene-mithril-svg": "1.7.4" + "polythene-core-icon": "1.7.5", + "polythene-mithril-svg": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-ios-spinner/package.json b/packages/polythene-mithril-ios-spinner/package.json index bc6f969a1..990295e28 100644 --- a/packages/polythene-mithril-ios-spinner/package.json +++ b/packages/polythene-mithril-ios-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-ios-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-ios-spinner", "module": "dist/polythene-mithril-ios-spinner.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-ios-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-base-spinner": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-ios-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-base-spinner": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-list-tile/package.json b/packages/polythene-mithril-list-tile/package.json index 78d5b3dd4..d5484fd62 100644 --- a/packages/polythene-mithril-list-tile/package.json +++ b/packages/polythene-mithril-list-tile/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-list-tile", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-list-tile", "module": "dist/polythene-mithril-list-tile.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-list-tile": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-ripple": "1.7.4" + "polythene-core-list-tile": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-ripple": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-list/package.json b/packages/polythene-mithril-list/package.json index d20c2f133..0c6614f0f 100644 --- a/packages/polythene-mithril-list/package.json +++ b/packages/polythene-mithril-list/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-list", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-list", "module": "dist/polythene-mithril-list.mjs", @@ -18,8 +18,8 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-list": "1.7.4", - "polythene-mithril-list-tile": "1.7.4" + "polythene-core-list": "1.7.5", + "polythene-mithril-list-tile": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-material-design-progress-spinner/package.json b/packages/polythene-mithril-material-design-progress-spinner/package.json index c8ca3e9d4..bcd8dce56 100644 --- a/packages/polythene-mithril-material-design-progress-spinner/package.json +++ b/packages/polythene-mithril-material-design-progress-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-material-design-progress-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-material-design-progress-spinner", "module": "dist/polythene-mithril-material-design-progress-spinner.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-material-design-progress-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-base-spinner": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-material-design-progress-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-base-spinner": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-material-design-spinner/package.json b/packages/polythene-mithril-material-design-spinner/package.json index 5f3798021..689d053a6 100644 --- a/packages/polythene-mithril-material-design-spinner/package.json +++ b/packages/polythene-mithril-material-design-spinner/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-material-design-spinner", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-material-design-spinner", "module": "dist/polythene-mithril-material-design-spinner.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-material-design-spinner": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-base-spinner": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-material-design-spinner": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-base-spinner": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-menu/package.json b/packages/polythene-mithril-menu/package.json index e86b79bfa..a343d5e2a 100644 --- a/packages/polythene-mithril-menu/package.json +++ b/packages/polythene-mithril-menu/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-menu", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-menu", "module": "dist/polythene-mithril-menu.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-menu": "1.7.4", - "polythene-css-classes": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-menu": "1.7.5", + "polythene-css-classes": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-notification/package.json b/packages/polythene-mithril-notification/package.json index f92a2f5ec..ecae6fe46 100644 --- a/packages/polythene-mithril-notification/package.json +++ b/packages/polythene-mithril-notification/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-notification", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-notification", "module": "dist/polythene-mithril-notification.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-notification": "1.7.4", - "polythene-css-classes": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-notification": "1.7.5", + "polythene-css-classes": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-radio-button/package.json b/packages/polythene-mithril-radio-button/package.json index 7bfc6d05c..d0b2e10a4 100644 --- a/packages/polythene-mithril-radio-button/package.json +++ b/packages/polythene-mithril-radio-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-radio-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-radio-button", "module": "dist/polythene-mithril-radio-button.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-radio-button": "1.7.4", - "polythene-core-selection-control": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-icon-button": "1.7.4" + "polythene-core-radio-button": "1.7.5", + "polythene-core-selection-control": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-icon-button": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-radio-group/package.json b/packages/polythene-mithril-radio-group/package.json index 8ef3d55ec..bc38cee23 100644 --- a/packages/polythene-mithril-radio-group/package.json +++ b/packages/polythene-mithril-radio-group/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-radio-group", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-radio-group", "module": "dist/polythene-mithril-radio-group.mjs", @@ -18,8 +18,8 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-radio-group": "1.7.4", - "polythene-mithril-radio-button": "1.7.4" + "polythene-core-radio-group": "1.7.5", + "polythene-mithril-radio-button": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-raised-button/package.json b/packages/polythene-mithril-raised-button/package.json index 5f9e212ad..3bf9ccf32 100644 --- a/packages/polythene-mithril-raised-button/package.json +++ b/packages/polythene-mithril-raised-button/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-raised-button", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-raised-button", "module": "dist/polythene-mithril-raised-button.mjs", @@ -18,12 +18,12 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-mithril-button": "1.7.4" + "polythene-core": "1.7.5", + "polythene-mithril-button": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0", - "polythene-core-button": "1.7.4" + "polythene-core-button": "1.7.5" }, "author": "Arthur Clemens (http://arthurclemens.com)", "homepage": "https://github.com/ArthurClemens/polythene", diff --git a/packages/polythene-mithril-ripple/package.json b/packages/polythene-mithril-ripple/package.json index 87496ecf3..52ba96845 100644 --- a/packages/polythene-mithril-ripple/package.json +++ b/packages/polythene-mithril-ripple/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-ripple", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-ripple", "module": "dist/polythene-mithril-ripple.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-ripple": "1.7.4" + "polythene-core-ripple": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-search/package.json b/packages/polythene-mithril-search/package.json index f9631e7b1..ad51241c3 100644 --- a/packages/polythene-mithril-search/package.json +++ b/packages/polythene-mithril-search/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-search", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-search", "module": "dist/polythene-mithril-search.mjs", @@ -18,8 +18,8 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-search": "1.7.4", - "polythene-mithril-textfield": "1.7.4" + "polythene-core-search": "1.7.5", + "polythene-mithril-textfield": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-shadow/package.json b/packages/polythene-mithril-shadow/package.json index 34c584de0..4f0799801 100644 --- a/packages/polythene-mithril-shadow/package.json +++ b/packages/polythene-mithril-shadow/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-shadow", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-shadow", "module": "dist/polythene-mithril-shadow.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-shadow": "1.7.4" + "polythene-core-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-slider/package.json b/packages/polythene-mithril-slider/package.json index b74a3ea75..a438f2670 100644 --- a/packages/polythene-mithril-slider/package.json +++ b/packages/polythene-mithril-slider/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-slider", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-slider", "module": "dist/polythene-mithril-slider.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-slider": "1.7.4" + "polythene-core-slider": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-snackbar/package.json b/packages/polythene-mithril-snackbar/package.json index 36034bf54..b876a31c1 100644 --- a/packages/polythene-mithril-snackbar/package.json +++ b/packages/polythene-mithril-snackbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-snackbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-snackbar", "module": "dist/polythene-mithril-snackbar.mjs", @@ -18,9 +18,9 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core": "1.7.4", - "polythene-core-snackbar": "1.7.4", - "polythene-css-classes": "1.7.4" + "polythene-core": "1.7.5", + "polythene-core-snackbar": "1.7.5", + "polythene-css-classes": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-svg/package.json b/packages/polythene-mithril-svg/package.json index f70b66000..71e0bbf3b 100644 --- a/packages/polythene-mithril-svg/package.json +++ b/packages/polythene-mithril-svg/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-svg", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-svg", "module": "dist/polythene-mithril-svg.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-svg": "1.7.4" + "polythene-core-svg": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-switch/package.json b/packages/polythene-mithril-switch/package.json index eb11c936f..42822b189 100644 --- a/packages/polythene-mithril-switch/package.json +++ b/packages/polythene-mithril-switch/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-switch", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-switch", "module": "dist/polythene-mithril-switch.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-selection-control": "1.7.4", - "polythene-core-switch": "1.7.4", - "polythene-mithril-icon-button": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core-selection-control": "1.7.5", + "polythene-core-switch": "1.7.5", + "polythene-mithril-icon-button": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-tabs/package.json b/packages/polythene-mithril-tabs/package.json index c865c7d7f..b4caf878c 100644 --- a/packages/polythene-mithril-tabs/package.json +++ b/packages/polythene-mithril-tabs/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-tabs", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-tabs", "module": "dist/polythene-mithril-tabs.mjs", @@ -18,10 +18,10 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-tabs": "1.7.4", - "polythene-mithril-button": "1.7.4", - "polythene-mithril-icon": "1.7.4", - "polythene-mithril-icon-button": "1.7.4" + "polythene-core-tabs": "1.7.5", + "polythene-mithril-button": "1.7.5", + "polythene-mithril-icon": "1.7.5", + "polythene-mithril-icon-button": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-textfield/package.json b/packages/polythene-mithril-textfield/package.json index eba9cbf65..18d2c3c52 100644 --- a/packages/polythene-mithril-textfield/package.json +++ b/packages/polythene-mithril-textfield/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-textfield", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-textfield", "module": "dist/polythene-mithril-textfield.mjs", @@ -18,7 +18,7 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-textfield": "1.7.4" + "polythene-core-textfield": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril-toolbar/package.json b/packages/polythene-mithril-toolbar/package.json index 31a28bd76..3b2ec2031 100644 --- a/packages/polythene-mithril-toolbar/package.json +++ b/packages/polythene-mithril-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "polythene-mithril-toolbar", - "version": "1.7.4", + "version": "1.7.5", "description": "", "main": "dist/polythene-mithril-toolbar", "module": "dist/polythene-mithril-toolbar.mjs", @@ -18,8 +18,8 @@ ], "dependencies": { "cyano-mithril": "^0.6.2", - "polythene-core-toolbar": "1.7.4", - "polythene-mithril-shadow": "1.7.4" + "polythene-core-toolbar": "1.7.5", + "polythene-mithril-shadow": "1.7.5" }, "devDependencies": { "@types/mithril": "^2.0.0" diff --git a/packages/polythene-mithril/dist/polythene-mithril-standalone.js b/packages/polythene-mithril/dist/polythene-mithril-standalone.js index ef5dbebce..9ea8a8ed4 100644 --- a/packages/polythene-mithril/dist/polythene-mithril-standalone.js +++ b/packages/polythene-mithril/dist/polythene-mithril-standalone.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("mithril")):"function"==typeof define&&define.amd?define(["exports","mithril"],t):t((e=e||self).polythene={},e.m)}(this,(function(e,t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}t=t&&t.hasOwnProperty("default")?t.default:t;var d="hidden",p="visible",f="exposing",_="hiding",h=function(e){var t=e.h,n=e.useState,r=e.useEffect,o=s(e,["h","useState","useEffect"]),i=u(n(o.permanent||o.permanent||o.show?p:d),2),a=i[0],l=i[1];r((function(){var e=a;o.permanent?a===p&&o.show?e=f:a!==f||o.show||(e=_):a===d&&o.show?e=p:a!==p||o.show||(e=_),e!==a&&l(e)}),[o]);var h=t("span",{className:o.placeholderClassName});return o.didHide?a!==d?t(o.instance,c({},o,{didHide:function(e){return o.didHide(e),l(o.permanent?p:d)}},a===_?{show:!0,hide:!0}:void 0)):h:o.permanent||o.inactive||o.show?t(o.instance,o):h},m=function(e,t){return e[t]=1,e},g=["key","style","href","id","data-index","tabIndex","tabindex","oninit","oncreate","onupdate","onbeforeremove","onremove","onbeforeupdate"],b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.add,r=t.remove,o=r?r.reduce(m,{}):{},i=n?g.concat(n):g,a=i.filter((function(e){return!o[e]})).reduce(m,{});return Object.keys(e).reduce((function(t,n){return a[n]&&(t[n]=e[n]),t}),{})},y=function(e){return"function"==typeof e?e():e},v=function(e){return{small:e.small,regular:e.regular,medium:e.medium,large:e.large,fab:e.fab}},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"regular";return v(e)[t]},x="undefined"!=typeof document,k=!x,O={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"},j=function(e){var t=e.element,n=e.selector,r=e.pseudoSelector,o=e.prop,i=n?t.querySelector(n):t;if(i){if(i.currentStyle)return i.currentStyle;if(window.getComputedStyle){var a=document.defaultView;if(a){var l=a.getComputedStyle(i,r);if(l)return l.getPropertyValue(o)}}}},S=function(e){var t=e.element,n=e.selector,r=e.pseudoSelector,o=e.prop,i=e.equals,a=e.contains,l=n?t.querySelector(n):t;if(!l)return!1;var c=document.defaultView;if(c){if(void 0!==i)return i===c.getComputedStyle(l,r).getPropertyValue(o);if(void 0!==a)return-1!==c.getComputedStyle(l,r).getPropertyValue(o).indexOf(a)}return!1},P=function(e){var t=parseFloat(e)*(-1===e.indexOf("ms")?1e3:1);return isNaN(t)?0:t},z=!k&&"ontouchstart"in document.documentElement,N=z?["click","mouseup"]:["mouseup"],I=z?["touchstart","mousedown"]:["mousedown"],E=z?["touchmove","mousemove"]:["mousemove"],C=z?["touchend","mouseup"]:["mouseup"];if(x){var R=document.querySelector("html");R&&R.classList.add(z?"pe-touch":"pe-no-touch")}var D={},T=function(e,t,n){D[e]=D[e]||[],D[e].push(n?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.05,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x?window:{},r=!1;return function(){for(var o=arguments.length,i=new Array(o),a=0;a-1&&D[e].splice(n,1)}},A=function(e,t){D[e]&&D[e].forEach((function(e){return e(t)}))};x&&(window.addEventListener("resize",(function(e){return A("resize",e)})),window.addEventListener("scroll",(function(e){return A("scroll",e)})),window.addEventListener("keydown",(function(e){return A("keydown",e)})),N.forEach((function(e){return window.addEventListener(e,(function(t){return A(e,t)}))})));var q=function(e){var t=e.options,n=[],r=function(e){A(t.name,e)},o=function(e){var t=l(e);return n.indexOf(t)},i=function(e){var t=o(e);-1!==t&&(n.splice(t,1),r({id:e,name:"removeItem"}))},a=function(e,t){var r=o(e);-1!==r&&(n[r]=t)},l=function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:t.defaultId;t.queue?(n.shift(),d()):i(e)},f=function(e,t){var n=l(t);n&&(n.pause=e,n.unpause=!e,r({id:t,name:e?"pause":"unpause"}))},_=function(e,n,o){var i,a,l=y(e),s=new Promise((function(e){return i=e})),u=new Promise((function(e){return a=e}));return c({},t,{instanceId:n,spawn:o,props:e,show:!t.queue,showPromise:s,hidePromise:u,didShow:function(){return l.didShow&&l.didShow(n),r({id:n,name:"didShow"}),i(n)},didHide:function(){return l.didHide&&l.didHide(n),r({id:n,name:"didHide"}),p(n),a(n)}})},h=function(){n.length=0,r({id:null,name:"removeAll"})};return{clear:h,count:function(){return n.length},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e.id||t.defaultId,i=t.queue&&n.length?n[0]:l(o);return i&&(i.hide=!0),r({id:o,name:"hide"}),i?i.hidePromise:Promise.resolve(o)},pause:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.defaultId;return f(!0,e)},remove:p,show:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o.id||t.defaultId,c=o.spawn||t.defaultId,s=_(e,i,c);if(r({id:i,name:"show"}),t.queue)n.push(s),1===n.length&&d();else{var u=l(i);u?a(i,s):n.push(s)}return s.showPromise},unpause:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.defaultId;return f(!1,e)},render:function(e){var r=e.h,o=e.useState,i=e.useEffect,a=s(e,["h","useState","useEffect"]),l=u(o(),2)[1];i((function(){return T(t.name,l),function(){F(t.name,l)}}),[]);var d=a.spawn||t.defaultId,p=n.filter((function(e){return e.show&&e.spawn===d}));return t.htmlShowClass&&x&&document.documentElement&&document.documentElement.classList[p.length?"add":"remove"](t.htmlShowClass),p.length?r(t.holderSelector,{className:"container"===a.position?"pe-multiple--container":"pe-multiple--screen"},p.map((function(e){return r(t.instance,c({},y(a),{fromMultipleClear:h,spawnId:d,fromMultipleClassName:t.className,holderSelector:t.holderSelector,transitions:t.transitions,fromMultipleDidHide:e.didHide,fromMultipleDidShow:e.didShow,hide:e.hide,instanceId:e.instanceId,key:void 0!==e.key?e.key:e.keyId,pause:e.pause,show:e.show,unpause:e.unpause},y(e.props)))}))):r(t.placeholder)}}};q.displayName="Multi";var L="show",B="hide",M="show-done",H="hide-done",W={isVisible:!1,isTransitioning:!1},V=function(e,t){switch(t){case L:return c({},e,{isTransitioning:!0,isVisible:!0});case B:return c({},e,{isTransitioning:!0});case M:return c({},e,{isTransitioning:!1,isVisible:!0});case H:return c({},e,{isTransitioning:!1,isVisible:!1});default:throw new Error("Unhandled action type: ".concat(t))}},J=function(e){return Z(e,"show")},$=function(e){return Z(e,"hide")},Z=function(e,t){var n=e.el;return n?new Promise((function(r){var o=n.style,i=x?window.getComputedStyle(n):{},a=e.hasDuration&&void 0!==e.duration?1e3*e.duration:P(i.transitionDuration),l=e.hasDelay&&void 0!==e.delay?1e3*e.delay:P(i.transitionDelay),c=e.timingFunction||i.transitionTimingFunction;e.transitionClass&&n.classList.add(e.transitionClass);var s=function(){o.transitionDuration="0ms",o.transitionDelay="0ms",e.before&&"function"==typeof e.before&&e.before()},u=e.before&&"show"===t||e.before&&"hide"===t?s:null,d=function(){e.after&&"function"==typeof e.after&&e.after()},p=function(){!function(){(o.transitionDuration=a+"ms",o.transitionDelay=l+"ms",c&&(o.transitionTimingFunction=c),e.showClass)&&(e.showClassElement||n).classList["show"===t?"add":"remove"](e.showClass);e.transition&&e.transition()}(),setTimeout((function(){d&&d(),e.transitionClass&&(n.classList.remove(e.transitionClass),n.offsetHeight),r()}),a+l)},f=function(){0===a?p():setTimeout(p,0)};u?(u(),n.offsetHeight,setTimeout((function(){f()}),0)):f()})):Promise.resolve()},G=function(e){var t=e.dispatchTransitionState,n=e.isTransitioning,r=e.instanceId,o=e.isShow,i=e.props,a=e.domElements,l=e.beforeTransition,s=e.afterTransition,u=e.showClass,d=e.transitionClass;e.referrer;if(n)return Promise.resolve();t(o?L:B),l&&l();var p=o?i.showDuration:i.hideDuration,f=o?i.showDelay:i.hideDelay,_=o?i.showTimingFunction:i.hideTimingFunction,h=i.transitions,m=o?J:$,g=c({},i,{},a,{showClass:u,transitionClass:d,duration:p,delay:f,timingFunction:_}),b=c({},g,{},h?(o?h.show:h.hide)(g):void 0);return m(c({},b,{},{duration:void 0!==b.duration?b.duration:.24,hasDuration:void 0!==b.duration,delay:void 0!==b.delay?b.delay:0,hasDelay:void 0!==b.delay})).then((function(){var e=r;s&&s(),(o?i.fromMultipleDidShow:i.fromMultipleDidHide)?(o?i.fromMultipleDidShow:i.fromMultipleDidHide)(e):(o?i.didShow:i.didHide)&&(o?i.didShow:i.didHide)(e),t(o?M:H)}))};function X(){return(X=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Q={component:"pe-shadow",bottomShadow:"pe-shadow__bottom",topShadow:"pe-shadow__top",animated:"pe-shadow--animated",depth_n:"pe-shadow--depth-",with_active_shadow:"pe-with-active-shadow"},U=function(e){return void 0!==e?"".concat(Q.depth_n).concat(Math.min(5,e)):1};function K(e){return(K="function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?function(e){return n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)})(e)}function ee(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function te(){return(te=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function oe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var ie={component:"pe-text-button",super:"pe-button",row:"pe-button-row",content:"pe-button__content",label:"pe-button__label",textLabel:"pe-button__text-label",wash:"pe-button__wash",washColor:"pe-button__wash-color",dropdown:"pe-button__dropdown",border:"pe-button--border",contained:"pe-button--contained",disabled:"pe-button--disabled",dropdownClosed:"pe-button--dropdown-closed",dropdownOpen:"pe-button--dropdown-open",extraWide:"pe-button--extra-wide",hasDropdown:"pe-button--dropdown",highLabel:"pe-button--high-label",inactive:"pe-button--inactive",raised:"pe-button--raised",selected:"pe-button--selected",separatorAtStart:"pe-button--separator-start",hasHover:"pe-button--has-hover"},ae="pe-with-active-shadow",le={grid_unit:4,grid_unit_component:8,increment:56,increment_large:64,grid_unit_menu:56,grid_unit_icon_button:48,unit_block_border_radius:4,unit_item_border_radius:4,unit_indent:72,unit_indent_large:80,unit_side_padding:16,unit_touch_height:48,unit_icon_size_small:16,unit_icon_size:24,unit_icon_size_medium:32,unit_icon_size_large:40,unit_screen_size_extra_large:1280,unit_screen_size_large:960,unit_screen_size_medium:480,unit_screen_size_small:320,animation_duration:".18s",animation_curve_slow_in_fast_out:"cubic-bezier(.4, 0, .2, 1)",animation_curve_slow_in_linear_out:"cubic-bezier(0, 0, .2, 1)",animation_curve_linear_in_fast_out:"cubic-bezier(.4, 0, 1, 1)",animation_curve_default:"ease-out",font_weight_light:300,font_weight_normal:400,font_weight_medium:500,font_weight_bold:700,font_size_title:20,line_height:1.5,color_primary:"33, 150, 243",color_primary_active:"30, 136, 229",color_primary_dark:"25, 118, 210",color_primary_faded:"100, 181, 249",color_primary_foreground:"255, 255, 255",color_light_background:"255, 255, 255",color_light_foreground:"0, 0, 0",color_dark_background:"34, 34, 34",color_dark_foreground:"255, 255, 255",blend_light_text_primary:.87,blend_light_text_regular:.73,blend_light_text_secondary:.54,blend_light_text_tertiary:.4,blend_light_text_disabled:.26,blend_light_border_medium:.24,blend_light_border_light:.11,blend_light_background_active:.14,blend_light_background_hover:.06,blend_light_background_hover_medium:.12,blend_light_background_disabled:.09,blend_light_overlay_background:.3,blend_dark_text_primary:1,blend_dark_text_regular:.87,blend_dark_text_secondary:.7,blend_dark_text_tertiary:.4,blend_dark_text_disabled:.26,blend_dark_border_medium:.22,blend_dark_border_light:.1,blend_dark_background_active:.14,blend_dark_background_hover:.08,blend_dark_background_hoverMedium:.12,blend_dark_background_disabled:.12,blend_dark_overlay_background:.3,breakpoint_for_phone_only:599,breakpoint_for_tablet_portrait_up:600,breakpoint_for_tablet_landscape_up:840,breakpoint_for_desktop_up:1280,breakpoint_for_big_desktop_up:1600,breakpoint_for_tv_up:1920,z_toolbar:100,z_menu:1e3,z_app_bar:2e3,z_drawer:3e3,z_notification:5e3,z_dialog:7e3};function ce(){return(ce=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var de,pe=function(){if(x){var e=document.createElement("fakeelement");for(var t in O){if(void 0!==e.style[t])return O[t]}}}(),fe=function(e){var t=e.e,n=e.id,r=e.el,o=e.props,i=e.classes;return new Promise((function(e){var a=document.createElement("div");a.setAttribute("class",i.mask),r.appendChild(a);var l=document.createElement("div");l.setAttribute("class",i.waves),a.appendChild(l);var c=r.getBoundingClientRect(),s=z&&t.touches?t.touches[0].pageX:t.clientX,u=z&&t.touches?t.touches[0].pageY:t.clientY,d=r.offsetWidth,p=r.offsetHeight,f=Math.sqrt(d*d+p*p),_=o.center?c.left+c.width/2:s,h=o.center?c.top+c.height/2:u,m=_-c.left-f/2,g=h-c.top-f/2,b=void 0!==o.startOpacity?o.startOpacity:.2,y=void 0!==o.opacityDecayVelocity?o.opacityDecayVelocity:.35,v=o.endOpacity||0,w=o.startScale||.1,x=o.endScale||2,O=o.duration?o.duration:1/y*.2,j=window.getComputedStyle(r).color,S=l.style;S.width=S.height=f+"px",S.top=g+"px",S.left=m+"px",S["animation-duration"]=S["-webkit-animation-duration"]=S["-moz-animation-duration"]=S["-o-animation-duration"]=O+"s",S.backgroundColor=j,S.opacity=b,S.animationName=n,S.animationTimingFunction=o.animationTimingFunction||le.animation_curve_default;var P="@keyframes ".concat(n," {\n 0% {\n transform:scale(").concat(w,");\n opacity: ").concat(b,"\n }\n 100% {\n transform:scale(").concat(x,");\n opacity: ").concat(v,";\n }\n }");!function(e,t){if(!k){var n=window.document,r=n.createElement("style");r.setAttribute("id",e),r.appendChild(n.createTextNode(t)),n.head.appendChild(r)}}(n,P);l.addEventListener(pe,(function t(c){!function(e){if(!k){var t=document.getElementById(e);t&&t.parentNode&&t.parentNode.removeChild(t)}}(n),l.removeEventListener(pe,t,!1),o.persistent?(S.opacity=v,S.transform="scale("+x+")"):(l.classList.remove(i.wavesAnimating),a.removeChild(l),r.removeChild(a)),e(c)}),!1),l.classList.add(i.wavesAnimating)}))},_e={component:"pe-ripple",mask:"pe-ripple__mask",waves:"pe-ripple__waves",unconstrained:"pe-ripple--unconstrained",wavesAnimating:"pe-ripple__waves--animating"};function he(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ge=Function.prototype.call.bind(Function.prototype.call),be=function(){return t.redraw()},ye=function(e){var t=de,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},ve=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=de,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&be()},r]},we=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=de;if(ye(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",be))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),xe={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ke=t||{},Oe=ke.trust;ke.trust=function(e,n){return n?t(n,Oe(e)):Oe(e)},ke.displayName="mithril",ke.fragment=t.fragment;var je=function(e,t){var n=function(e){var t=de;de=e.state;try{e.state.updates.forEach(ge)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),de=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=de;de=n.state;try{return e(function(e){for(var t=1;t0)){l.start&&l.start(e);var t="ripple_animation_".concat((new Date).getTime());fe({e:e,id:t,el:s,props:l,classes:_e}).then((function(e){l.end&&l.end(e),d.current--})),d.current++}};a((function(){d.current=0}),[]),a((function(){if(p&&p.addEventListener)return N.forEach((function(e){return p.addEventListener(e,f,!1)})),function(){N.forEach((function(e){return p.removeEventListener(e,f,!1)}))}}),[p]);var _=ce({},b(l),r((function(e){return e&&!s&&u(e)})),l.testId&&{"data-test-id":l.testId},{className:[_e.component,l.unconstrained?_e.unconstrained:null,"dark"===l.tone?"pe-dark-tone":null,"light"===l.tone?"pe-light-tone":null,l.className||l[n.class]].join(" ")}),h=[l.before,l.after];return t(l.element||"div",_,h)}),{h:ke,a:xe,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useRef:function(e){return o(ve({current:e}),1)[0]},useState:function(e){var t=de;return ve(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:we});function Se(){return(Se=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}je.displayName="Ripple";var ze={component:"pe-icon",avatar:"pe-icon--avatar",large:"pe-icon--large",medium:"pe-icon--medium",regular:"pe-icon--regular",small:"pe-icon--small"};function Ne(){return(Ne=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ee(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ce,Re={component:"pe-svg"};function De(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Fe=Function.prototype.call.bind(Function.prototype.call),Ae=function(){return t.redraw()},qe=function(e){var t=Ce,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ce;if(qe(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ae))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Be={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Me=t||{},He=Me.trust;Me.trust=function(e,n){return n?t(n,He(e)):He(e)},Me.displayName="mithril",Me.fragment=t.fragment;var We,Ve=function(e,t){var n=function(e){var t=Ce;Ce=e.state;try{e.state.updates.forEach(Fe)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ce=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ce;Ce=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ce,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ae()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});function Je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Ze=Function.prototype.call.bind(Function.prototype.call),Ge={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Xe=t||{},Ye=Xe.trust;Xe.trust=function(e,n){return n?t(n,Ye(e)):Ye(e)},Xe.displayName="mithril",Xe.fragment=t.fragment;var Qe,Ue=function(e,t){var n=function(e){var t=We;We=e.state;try{e.state.updates.forEach(Ze)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),We=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=We;We=n.state;try{return e(function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},pt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=it,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ut()},r]},ft=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=it;if(dt(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ut))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),_t={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ht=t||{},mt=ht.trust;ht.trust=function(e,n){return n?t(n,mt(e)):mt(e)},ht.displayName="mithril",ht.fragment=t.fragment;var gt,bt=function(e,t){var n=function(e){var t=it;it=e.state;try{e.state.updates.forEach(st)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),it=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=it;it=n.state;try{return e(function(e){for(var t=1;t')}}):null]);return n(s.element||"a",S,[s.before,N,s.after])}),{h:ht,a:_t,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useState:function(e){var t=it;return pt(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:ft,useRef:function(e){return o(pt({current:e}),1)[0]},Ripple:je,Shadow:at,Icon:Ue});function yt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var wt=Function.prototype.call.bind(Function.prototype.call),xt={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},kt=t||{},Ot=kt.trust;function jt(){return(jt=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}kt.trust=function(e,n){return n?t(n,Ot(e)):Ot(e)},kt.displayName="mithril",kt.fragment=t.fragment;var Pt={component:"pe-button-group"},zt=function(e,t){var n=function(e){var t=gt;gt=e.state;try{e.state.updates.forEach(wt)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),gt=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=gt;gt=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Ct(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:"regular";return Ft[e]},qt="pe-button-row",Lt={horizontal:Dt.actionsHorizontal,vertical:Dt.actionsVertical,justified:Dt.actionsJustified},Bt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"horizontal";return Lt[e]};function Mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Wt=Function.prototype.call.bind(Function.prototype.call),Vt=function(){return t.redraw()},Jt=function(e){var t=Rt,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},$t=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Rt;if(Jt(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Vt))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Zt={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Gt=t||{},Xt=Gt.trust;Gt.trust=function(e,n){return n?t(n,Xt(e)):Xt(e)},Gt.displayName="mithril",Gt.fragment=t.fragment;var Yt=function(e,t){var n=function(e){var t=Rt;Rt=e.state;try{e.state.updates.forEach(Wt)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Rt=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Rt;Rt=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var en,tn={component:"pe-list-tile",content:"pe-list-tile__content",highSubtitle:"pe-list-tile__high-subtitle",primary:"pe-list-tile__primary",secondary:"pe-list-tile__secondary",subtitle:"pe-list-tile__subtitle",title:"pe-list-tile__title",contentFront:"pe-list-tile__content-front",compact:"pe-list-tile--compact",compactFront:"pe-list-tile--compact-front",disabled:"pe-list-tile--disabled",hasFront:"pe-list-tile--front",hasHighSubtitle:"pe-list-tile--high-subtitle",hasSubtitle:"pe-list-tile--subtitle",header:"pe-list-tile--header",hoverable:"pe-list-tile--hoverable",insetH:"pe-list-tile--inset-h",insetV:"pe-list-tile--inset-v",selectable:"pe-list-tile--selectable",selected:"pe-list-tile--selected",rounded:"pe-list-tile--rounded",highlight:"pe-list-tile--highlight",sticky:"pe-list-tile--sticky",navigation:"pe-list-tile--navigation"},nn=function(e){var t=e.h,n=e.a,r=e.props,o=r.keyboardControl?null:r.url,i=r.element?r.element:o?"a":"div",a=[tn.content,tn.contentFront,r.compactFront?tn.compactFront:null].join(" "),l=r.front||r.indent?t("div",Ut({},{className:a}),r.front):null,c=!r.header&&r.url,s=Ut({},b(r),r.events,{className:tn.primary,style:null},c&&Qt({},n.tabindex,r[n.tabindex]||0),o),u=r.content?r.content:[l,t("div",{className:tn.content,style:r.style},[r.title&&!r.content?t("div",Ut({},{className:tn.title}),r.title):null,r.subtitle?t("div",Ut({},{className:tn.subtitle}),r.subtitle):null,r.highSubtitle?t("div",Ut({},{className:tn.subtitle+" "+tn.highSubtitle}),r.highSubtitle):null,r.subContent?t("div",Ut({},{className:tn.subContent}),r.subContent):null,r.children])];return t(i,s,u)},rn=function(e){var t=e.h,n=e.a,r=e.Icon,o=e.props,i=void 0===o?{}:o,a=i.keyboardControl?null:i.url,l=i.element?i.element:a?"a":"div",c=i.url;return t(l,Ut({},a,{className:tn.secondary},i.events,b(i),c&&Qt({},n.tabindex,i[n.tabindex]||0)),t("div",{className:tn.content},[i.icon?t(r,i.icon):null,i.content?i.content:null]))};function on(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ln=Function.prototype.call.bind(Function.prototype.call),cn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},sn=t||{},un=sn.trust;sn.trust=function(e,n){return n?t(n,un(e)):un(e)},sn.displayName="mithril",sn.fragment=t.fragment;var dn=function(e,t){var n=function(e){var t=en;en=e.state;try{e.state.updates.forEach(ln)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),en=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=en;en=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Rt,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Vt()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:$t,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});fn.displayName="CardMedia";var _n=Yt((function(e){var t=e.h,n=e.a,r=It(e,["h","a"]),o=Array.isArray(r.content)?r.content.reduce((function(e,t){return"media"===Object.keys(t)[0]||e}),!1):r.media||!1,i=Nt({},b(r),r.testId&&{"data-test-id":r.testId},{className:[Dt.primary,r.tight?Dt.primaryTight:null,o?Dt.primaryHasMedia:null,r.className||r[n.class]].join(" ")},r.events),a=r.dispatcher,l={title:function(e){return e.attrs||e.props?e||e.props:t("div",{className:Dt.title,style:e.style},[e.title,e.subtitle?t("div",{className:Dt.subtitle},e.subtitle):null])},media:function(e){return t("div",{className:Dt.primaryMedia,style:e.style},a({media:e}))},actions:function(e){return a({actions:e})}},c=Array.isArray(r.content)?r.content.map((function(e){var t=Object.keys(e)[0],n=e[t];return l[t]?l[t](n):e})):[r.title?l.title({title:r.title,subtitle:r.subtitle}):null,r.media?l.media(r.media):null,r.actions?l.actions(r.actions):null,r.content];return t(r.element||"div",i,c)}),{h:Gt,a:Zt});_n.displayName="CardPrimary";var hn=Yt((function(e){var t=e.h,n=e.a,r=e.CardActions,o=e.CardMedia,i=e.CardPrimary,a=e.Icon,l=e.ListTile,c=e.Shadow,s=It(e,["h","a","CardActions","CardMedia","CardPrimary","Icon","ListTile","Shadow"]),u=Nt({},b(s),s.testId&&{"data-test-id":s.testId},{className:[Dt.component,"dark"===s.tone?"pe-dark-tone":null,"light"===s.tone?"pe-light-tone":null,s.className||s[n.class]].join(" ")},s.url,s.events),d=Array.isArray(s.content)?s.content.map((function e(c){var s=Object.keys(c)[0],u=Nt({},c[s],{dispatcher:e,key:void 0});switch(s){case"actions":return t(r,u);case"header":return function(e){var t=e.props,n=e.h,r=e.a,o=e.Icon;return n(e.ListTile,Nt({},t,{className:[Dt.header,t.className||t[r.class]].join(" ")},t.icon?{front:n(o,t.icon)}:null))}({props:u,h:t,a:n,Icon:a,ListTile:l});case"media":return t(o,u);case"overlay":return function(e){var t=e.dispatcher,n=e.props,r=e.h,o=e.a,i=n.element||"div",a=n.content.map(t);return r("div",{style:n.style,className:[Dt.overlay,n.sheet?Dt.overlaySheet:null,"light"===n.tone?null:"pe-dark-tone","light"===n.tone?"pe-light-tone":null].join(" ")},[r(i,{className:[Dt.overlayContent,n.className||n[o.class]].join(" ")},a),r("div",{className:Dt.mediaDimmer})])}({dispatcher:e,props:u,h:t,a:n});case"primary":return t(i,u);case"text":return function(e){var t=e.props,n=e.h,r=e.a;return n(t.element||"div",Nt({},b(t),{className:[Dt.text,t.tight?Dt.textTight:null,t.className||t[r.class]].join(" ")},t.events),t.content)}({props:u,h:t,a:n});case"any":return function(e){var t=e.props,n=e.h,r=e.a;return n(t.element||"div",Nt({},b(t),{className:[Dt.any,t.tight?Dt.textTight:null,t.className||t[r.class]].join(" ")}),t.content)}({props:u,h:t,a:n});default:throw'Content type "'.concat(s,'" does not exist')}})):[s.content],p=[s.before].concat(Ct(d),[s.after]),f=void 0!==s.shadowDepth?s.shadowDepth:s.z,_=[t(c,{shadowDepth:void 0!==f?f:1,animated:!0}),t("div",{className:Dt.content},p),s.children],h=s.element||s.url?"a":"div";return t(h,u,_)}),{h:Gt,a:Zt,CardActions:pn,CardMedia:fn,CardPrimary:_n,Icon:Ue,ListTile:dn,Shadow:at});function mn(){return(mn=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}hn.displayName="Card";var bn="pe-checkbox-control",yn={iconOff:'',iconOn:''};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wn(){return(wn=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function kn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var On,jn={component:"pe-control",formLabel:"pe-control__form-label",input:"pe-control__input",label:"pe-control__label",disabled:"pe-control--disabled",inactive:"pe-control--inactive",large:"pe-control--large",medium:"pe-control--medium",off:"pe-control--off",on:"pe-control--on",regular:"pe-control--regular",small:"pe-control--small",box:"pe-control__box",button:"pe-control__button",buttonOff:"pe-control__button--off",buttonOn:"pe-control__button--on"},Sn=function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.ViewControl,a=xn(e,["h","a","useState","useEffect","ViewControl"]);delete a.key;var l=kn(r(void 0!==a.defaultChecked?a.defaultChecked:a.checked||!1),2),c=l[0],s=l[1],u=kn(r(a.selectable),2),d=u[0],p=u[1],f=void 0!==a.checked?a.checked:c,_=a.disabled||!d;o((function(){var e=void 0!==a.selectable&&a.selectable(f);e!==d&&p(e)}),[a.selectable,f]);var h=function(e,t){a.onChange&&a.onChange({event:e,checked:t,value:a.value})},m=a.events&&a.events[n.onclick],g=a.events&&a.events[n.onkeydown]?a.events[n.onkeydown]:function(e){"Enter"!==e.key&&32!==e.keyCode||(e.preventDefault(),m?m(e):function(e){var t=!f;s(t),h(e,t)}(e))},y=wn({},b(a,{remove:["style"]}),a.testId&&{"data-test-id":a.testId},{className:[jn.component,a.instanceClass,f?jn.on:jn.off,a.disabled?jn.disabled:null,_?jn.inactive:null,w(jn,a.size),"dark"===a.tone?"pe-dark-tone":null,"light"===a.tone?"pe-light-tone":null,a.className||a[n.class]].join(" ")}),v=t("label",wn({},{className:jn.formLabel},m&&vn({},n.onclick,(function(e){return e.preventDefault(),m(e)}))),[a.before,t(i,wn({},a,{inactive:_,checked:f,events:vn({},n.onkeydown,g)})),a.label?t(".".concat(jn.label),a.label):null,t("input",wn({},a.events,{name:a.name,type:a.type,value:a.value,checked:f},a.disabled||_?vn({},n.readonly,"readonly"):vn({},n.onchange,(function(e){var t=e.currentTarget.checked;"radio"===a.type||s(t),h(e,t)})))),a.after]);return t(a.element||"div",y,v)},Pn=[{iconType:"iconOn",className:jn.buttonOn},{iconType:"iconOff",className:jn.buttonOff}],zn=function(e){var t=e.h,n=e.Icon,r=e.IconButton,o=xn(e,["h","Icon","IconButton"]),i=o.element||".".concat(jn.box),a=t(r,wn({},{element:"div",className:jn.button,style:o.style,content:Pn.map((function(e){return t(n,function(e,t,n,r){return wn({},{className:r},n[t]?n[t]:{svg:{content:e.trust(n.icons[t])}},n.icon,n.size?{size:n.size}:null)}(t,e.iconType,o,e.className))})),ripple:{center:!0},disabled:o.disabled,events:o.events,inactive:o.inactive},o.iconButton));return t(i,null,a)};function Nn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function In(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var En=Function.prototype.call.bind(Function.prototype.call),Cn=function(){return t.redraw()},Rn=function(e){var t=On,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Dn=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=On;if(Rn(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Cn))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Tn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Fn=t||{},An=Fn.trust;Fn.trust=function(e,n){return n?t(n,An(e)):An(e)},Fn.displayName="mithril",Fn.fragment=t.fragment;var qn=function(e,t){var n=function(e){var t=On;On=e.state;try{e.state.updates.forEach(En)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),On=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=On;On=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Mn,Hn="pe-button pe-icon-button",Wn="pe-icon-button__content",Vn="pe-icon-button__label",Jn="pe-icon-button--compact";function $n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Gn=Function.prototype.call.bind(Function.prototype.call),Xn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Yn=t||{},Qn=Yn.trust;Yn.trust=function(e,n){return n?t(n,Qn(e)):Qn(e)},Yn.displayName="mithril",Yn.fragment=t.fragment;var Un=function(e,t){var n=function(e){var t=Mn;Mn=e.state;try{e.state.updates.forEach(Gn)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Mn=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Mn;Mn=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=On,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Cn()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Dn,ViewControl:Kn});er.displayName="SelectionControl";var tr,nr=qn((function(e){var t=e.h,n=e.SelectionControl,r=gn(e,["h","SelectionControl"]);return t(n,mn({},r,{icons:yn,selectable:r.selectable||function(){return!0},instanceClass:bn,type:"checkbox"}))}),{h:Fn,a:Tn,SelectionControl:er});function rr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}nr.displayName="Checkbox";var ir=Function.prototype.call.bind(Function.prototype.call),ar=function(){return t.redraw()},lr=function(e){var t=tr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},cr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=tr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ar()},r]},sr=function(e){var t=tr;return cr(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},ur=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=tr;if(lr(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ar))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),dr={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},pr=t||{},fr=pr.trust;pr.trust=function(e,n){return n?t(n,fr(e)):fr(e)},pr.displayName="mithril",pr.fragment=t.fragment;var _r=function(e,t){var n=function(e){var t=tr;tr=e.state;try{e.state.updates.forEach(ir)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),tr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=tr;tr=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var br={component:"pe-dialog",placeholder:"pe-dialog__placeholder",holder:"pe-dialog__holder",content:"pe-dialog__content",backdrop:"pe-dialog__backdrop",touch:"pe-dialog__touch",fullScreen:"pe-dialog--full-screen",modal:"pe-dialog--modal",open:"pe-dialog--open",visible:"pe-dialog--visible",showBackdrop:"pe-dialog--backdrop",transition:"pe-dialog--transition",menuContent:"pe-menu__content"},yr=".".concat(br.component);function vr(){return(vr=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function xr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var kr,Or={component:"pe-dialog-pane",actions:"pe-dialog-pane__actions",body:"pe-dialog-pane__body",content:"pe-dialog-pane__content",footer:"pe-dialog-pane__footer",header:"pe-dialog-pane__header",title:"pe-dialog-pane__title",withHeader:"pe-dialog-pane--header",withFooter:"pe-dialog-pane--footer",headerWithTitle:"pe-dialog-pane__header--title",footerWithButtons:"pe-dialog-pane__footer--buttons",footerHigh:"pe-dialog-pane__footer--high",borderBottom:"pe-dialog-pane--border-bottom",borderTop:"pe-dialog-pane--border-top",fullBleed:"pe-dialog-pane--body-full-bleed"},jr={component:"pe-text-button",super:"pe-button",row:"pe-button-row",content:"pe-button__content",label:"pe-button__label",textLabel:"pe-button__text-label",wash:"pe-button__wash",washColor:"pe-button__wash-color",dropdown:"pe-button__dropdown",border:"pe-button--border",contained:"pe-button--contained",disabled:"pe-button--disabled",dropdownClosed:"pe-button--dropdown-closed",dropdownOpen:"pe-button--dropdown-open",extraWide:"pe-button--extra-wide",hasDropdown:"pe-button--dropdown",highLabel:"pe-button--high-label",inactive:"pe-button--inactive",raised:"pe-button--raised",selected:"pe-button--selected",separatorAtStart:"pe-button--separator-start",hasHover:"pe-button--has-hover"};function Sr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var zr=Function.prototype.call.bind(Function.prototype.call),Nr=function(){return t.redraw()},Ir=function(e){var t=kr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Er=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=kr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Nr()},r]},Cr=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=kr;if(Ir(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Nr))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Rr={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Dr=t||{},Tr=Dr.trust;Dr.trust=function(e,n){return n?t(n,Tr(e)):Tr(e)},Dr.displayName="mithril",Dr.fragment=t.fragment;var Fr=function(e,t){var n=function(e){var t=kr;kr=e.state;try{e.state.updates.forEach(zr)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),kr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=kr;kr=n.state;try{return e(function(e){for(var t=1;t0),x(e.scrollHeight-(e.scrollTop+e.getBoundingClientRect().height)>0))};o((function(){u&&(k.current=u.querySelector(".".concat(Or.header)),O.current=u.querySelector(".".concat(Or.footer)),j.current=u.querySelector(".".concat(Or.body)))}),[u]),o((function(){if(j.current){var e=function(){P()};return T("resize",e),function(){F("resize",e)}}}),[j.current]),o((function(){P()}),[j.current,f]);var z,N,I,E=void 0!==c.header||void 0!==c.title,C=void 0!==c.footer||void 0!==c.footerButtons,R=c.borders||"overflow",D="always"===R||E&&"overflow"===R&&m,A="always"===R||C&&"overflow"===R&&w,q=vr({},b(c,{remove:["style"]}),c.testId&&{"data-test-id":c.testId},a((function(e){return e&&!u&&(d(e),c.ref&&c.ref(e))})),{className:[Or.component,c.fullBleed?Or.fullBleed:null,D?Or.borderTop:null,A?Or.borderBottom:null,E?Or.withHeader:null,C?Or.withFooter:null,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[n.class]].join(" ")},c.formOptions),L=t("div",{className:[Or.content,c.menu?Or.menuContent:null].join(" "),style:c.style},[c.header?c.header:c.title?t("div",{className:[Or.header,Or.headerWithTitle].join(" ")},t("div",{className:Or.title},c.title)):null,t("div",(z={className:Or.body},N=n.onscroll,I=function(){_(!0),clearTimeout(S.current),S.current=setTimeout((function(){_(!1)}),50)},N in z?Object.defineProperty(z,N,{value:I,enumerable:!0,configurable:!0,writable:!0}):z[N]=I,z),c.content||c.body||c.menu),c.footer?t("div",{className:Or.footer},c.footer):c.footerButtons?t("div",{className:[Or.footer,Or.footerWithButtons,jr.row].join(" ")},t("div",{className:Or.actions},c.footerButtons)):null]),B=[c.before,L,c.after];return t(c.element||"form",q,B)}),{h:Dr,a:Rr,useState:function(e){var t=kr;return Er(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Cr,useRef:function(e){return o(Er({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});Fr.displayName="DialogPane";var Ar="pe-dialog__placeholder",qr="pe-dialog__holder",Lr="pe-dialog--open",Br=_r((function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.useRef,a=e.getRef,l=e.useReducer,c=e.Pane,s=e.Shadow,u=e.openDialogsSelector,d=mr(e,["h","a","useState","useEffect","useRef","getRef","useReducer","Pane","Shadow","openDialogsSelector"]),p=gr(l(V,W),2),f=p[0],_=p[1],h=gr(r(),2),m=h[0],g=h[1],y=i(),v=i(),w=i(),x=(f||W).isVisible,k=(f||W).isTransitioning,O=function(e){var t=e.isShow,n=e.hideDelay,r=void 0===n?d.hideDelay:n,o=e.referrer;return{transitionState:f,dispatchTransitionState:_,instanceId:d.instanceId,props:hr({},d,{hideDelay:r}),isShow:t,domElements:{el:m,contentEl:w.current,backdropEl:y.current},showClass:br.visible,transitionClass:br.transition,referrer:o}},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hideDelay,n=e.referrer;return G(O({isShow:!1,hideDelay:t,referrer:n}))},P=function(){return d.modal||m&&m.classList.contains(br.modal)||S({element:m,pseudoSelector:":before",prop:"content",contains:'"'.concat("modal",'"')})};o((function(){m&&(y.current=m.querySelector(".".concat(br.backdrop)),v.current=m.querySelector(".".concat(br.touch)),w.current=m.querySelector(".".concat(br.content)))}),[m]),o((function(){if(m&&!d.inactive){var e=function e(t){if(!(d.disableEscape&&(d.fullScreen||m&&m.classList.contains(br.fullScreen)||S({element:m,pseudoSelector:":before",prop:"content",contains:'"'.concat("full_screen",'"')})||P())||"Escape"!==t.key&&"Esc"!==t.key)){var n=document.querySelectorAll(u);n[n.length-1]===m&&(j(),F("keydown",e))}};return T("keydown",e),function(){F("keydown",e)}}}),[m,d.inactive]),o((function(){m&&!k&&(d.hide?x&&j():d.show&&(x||G(O({isShow:!0}))))}),[m,k,x,d.hide,d.show]);var z,N,I,E=hr({},b(d,{remove:["style"]}),a((function(e){return e&&!m&&(g(e),d.ref&&d.ref(e))})),(z={className:[d.parentClassName||br.component,d.fromMultipleClassName,d.fullScreen?br.fullScreen:null,d.modal?br.modal:null,d.backdrop?br.showBackdrop:null,"dark"===d.tone?"pe-dark-tone":null,"light"===d.tone?"pe-light-tone":null,d.className||d[n.class]].join(" "),"data-spawn-id":d.spawnId,"data-instance-id":d.instanceId},N=n.onclick,I=function(e){e.target!==m&&e.target!==y.current&&e.target!==v.current||P()||j()},N in z?Object.defineProperty(z,N,{value:I,enumerable:!0,configurable:!0,writable:!0}):z[N]=I,z)),C=d.panesOptions&&d.panesOptions.length?t(c,d.panesOptions[0]):d.panes&&d.panes.length?d.panes[0]:function(e){var t=e.h,n=e.Pane,r=e.props;return t(n,{body:r.content||r.body||r.menu||r.children,element:r.element,borders:r.borders,className:r.className,footer:r.footer,footerButtons:r.footerButtons,formOptions:r.formOptions,fullBleed:r.fullBleed,header:r.header,style:r.style,title:r.title})}({h:t,Pane:c,props:d}),R=d.shadowDepth,D=[t("div",{className:br.backdrop}),t("div",{className:br.touch}),t("div",{className:[br.content,d.menu?br.menuContent:null].join(" ")},[d.fullScreen?null:t(s,{shadowDepth:void 0!==R?R:3,animated:!0}),d.before,C,d.after])];return t("div",E,D)}),{h:pr,a:dr,useState:sr,useEffect:ur,useRef:function(e){return o(cr({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useReducer:function(e,t,n){var r,i,a,l,c=tr,s=!c.setup&&n?n(t):t;return r=o(cr(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},Shadow:at,Pane:Fr,openDialogsSelector:yr});Br.displayName="DialogInstance";var Mr,Hr=q({options:{name:"dialog",htmlShowClass:Lr,defaultId:"default_dialog",holderSelector:"div.".concat(qr),instance:Br,placeholder:"span.".concat(Ar)}}),Wr=_r(Hr.render,{h:pr,useState:sr,useEffect:ur});function Vr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Object.getOwnPropertyNames(Hr).filter((function(e){return"render"!==e})).forEach((function(e){return Wr[e]=Hr[e]})),Wr.displayName="Dialog";var $r=Function.prototype.call.bind(Function.prototype.call),Zr=function(){return t.redraw()},Gr=function(e){var t=Mr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Xr=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Mr;if(Gr(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Zr))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Yr=t||{},Qr=Yr.trust;Yr.trust=function(e,n){return n?t(n,Qr(e)):Qr(e)},Yr.displayName="mithril",Yr.fragment=t.fragment;var Ur=function(e,t){var n=function(e){var t=Mr;Mr=e.state;try{e.state.updates.forEach($r)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Mr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Mr;Mr=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var to={component:"pe-dialog pe-drawer",cover:"pe-drawer--cover",push:"pe-drawer--push",mini:"pe-drawer--mini",permanent:"pe-drawer--permanent",border:"pe-drawer--border",floating:"pe-drawer--floating",fixed:"pe-drawer--fixed",anchorEnd:"pe-drawer--anchor-end",visible:"pe-dialog--visible"},no=".".concat(to.component,".").concat(to.visible,":not(.").concat(to.permanent,"),.").concat(to.component,".").concat(to.visible,".").concat(to.mini,",.").concat(to.component,".").concat(to.cover,",.").concat(to.component,".").concat(to.permanent,".").concat(to.visible).replace(/ /g,".");function ro(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var io={component:"pe-dialog pe-drawer",cover:"pe-drawer--cover",push:"pe-drawer--push",mini:"pe-drawer--mini",permanent:"pe-drawer--permanent",border:"pe-drawer--border",floating:"pe-drawer--floating",fixed:"pe-drawer--fixed",anchorEnd:"pe-drawer--anchor-end",visible:"pe-dialog--visible"},ao=Ur((function(e){var t=e.h,n=e.Dialog,r=eo(e,["h","Dialog"]),o=!(r.push||r.permanent||r.mini);return t(n,Kr({},r,{fullBleed:!0,className:null,parentClassName:[r.className,to.component,o?to.cover:null,r.push?to.push:null,r.permanent?to.permanent:null,r.border?to.border:null,r.mini?to.mini:null,r.floating?to.floating:null,r.fixed?to.fixed:null,"end"===r.anchor?to.anchorEnd:null].join(" "),inactive:r.permanent&&!r.mini,shadowDepth:void 0!==r.shadowDepth?r.shadowDepth:0}),r.children)}),{h:Yr,Dialog:Br,openDialogsSelector:no});ao.displayName="DrawerInstance";var lo=Ur(h,{h:Yr,useState:function(e){var t=Mr;return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Mr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Zr()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Xr});lo.displayName="DrawerToggle";var co={view:function(e){return Yr(lo,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}co.displayName="Drawer";var po,fo={component:"pe-fab",content:"pe-fab__content",mini:"pe-fab--mini"};function _o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ho(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var mo=Function.prototype.call.bind(Function.prototype.call),go={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},bo=t||{},yo=bo.trust;bo.trust=function(e,n){return n?t(n,yo(e)):yo(e)},bo.displayName="mithril",bo.fragment=t.fragment;var vo=function(e,t){var n=function(e){var t=po;po=e.state;try{e.state.updates.forEach(mo)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),po=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=po;po=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function jo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}vo.displayName="FAB";var So,Po={component:"pe-spinner",animation:"pe-spinner__animation",placeholder:"pe-spinner__placeholder",animated:"pe-spinner--animated",fab:"pe-spinner--fab",large:"pe-spinner--large",medium:"pe-spinner--medium",permanent:"pe-spinner--permanent",raised:"pe-spinner--raised",regular:"pe-spinner--regular",singleColor:"pe-spinner--single-color",small:"pe-spinner--small",visible:"pe-spinner--visible"},zo=function(e){return G(function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},To=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=So,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ro()},r]},Fo=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=So;if(Do(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ro))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Ao={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},qo=t||{},Lo=qo.trust;qo.trust=function(e,n){return n?t(n,Lo(e)):Lo(e)},qo.displayName="mithril",qo.fragment=t.fragment;var Bo=function(e,t){var n=function(e){var t=So;So=e.state;try{e.state.updates.forEach(Co)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),So=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=So;So=n.state;try{return e(function(e){for(var t=1;t0&&y.push(t(l,{shadowDepth:c.shadowDepth})),t("div",g,y)}),{h:qo,a:Ao,useReducer:function(e,t,n){var r,i,a,l,c=So,s=!c.setup&&n?n(t):t;return r=o(To(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},useState:function(e){var t=So;return To(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Fo,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},Shadow:at});function Mo(){return(Mo=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Bo.displayName="BaseSpinner",Bo.classes={component:"pe-spinner",animation:"pe-spinner__animation",placeholder:"pe-spinner__placeholder",animated:"pe-spinner--animated",fab:"pe-spinner--fab",large:"pe-spinner--large",medium:"pe-spinner--medium",permanent:"pe-spinner--permanent",raised:"pe-spinner--raised",regular:"pe-spinner--regular",singleColor:"pe-spinner--single-color",small:"pe-spinner--small",visible:"pe-spinner--visible"};var Wo,Vo={component:"pe-ios-spinner",blades:"pe-ios-spinner__blades",blade:"pe-ios-spinner__blade"};function Jo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Zo=Function.prototype.call.bind(Function.prototype.call),Go=function(){return t.redraw()},Xo=function(e){var t=Wo,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Yo=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Wo;if(Xo(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Go))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Qo=t||{},Uo=Qo.trust;Qo.trust=function(e,n){return n?t(n,Uo(e)):Uo(e)},Qo.displayName="mithril",Qo.fragment=t.fragment;var Ko=function(e,t){var n=function(e){var t=Wo;Wo=e.state;try{e.state.updates.forEach(Zo)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Wo=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Wo;Wo=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Wo,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Go()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Yo});oi.displayName="IOSSpinnerToggle";var ii={view:function(e){return Qo(oi,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function di(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:"both";return _i[e]};function mi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var bi=Function.prototype.call.bind(Function.prototype.call),yi={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},vi=t||{},wi=vi.trust;vi.trust=function(e,n){return n?t(n,wi(e)):wi(e)},vi.displayName="mithril",vi.fragment=t.fragment;var xi=function(e,t){var n=function(e){var t=pi;pi=e.state;try{e.state.updates.forEach(bi)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),pi=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=pi;pi=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ni(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ii,Ei={component:"pe-md-progress-spinner",animation:"pe-md-progress-spinner__animation",circle:"pe-md-progress-spinner__circle",circleRight:"pe-md-progress-spinner__circle-right",circleLeft:"pe-md-progress-spinner__circle-left"},Ci=function(e,t,n,r){var o=e.style;o.transform=o["-webkit-transform"]=o["-moz-transform"]=o["-ms-transform"]=o["-o-transform"]="rotate("+function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e+(t-e)*n}(t,n,r)+"deg)"},Ri=function(e,t,n){var r=e.querySelector("."+Ei.animation).style;r.clip=n<.5?"rect(0px, "+t+"px, "+t+"px, "+t/2+"px)":"rect(auto, auto, auto, auto)";var o=e.querySelector("."+Ei.circleLeft),i=e.querySelector("."+Ei.circleRight);o.style.clip=i.style.clip="rect(0px, "+t/2+"px, "+t+"px, 0px)",Ci(i,0,180,Math.min(1,2*n)),Ci(o,0,360,n)};function Di(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ti(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Fi=Function.prototype.call.bind(Function.prototype.call),Ai=function(){return t.redraw()},qi=function(e){var t=Ii,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Li=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ii,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ai()},r]},Bi=function(e){var t=Ii;return Li(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Mi=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ii;if(qi(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ai))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Hi=t||{},Wi=Hi.trust;Hi.trust=function(e,n){return n?t(n,Wi(e)):Wi(e)},Hi.displayName="mithril",Hi.fragment=t.fragment;var Vi=function(e,t){var n=function(e){var t=Ii;Ii=e.state;try{e.state.updates.forEach(Fi)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ii=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ii;Ii=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Yi.classes={component:"pe-md-progress-spinner",animation:"pe-md-progress-spinner__animation",circle:"pe-md-progress-spinner__circle",circleRight:"pe-md-progress-spinner__circle-right",circleLeft:"pe-md-progress-spinner__circle-left"},Yi.displayName="MaterialDesignProgressSpinner";var Ki,ea={component:"pe-md-spinner",animation:"pe-md-spinner__animation",circle:"pe-md-spinner__circle",circleClipper:"pe-md-spinner__circle-clipper",circleClipperLeft:"pe-md-spinner__circle-clipper-left",circleClipperRight:"pe-md-spinner__circle-clipper-right",gapPatch:"pe-md-spinner__gap-patch",layer:"pe-md-spinner__layer",layerN:"pe-md-spinner__layer-"};function ta(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ra=Function.prototype.call.bind(Function.prototype.call),oa=function(){return t.redraw()},ia=function(e){var t=Ki,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},aa=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ki;if(ia(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",oa))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),la=t||{},ca=la.trust;la.trust=function(e,n){return n?t(n,ca(e)):ca(e)},la.displayName="mithril",la.fragment=t.fragment;var sa=function(e,t){var n=function(e){var t=Ki;Ki=e.state;try{e.state.updates.forEach(ra)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ki=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ki;Ki=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ki,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&oa()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:aa});_a.displayName="MaterialDesignSpinnerToggle";var ha,ma={view:function(e){return la(_a,function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},xa=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=ha,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&va()},r]},ka=function(e){var t=ha;return xa(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Oa=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=ha;if(wa(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",va))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),ja={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Sa=t||{},Pa=Sa.trust;Sa.trust=function(e,n){return n?t(n,Pa(e)):Pa(e)},Sa.displayName="mithril",Sa.fragment=t.fragment;var za=function(e,t){var n=function(e){var t=ha;ha=e.state;try{e.state.updates.forEach(ya)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),ha=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=ha;ha=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ea(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ca={component:"pe-menu",panel:"pe-menu__panel",content:"pe-menu__content",placeholder:"pe-menu__placeholder",backdrop:"pe-menu__backdrop",floating:"pe-menu--floating",origin:"pe-menu--origin",permanent:"pe-menu--permanent",showBackdrop:"pe-menu--backdrop",visible:"pe-menu--visible",width_auto:"pe-menu--width-auto",width_n:"pe-menu--width-",isTopMenu:"pe-menu--top-menu",listTile:"pe-list-tile",selectedListTile:"pe-list-tile--selected"};function Ra(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Da(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Ta="pe-menu__placeholder",Fa=za((function(e){var t=e.h,n=e.a,r=e.useReducer,o=e.useState,i=e.useEffect,a=e.useRef,l=e.getRef,c=e.Shadow,s=Ia(e,["h","a","useReducer","useState","useEffect","useRef","getRef","Shadow"]),u=Ea(r(V,W),2)[1],d=Ea(o(),2),p=d[0],f=d[1],_=Ea(o(!!s.permanent),2)[1],h=a(),m=a(),g=function(){v(),w()},y=function(e){var t=e.isShow,n=e.hideDelay,r=void 0===n?s.hideDelay:n;return{dispatchTransitionState:u,setIsVisible:_,props:Na({},s,{hideDelay:r}),isShow:t,beforeTransition:t?function(){return g()}:null,domElements:{el:h.current,showClassElement:p},showClass:Ca.visible}},v=function(){if(!k&&s.target){var e=h.current,t=m.current,n=document.querySelector(s.target);if(n&&e){var r=S({element:e,prop:"position",equals:"fixed"});if(r&&!s.topMenu&&!S({element:p,pseudoSelector:":before",prop:"content",contains:'"'.concat("top_menu",'"')}))return Na(e.style,{}),void e.offsetHeight;var o=e.parentNode.getBoundingClientRect(),i=n.getBoundingClientRect(),a=void 0!==s.offsetH?s.offsetH:void 0!==s.offset?s.offset:0,l=void 0!==s.offsetV?s.offsetV:"79%",c=-1!==a.toString().indexOf("%")?Math.round(.01*parseFloat(a)*i.width):Math.round(parseFloat(a)),u=-1!==l.toString().indexOf("%")?Math.round(.01*parseFloat(l)*i.height):Math.round(parseFloat(l)),d=s.origin||"top",f=d.split(/\W+/).reduce((function(e,t){return e[t]=!0,e}),{}),_=t.querySelectorAll("."+Ca.listTile)[0];if(s.reposition){var g=t.querySelector("."+Ca.selectedListTile);if(_&&g){var b=_.getBoundingClientRect(),y=g.getBoundingClientRect();u=b.top-y.top}var v=(g||_).getBoundingClientRect(),w=n.getBoundingClientRect().height-v.height;u+=Math.abs(w)/2}else s.origin&&!r&&(f.top?u+=i.top-o.top:f.bottom&&(u+=i.top-o.bottom));if(s.height){var x=_?_.clientHeight:48;if("max"===s.height){var O=u,j=x;e.style.height="calc(100% - ".concat(O+j,"px)")}else{var P=/^\d+$/.test(s.height.toString())?"".concat(s.height,"px"):s.height;e.style.height=P}}var z=e.style.transitionDuration;e.style.transitionDuration="0ms",e.parentNode&&!r&&(f.right?e.style.right=i.right-o.right+c+"px":e.style.left=i.left-o.left+c+"px",f.bottom?e.style.bottom=u+"px":e.style.top=u+"px",e.style.transformOrigin=d.split(/\W+/).join(" ")),e.offsetHeight,e.style.transitionDuration=z}}},w=function(){if(!k&&s.scrollTarget){var e=document.querySelector(s.scrollTarget);e&&(m.current.scrollTop=e.offsetTop)}},x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hideDelay;return G(y({isShow:!1,hideDelay:t}))};i((function(){if(p){h.current=p.querySelector(".".concat(Ca.panel)),Na(h.current.style,s.style),m.current=p.querySelector(".".concat(Ca.content));var e=function(e){"Escape"!==e.key&&"Esc"!==e.key||x({hideDelay:0})},t=function(e){e.target!==h.current&&x()};return s.permanent||(T("resize",g),T("keydown",e),setTimeout((function(){C.forEach((function(e){return document.addEventListener(e,t)})),G(y({isShow:!0}))}),0)),function(){s.permanent||(F("resize",g),F("keydown",e),C.forEach((function(e){return document.removeEventListener(e,t)})))}}}),[p]);var O,j,P=s.type||"floating",z=Na({},b(s,{remove:["style"]}),s.testId&&{"data-test-id":s.testId},l((function(e){return e&&!p&&(f(e),s.getRef&&s.getRef(e))})),{className:[Ca.component,s.permanent?Ca.permanent:null,s.origin?Ca.origin:null,s.backdrop?Ca.showBackdrop:null,s.topMenu?Ca.isTopMenu:null,"floating"!==P||s.permanent?null:Ca.floating,s.width||s.size?(j=s.width||s.size,O=j<1.5?1.5:j,Ca.width_n+O.toString().replace(".","-")):null,"dark"===s.tone?"pe-dark-tone":null,"light"===s.tone?"pe-light-tone":null,s.className||s[n.class]].join(" ")}),N=void 0!==s.shadowDepth?s.shadowDepth:1,I=[t("div",{className:Ca.backdrop}),t("div",{className:Ca.panel},[t(c,{shadowDepth:N,animated:!0}),t("div",{className:Ca.content},s.content||s.children)])],E=[s.before].concat(I,[s.after]);return t(s.element||"div",z,E)}),{h:Sa,a:ja,useReducer:function(e,t,n){var r,i,a,l,c=ha,s=!c.setup&&n?n(t):t;return r=o(xa(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},useState:ka,useEffect:Oa,useRef:function(e){return o(xa({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},Shadow:at}),Aa=za(h,{h:Sa,useState:ka,useEffect:Oa});Aa.displayName="MenuToggle";var qa,La={view:function(e){return Sa(Aa,function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Ja=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=qa,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Wa()},r]},$a=function(e){var t=qa;return Ja(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Za=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=qa;if(Va(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Wa))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Ga={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Xa=t||{},Ya=Xa.trust;Xa.trust=function(e,n){return n?t(n,Ya(e)):Ya(e)},Xa.displayName="mithril",Xa.fragment=t.fragment;var Qa=function(e,t){var n=function(e){var t=qa;qa=e.state;try{e.state.updates.forEach(Ha)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),qa=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=qa;qa=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function el(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var tl={component:"pe-notification",action:"pe-notification__action",content:"pe-notification__content",holder:"pe-notification__holder",placeholder:"pe-notification__placeholder",title:"pe-notification__title",hasContainer:"pe-notification--container",horizontal:"pe-notification--horizontal",multilineTitle:"pe-notification__title--multi-line",vertical:"pe-notification--vertical",visible:"pe-notification--visible"},nl=function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.useRef,a=e.getRef,l=e.useReducer,c=Ka(e,["h","a","useState","useEffect","useRef","getRef","useReducer"]),s=el(l(V,W),2),u=s[0],d=s[1],p=el(r(),2),f=p[0],_=p[1],h=el(r(!1),2),m=h[0],g=h[1],y=i(),v=i(),w=i(),O=(u||W).isVisible,j=(u||W).isTransitioning,S=(u||W).isHiding,P=function(e){var t=e.isShow,n=e.referrer;return{dispatchTransitionState:d,instanceId:c.instanceId,props:c,isShow:t,beforeTransition:N,afterTransition:t?function(){var e=c.timeout;if(0===e);else{var t=void 0!==e?e:3;w.current.start((function(){return z()}),t)}}:null,domElements:{el:f,containerEl:y.current},showClass:tl.visible,referrer:n}},z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.referrer;return G(P({isShow:!1,referrer:t}))},N=function(){w.current&&w.current.stop()};o((function(){return function(){N()}}),[]),o((function(){w.current=new Si}),[]),o((function(){var e;f&&(x&&(y.current=document.querySelector(c.containerSelector||c.holderSelector),y.current||console.error("No container element found"),c.containerSelector&&y.current&&y.current.classList.add(tl.hasContainer)),v.current=f.querySelector(".".concat(tl.title)),v.current&&(e=v.current,k||e.getBoundingClientRect().height>parseInt(window.getComputedStyle(e).lineHeight,10)+parseInt(window.getComputedStyle(e).paddingTop,10)+parseInt(window.getComputedStyle(e).paddingBottom,10)&&e.classList.add(tl.multilineTitle)))}),[f]),o((function(){!f||j||S||(c.hide?O&&z():c.show&&(O||G(P({isShow:!0}))))}),[f,j,O,S,c.hide,c.show]),o((function(){!f||j||S||(c.unpause?m&&(g(!1),w.current&&w.current.resume()):c.pause&&(m||(g(!0),w.current&&w.current.pause())))}),[f,j,S,c.pause,c.unpause]);var I,E,C,R=Ua({},b(c,{remove:["style"]}),a((function(e){return e&&!f&&(_(e),c.ref&&c.ref(e))})),c.testId&&{"data-test-id":c.testId},(I={className:[tl.component,c.fromMultipleClassName,"light"===c.tone?null:"pe-dark-tone",c.containerSelector?tl.hasContainer:null,"vertical"===c.layout?tl.vertical:tl.horizontal,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[n.class]].join(" ")},E=n.onclick,C=function(e){return e.preventDefault()},E in I?Object.defineProperty(I,E,{value:C,enumerable:!0,configurable:!0,writable:!0}):I[E]=C,I)),D=t("div",{className:tl.content,style:c.style},c.content||[c.title?t("div",{className:tl.title},c.title):null,c.action?t("div",{className:tl.action},c.action):null]),T=[c.before,D,c.after];return t(c.element||"div",R,T)},rl={component:"pe-notification",action:"pe-notification__action",content:"pe-notification__content",holder:"pe-notification__holder",placeholder:"pe-notification__placeholder",title:"pe-notification__title",hasContainer:"pe-notification--container",horizontal:"pe-notification--horizontal",multilineTitle:"pe-notification__title--multi-line",vertical:"pe-notification--vertical",visible:"pe-notification--visible"},ol=Qa(nl,{h:Xa,a:Ga,useState:$a,useEffect:Za,useRef:function(e){return o(Ja({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useReducer:function(e,t,n){var r,i,a,l,c=qa,s=!c.setup&&n?n(t):t;return r=o(Ja(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]}});ol.displayName="NotificationInstance";var il=q({options:{name:"notification",className:rl.component,htmlShowClass:rl.open,defaultId:"default_notification",holderSelector:".".concat(rl.holder),instance:ol,placeholder:"span.".concat(rl.placeholder),queue:!0}}),al=Qa(il.render,{h:Xa,useState:$a,useEffect:Za});function ll(){return(ll=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Object.getOwnPropertyNames(il).filter((function(e){return"render"!==e})).forEach((function(e){return al[e]=il[e]})),al.displayName="Notification";var sl,ul="pe-radio-control",dl={iconOff:'',iconOn:''};function pl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var _l=Function.prototype.call.bind(Function.prototype.call),hl=function(){return t.redraw()},ml=function(e){var t=sl,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},gl=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=sl;if(ml(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",hl))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),bl={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},yl=t||{},vl=yl.trust;yl.trust=function(e,n){return n?t(n,vl(e)):vl(e)},yl.displayName="mithril",yl.fragment=t.fragment;var wl=function(e,t){var n=function(e){var t=sl;sl=e.state;try{e.state.updates.forEach(_l)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),sl=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=sl;sl=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=sl,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&hl()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:gl,ViewControl:xl});kl.displayName="SelectionControl";var Ol=wl((function(e){var t=e.h,n=e.SelectionControl,r=cl(e,["h","SelectionControl"]);return t(n,ll({},r,{icons:dl,selectable:r.selectable||function(e){return!e},instanceClass:ul,type:"radio"}))}),{h:yl,a:bl,SelectionControl:kl});function jl(){return(jl=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Pl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Ol.displayName="RadioButton";var zl,Nl={component:"pe-radio-group"};function Il(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function El(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Cl=Function.prototype.call.bind(Function.prototype.call),Rl=function(){return t.redraw()},Dl=function(e){var t=zl,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Tl=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=zl;if(Dl(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Rl))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Fl={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Al=t||{},ql=Al.trust;Al.trust=function(e,n){return n?t(n,ql(e)):ql(e)},Al.displayName="mithril",Al.fragment=t.fragment;var Ll=function(e,t){var n=function(e){var t=zl;zl=e.state;try{e.state.updates.forEach(Cl)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),zl=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=zl;zl=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=zl,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Rl()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Tl,RadioButton:Ol});Ll.displayName="RadioGroup";Function.prototype.call.bind(Function.prototype.call);var Bl=t||{},Ml=Bl.trust;function Hl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Bl.trust=function(e,n){return n?t(n,Ml(e)):Ml(e)},Bl.displayName="mithril",Bl.fragment=t.fragment;var Vl={view:function(e){return Bl(bt,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Zl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Vl.displayName="RaisedButton";var Gl={component:"pe-search",content:"pe-search__content",searchFullWidth:"pe-search--full-width",searchInset:"pe-search--inset"};function Xl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yl(){return(Yl=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ec(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var tc,nc={component:"pe-textfield",counter:"pe-textfield__counter",error:"pe-textfield__error",errorPlaceholder:"pe-textfield__error-placeholder",focusHelp:"pe-textfield__help-focus",help:"pe-textfield__help",input:"pe-textfield__input",inputArea:"pe-textfield__input-area",label:"pe-textfield__label",optionalIndicator:"pe-textfield__optional-indicator",requiredIndicator:"pe-textfield__required-indicator",hasCounter:"pe-textfield--counter",hasFloatingLabel:"pe-textfield--floating-label",hasFullWidth:"pe-textfield--full-width",hideClear:"pe-textfield--hide-clear",hideSpinner:"pe-textfield--hide-spinner",hideValidation:"pe-textfield--hide-validation",isDense:"pe-textfield--dense",isRequired:"pe-textfield--required",stateDirty:"pe-textfield--dirty",stateDisabled:"pe-textfield--disabled",stateFocused:"pe-textfield--focused",stateInvalid:"pe-textfield--invalid",stateReadonly:"pe-textfield--readonly"},rc={invalid:!1,message:void 0},oc=function(e,t){return e.ignoreEvents&&-1!==e.ignoreEvents.indexOf(t)};function ic(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ac(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var lc=Function.prototype.call.bind(Function.prototype.call),cc=function(){return t.redraw()},sc=function(e){var t=tc,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},uc=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=tc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&cc()},r]},dc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=tc;if(sc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",cc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),pc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},fc=t||{},_c=fc.trust;fc.trust=function(e,n){return n?t(n,_c(e)):_c(e)},fc.displayName="mithril",fc.fragment=t.fragment;var hc,mc=function(e,t){var n=function(e){var t=tc;tc=e.state;try{e.state.updates.forEach(lc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),tc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=tc;tc=n.state;try{return e(function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.type,n=e.focus,r=e.value;y.current&&(void 0!==r&&(y.current.value=r),void 0!==n&&(k.current=n,n?y.current.focus():y.current.blur()),"input"===t&&(l.validateOnInput||l.counter)&&(O.current=y.current.value!==c),"input"!==t&&(O.current=y.current.value!==c),"onblur"===t&&(O.current=!0),x.current=""!==y.current.value,I(),E(),v.current!==y.current.value&&g(y.current.value))},N=function(){var e=rc;return O.current&&f&&0===y.current.value.length&&l.validateResetOnClear&&(O.current=!1,_(!1),j.current=void 0),l.counter&&(e={invalid:y.current.value.length>l.counter,message:l.error}),!e.invalid&&y.current.checkValidity&&(e={invalid:!y.current.checkValidity(),message:l.error}),!e.invalid&&l.validate&&(e=function(){if(!y.current)return rc;var e=l.validate(y.current.value);return{invalid:e&&!e.valid,message:e&&e.error}}()),e},I=function(){var e=void 0!==l.valid?{invalid:!l.valid,message:l.error}:O.current||l.validateAtStart?N():rc,t=f;j.current=e.message,e.invalid!==t&&_(e.invalid),e.invalid||(j.current=void 0)},E=function(){if(l.onChange){var e=N(),t={focus:k.current,dirty:x.current,invalid:e.invalid,error:e.error,value:y.current.value};JSON.stringify(t)!==JSON.stringify(w.current)&&(l.onChange(Ul({},t,{el:y.current,setInputState:function(e){var t=void 0!==e.value&&e.value!==y.current.value,n=void 0!==e.focus&&e.focus!==k.current;(t||n)&&z(e)}})),w.current=t)}};o((function(){x.current=""!==c,k.current=!1,O.current=!1,j.current=l.error}),[]),o((function(){u&&(y.current=u.querySelector(S),y.current.value=c,z(),I(),E())}),[u]),o((function(){if(y.current){var e=void 0!==l.value&&null!==l.value?l.value:y.current?y.current.value:v.current,t=null==e?"":e.toString();y.current&&v.current!==t&&(y.current.value=t,v.current=t,z({type:"input"}))}}),[y.current,l.value]),o((function(){y.current&&(I(),E())}),[l,y.current&&y.current.value]);var C=Yl({},b(l),l.testId&&{"data-test-id":l.testId},a((function(e){return e&&!u&&(d(e),l.ref&&l.ref(e))})),{className:[nc.component,f?nc.stateInvalid:"",k.current?nc.stateFocused:"",x.current?nc.stateDirty:"",l.floatingLabel?nc.hasFloatingLabel:"",l.disabled?nc.stateDisabled:"",l.readonly?nc.stateReadonly:"",l.dense?nc.isDense:"",l.required?nc.isRequired:"",l.fullWidth?nc.hasFullWidth:"",l.counter?nc.hasCounter:"",!1!==l.hideSpinner&&void 0!==l.hideSpinner?nc.hideSpinner:"",!1!==l.hideClear&&void 0!==l.hideClear?nc.hideClear:"",l.hideValidation?nc.hideValidation:"","dark"===l.tone?"pe-dark-tone":null,"light"===l.tone?"pe-light-tone":null,l.className||l[n.class]].join(" ")}),R=Ul({},l,{},l.domAttributes),D=l.error||j.current,T=R.multiLine?null:R.type&&"submit"!==R.type&&"search"!==R.type?R.type:"text",F=f&&void 0!==D,A=R.disabled||R[n.readonly],q=R.required&&""!==R.requiredIndicator?t("span",{className:nc.requiredIndicator},R.requiredIndicator||"*"):null,L=!R.required&&R.optionalIndicator?t("span",{className:nc.optionalIndicator},R.optionalIndicator):null,B=R.label?[R.label,q,L]:null,M=R.events||{},H=[t("div",{className:nc.inputArea},[B?t("label",{className:nc.label},B):null,t(S,Yl({},{className:nc.input,disabled:R.disabled},T?{type:T}:null,R.name?{name:R.name}:null,M,oc(R,n.onclick)?null:Xl({},n.onclick,(function(e){A||(z({focus:!0}),M[n.onclick]&&M[n.onclick](e))})),oc(R,n.onfocus)?null:Xl({},n.onfocus,(function(e){A||(z({focus:!0}),u&&u.classList.add(nc.stateFocused),M[n.onfocus]&&M[n.onfocus](e))})),oc(R,n.onblur)?null:Xl({},n.onblur,(function(e){z({type:"onblur",focus:!1}),u.classList.remove(nc.stateFocused),M[n.onblur]&&M[n.onblur](e)})),oc(R,n.oninput)?null:Xl({},n.oninput,(function(e){z({type:"input"}),M[n.oninput]&&M[n.oninput](e)})),oc(R,n.onkeydown)?null:Xl({},n.onkeydown,(function(e){"Enter"===e.key?O.current=!0:"Escape"!==e.key&&"Esc"!==e.key||z({focus:!1}),M[n.onkeydown]&&M[n.onkeydown](e)})),void 0!==R.required&&R.required?{required:!0}:null,void 0!==R[n.readonly]&&R[n.readonly]?Xl({},n.readonly,!0):null,void 0!==R.pattern?{pattern:R.pattern}:null,void 0!==R[n.maxlength]?Xl({},n.maxlength,R[n.maxlength]):null,void 0!==R[n.minlength]?Xl({},n.minlength,R[n.minlength]):null,void 0!==R.max?{max:R.max}:null,void 0!==R.min?{min:R.min}:null,void 0!==R[n.autofocus]?Xl({},n.autofocus,R[n.autofocus]):null,void 0!==R[n.tabindex]?Xl({},n.tabindex,R[n.tabindex]):null,void 0!==R.rows?{rows:R.rows}:null,void 0!==R.placeholder?{placeholder:R.placeholder}:null,void 0!==R.domAttributes?Ul({},R.domAttributes):null))]),R.counter?t("div",{className:nc.counter},(m.length||0)+" / "+R.counter):null,R.help&&!F?t("div",{className:[nc.help,R.focusHelp?nc.focusHelp:null].join(" ")},R.help):null,F?t("div",{className:nc.error},D):P&&!R.help?t("div",{className:nc.errorPlaceholder}):null],W=[l.before].concat(H,[l.after]);return t(l.element||"div",C,W)}),{h:fc,a:pc,useEffect:dc,useState:function(e){var t=tc;return uc(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useRef:function(e){return o(uc({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});function gc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}mc.displayName="TextField";var yc=Function.prototype.call.bind(Function.prototype.call),vc=function(){return t.redraw()},wc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},xc=t||{},kc=xc.trust;xc.trust=function(e,n){return n?t(n,kc(e)):kc(e)},xc.displayName="mithril",xc.fragment=t.fragment;var Oc=function(e,t){var n=function(e){var t=hc;hc=e.state;try{e.state.updates.forEach(yc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),hc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=hc;hc=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=hc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&vc()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},TextField:mc});function jc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sc(){return(Sc=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function zc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Oc.displayName="Search";var Nc,Ic={component:"pe-slider",control:"pe-slider__control",label:"pe-slider__label",pin:"pe-slider__pin",thumb:"pe-slider__thumb",tick:"pe-slider__tick",ticks:"pe-slider__ticks",track:"pe-slider__track",trackBar:"pe-slider__track-bar",trackBarValue:"pe-slider__track-bar-value",trackPart:"pe-slider__track-part",trackPartRest:"pe-slider__track-rest",trackPartValue:"pe-slider__track-value",hasFocus:"pe-slider--focus",hasPin:"pe-slider--pin",hasTicks:"pe-slider--ticks",hasTrack:"pe-slider--track",isActive:"pe-slider--active",isAtMin:"pe-slider--min",isDisabled:"pe-slider--disabled",tickValue:"pe-slider__tick--value"},Ec=function(e,t){return z&&e.touches?t?e.touches[0].pageY:e.touches[0].pageX:t?e.pageY:e.pageX};function Cc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Dc=Function.prototype.call.bind(Function.prototype.call),Tc=function(){return t.redraw()},Fc=function(e){var t=Nc,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Ac=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Nc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Tc()},r]},qc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Nc;if(Fc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Tc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Lc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Bc=t||{},Mc=Bc.trust;Bc.trust=function(e,n){return n?t(n,Mc(e)):Mc(e)},Bc.displayName="mithril",Bc.fragment=t.fragment;var Hc,Wc=function(e,t){var n=function(e){var t=Nc;Nc=e.state;try{e.state.updates.forEach(Dc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Nc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Nc;Nc=n.state;try{return e(function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:0;Z.current=v.current.getBoundingClientRect().left-(X.current-Y.current/2)+e},K=function(e){var t=Ec(e)-Z.current,n=s+(t-X.current)/G.current*d;ne(n)},ee=function(e){if(!$.current){e.preventDefault(),$.current=!0,J(!0),ie();var t=function(e){$.current&&K(e)},n=function e(){$.current&&(ie(),x&&(E.forEach((function(e){return window.removeEventListener(e,t)})),C.forEach((function(t){return window.removeEventListener(t,e)}))),$.current=!1,J(!1))};x&&(E.forEach((function(e){return window.addEventListener(e,t)})),C.forEach((function(e){return window.addEventListener(e,n)}))),Q()}},te=function(e){var t=e.value,n=e.shouldNotify,r=void 0!==n&&n;tu&&(t=u);var o=p?Math.round(t*f)/f:t;R((o-s)/d),H(o),L(o),r&&c.onChange&&c.onChange({value:o})},ne=function(e){te({value:e,shouldNotify:!0})},re=function(e){return ne(q+(e?10:1)*(p||1))},oe=function(e){return ne(q-(e?10:1)*(p||1))},ie=function(){y.current&&y.current.blur(),y.current=void 0,F(!1)};i((function(){$.current=!1,Z.current=0,G.current=0,X.current=0,Y.current=0}),[]),i((function(){S&&(v.current=S.querySelector(".".concat(Ic.track)),w.current=S.querySelector(".".concat(Ic.control)),k.current=S.querySelector(".".concat(Ic.pin)),Q(),te({value:g}))}),[S]),i((function(){c.pin&&function(){if(w.current&&k.current){var e=N*G.current;k.current.style.left=e+"px"}}()}),[q]),i((function(){M!==c.value&&te({value:c.value})}),[c.value]);var ae=Sc({},b(c),l((function(e){return e&&!S&&P(e)})),c.testId&&{"data-test-id":c.testId},{className:[Ic.component,c.disabled?Ic.isDisabled:null,c.pin?Ic.hasPin:null,h?Ic.hasTrack:null,V?Ic.isActive:null,T?Ic.hasFocus:null,0===N?Ic.isAtMin:null,_?Ic.hasTicks:null,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[r.class]].join(" ")}),le=function(e){e.preventDefault(),$.current||(Q(),U(0),K(e),ee(e))},ce=function(e){e.preventDefault(),Q(),function(e){var t=w.current.getBoundingClientRect().left,n=Ec(e)-t-Y.current/2;U(n)}(e),ee(e)},se=N+" 1 0%",ue=1-N,de=ue+" 1 0%",pe=[c.before,n("div",Sc({},{className:Ic.track},h&&!c.disabled&&I.reduce((function(e,t){return e[r["on".concat(t)]]=le,e}),{})),[n("div",{className:Ic.trackPart+" "+Ic.trackPartValue,style:{flex:se,msFlex:se,WebkitFlex:se}},n("div",{className:Ic.trackBar},n("div",{className:Ic.trackBarValue}))),n("div",Sc({},{className:Ic.control},c.disabled?{disabled:!0}:(t={},jc(t,r.tabindex,c[r.tabindex]||0),jc(t,r.onfocus,(function(){return e=w.current,ie(),y.current=e,void F(!0);var e})),jc(t,r.onblur,(function(){return ie()})),jc(t,r.onkeydown,(function(e){"Tab"!==e.key&&e.preventDefault(),"Escape"===e.key||"Esc"===e.key?w.current.blur(e):"ArrowLeft"===e.key||"ArrowDown"===e.key||"Left"===e.key||"Down"===e.key?oe(!!e.shiftKey):"ArrowRight"===e.key||"ArrowUp"===e.key||"Right"===e.key||"Up"===e.key?re(!!e.shiftKey):"Home"===e.key?ne(s):"End"===e.key?ne(u):"PageDown"===e.key?oe(!0):"PageUp"===e.key&&re(!0),Q()})),t),!c.disabled&&I.reduce((function(e,t){return e[r["on".concat(t)]]=ce,e}),{}),c.events?c.events:null,_?{step:m}:null),c.icon?n("div",{className:Ic.thumb},c.icon):null),n("div",{className:Ic.trackPart+" "+Ic.trackPartRest,style:{flex:de,msFlex:de,WebkitFlex:de,maxWidth:100*ue+"%"}},n("div",{className:Ic.trackBar},n("div",{className:Ic.trackBarValue}))),_&&!c.disabled?n("div",{className:Ic.ticks},function(e,t,n,r){for(var o=[],i=r/n,a=0;a0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Xc=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Hc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Zc()},r]},Yc=function(e){var t=Hc;return Xc(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Qc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Hc;if(Gc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Zc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Uc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Kc=t||{},es=Kc.trust;Kc.trust=function(e,n){return n?t(n,es(e)):es(e)},Kc.displayName="mithril",Kc.fragment=t.fragment;var ts=function(e,t){var n=function(e){var t=Hc;Hc=e.state;try{e.state.updates.forEach($c)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Hc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Hc;Hc=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Object.getOwnPropertyNames(ls).filter((function(e){return"render"!==e})).forEach((function(e){return cs[e]=ls[e]})),cs.displayName="Snackbar";var ds,ps="pe-switch-control",fs="pe-switch-control__knob",_s="pe-switch-control__thumb",hs="pe-switch-control__track";function ms(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var bs=Function.prototype.call.bind(Function.prototype.call),ys=function(){return t.redraw()},vs=function(e){var t=ds,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},ws=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=ds;if(vs(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ys))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),xs={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ks=t||{},Os=ks.trust;ks.trust=function(e,n){return n?t(n,Os(e)):Os(e)},ks.displayName="mithril",ks.fragment=t.fragment;var js=function(e,t){var n=function(e){var t=ds;ds=e.state;try{e.state.updates.forEach(bs)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),ds=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=ds;ds=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=ds,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ys()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:ws,ViewControl:Ss});Ps.displayName="SelectionControl";var zs=js((function(e){var t=e.h,n=e.SelectionControl,r=us(e,["h","SelectionControl"]);return t(n,ss({},r,{selectable:r.selectable||function(){return!0},instanceClass:ps,type:"checkbox"}))}),{h:ks,a:xs,SelectionControl:Ps});function Ns(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Is(){return(Is=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Cs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Rs(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);tt?-1:0},qs='',Ls='';function Bs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ms(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Hs=Function.prototype.call.bind(Function.prototype.call),Ws=function(){return t.redraw()},Vs=function(e){var t=Ds,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Js=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ds;if(Vs(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ws))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),$s={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Zs=t||{},Gs=Zs.trust;Zs.trust=function(e,n){return n?t(n,Gs(e)):Gs(e)},Zs.displayName="mithril",Zs.fragment=t.fragment;var Xs=function(e,t){var n=function(e){var t=Ds;Ds=e.state;try{e.state.updates.forEach(Hs)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ds=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ds;Ds=n.state;try{return e(function(e){for(var t=1;t=L.scrollWidth-d.getBoundingClientRect().width-1&&y===t;O(n),N(r)},V=function(e){var t=L,n=E.slice(0,e).reduce((function(e,t){return e+t.dom.getBoundingClientRect().width}),0),r=t.getBoundingClientRect().width,o=t.scrollWidth-r,i=_?-1*Math.min(n,o):Math.min(n,o),a=t.scrollLeft;if(a!==i){var l=Math.abs(a-i)/600;setTimeout((function(){(function(e){if(!k){var t=e.element,n="horizontal"===e.direction?"scrollLeft":"scrollTop",r=e.to,o=1e3*e.duration,i=e.easing||Oi.easeInOutCubic,a=t[n],l=r-a,c=(new Date).getTime(),s=!0;return new Promise((function(e){ji((function u(){if(s){ji(u);var d=((new Date).getTime()-c)/o,p=a+l*i(d);t[n]=p,d>=1&&(t[n]=r,s=!1,e())}}))}))}})({element:t,to:i,duration:Math.max(.5,l),direction:"horizontal"}).then(W)}),150)}},J=function(e){var t=e.index,n=e.animate;if(E&&E.length){v(t);var r=E[t].dom;r&&function(e){var t=e.selectedTabElement,n=e.animate;if(B){var r=d.getBoundingClientRect(),o=t.getBoundingClientRect(),i=q?o.height:0,a=_?o.right-r.right+L.scrollLeft+i:o.left-r.left+L.scrollLeft-i,l=1/(r.width-2*i)*o.width,c="translate(".concat(a,"px, 0) scaleX(").concat(l,")"),s=n?.25:0,u=B.style;u["transition-duration"]=s+"s",u.opacity=1,u.transform=c}}({selectedTabElement:r,animate:n}),q&&W(),V(t),c.onChange&&c.onChange({index:t,options:E[t].options,el:r})}};i((function(){if(M){h(function(e){var t=e.element,n=void 0===t?document:t,r=e.selector;return S({element:n,selector:r,prop:"direction",equals:"rtl"})}({element:d}));var e=function(){return function(){if(c.largestWidth){var e=E.map((function(e){return e.dom.getBoundingClientRect().width})).sort(As)[0];E.forEach((function(t){return t.dom.style.width=e+"px"}))}}(),J({index:y,animate:!1})},t=function(t){var n=t.name;return"active"===n||"inactive"===n?e():null};return T("resize",e),T("webfontloader",t),e(),function(){F("resize",e),F("webfontloader",t)}}}),[M]);var $=!c.scrollable&&!c.centered&&!!c.autofit;void 0!==m&&D!==m&&J({index:m,animate:!0}),D!==m&&A(m);var Z=Is({},r((function(e){return e&&!d&&setTimeout((function(){return p(e)}),0)})),b(c),c.testId&&{"data-test-id":c.testId},{className:[Ts.component,c.scrollable?Ts.scrollable:null,x?Ts.isAtStart:null,P?Ts.isAtEnd:null,c.activeSelected?Ts.activeSelectable:null,$?Ts.isAutofit:null,c.compact?Ts.compactTabs:null,c.menu?Ts.isMenu:null,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[n.class]].join(" ")}),G=s.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=Is({},e,{selected:n===y,animateOnTap:!1!==c.animateOnTap},c.all,{index:n,onSelect:function(){return J({index:n,animate:!c.noIndicatorSlide})}});return t(l,r)})),X=null,Y=null;c.scrollable&&(X=t(a,Is({},{icon:c.scrollIconBackward,className:Ts.scrollButtonAtStart,position:"start",events:Ns({},n.onclick,(function(e){return H(e,"backward")})),isRTL:_})),Y=t(a,Is({},{icon:c.scrollIconForward,className:Ts.scrollButtonAtEnd,position:"end",events:Ns({},n.onclick,(function(e){return H(e,"forward")})),isRTL:_})));var Q=c.hideIndicator?null:t("div",{className:Ts.indicator}),U=[X,t("div",{className:[Ts.tabRow,c.centered?Ts.tabRowCentered:null,c.scrollable?Ts.tabRowIndent:null].join(" ")},[].concat(Rs(G),[Q])),Y];return t("div",Z,[c.before].concat(U,[c.after]))}),{h:Zs,a:$s,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useState:function(e){var t=Ds;return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ds,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ws()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Js,ScrollButton:Ys,Tab:Qs});function Ks(){return(Ks=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Us.displayName="Tabs";var tu,nu={component:"pe-toolbar",compact:"pe-toolbar--compact",appBar:"pe-toolbar--app-bar",title:"pe-toolbar__title",centeredTitle:"pe-toolbar__title--center",indentedTitle:"pe-toolbar__title--indent",fullbleed:"pe-toolbar--fullbleed",border:"pe-toolbar--border"};function ru(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ou(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var iu=Function.prototype.call.bind(Function.prototype.call),au={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},lu=t||{},cu=lu.trust;lu.trust=function(e,n){return n?t(n,cu(e)):cu(e)},lu.displayName="mithril",lu.fragment=t.fragment;var su=function(e,t){var n=function(e){var t=tu;tu=e.state;try{e.state.updates.forEach(iu)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),tu=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=tu;tu=n.state;try{return e(function(e){for(var t=1;t0&&/^[-\w$]+$/.test(a))if(c||(c=1,t.rule(n)),/\$/.test(a))for(s in a=a.split("$"))yu.call(a,s)&&Nu(e,t,a[s],l,o);else Nu(e,t,a,l,o);else/^@/.test(a)?(c=0,Iu(e,t,/^(.(?:-[\w]+-)?([_A-Za-z][-\w]*))\b\s*(.*?)\s*$/.exec(a)||[a,"@","",""],l,n,o,i)):(c=0,Eu(e,t,n.length>0&&(/,/.test(n)||/,/.test(a))?(s=Ou(n),Ou(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a).map((function(e){return/&/.test(e)?Su(e,s):s.map((function(t){return t+e})).join(",")})).join(",")):/&/.test(a)?Su(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a,[n]):n+(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a),l,o,i+1));break;case hu:for(a=0;a0&&void 0!==arguments[0]?arguments[0]:1;return[{"-webkit-box-flex":e},{"-moz-box-flex":e},{"-webkit-flex":e},{"-ms-flex":e},{flex:e},1===e?{"-webkit-flex-basis":"0.000000001px"}:{},1===e?{"flex-basis":"0.000000001px"}:{}]},flexAuto:{"-ms-flex":"1 1 auto","-webkit-flex-basis":"auto","flex-basis":"auto"},flexAutoVertical:{"-ms-flex":"1 1 auto","-webkit-flex-basis":"auto","flex-basis":"auto"},flexIndex:function(e){return{"-ms-flex":e,"-webkit-flex":e,flex:e}},flexGrow:function(e){return{"-webkit-flex-grow":e,"flex-grow":e}},flexShrink:function(e){return{"-webkit-flex-shrink":e,"flex-shrink":e}},layout:Au,layoutAroundJustified:[Au,{"-ms-flex-pack":"distribute","-webkit-justify-content":"space-around","justify-content":"space-around"}],layoutCenter:qu,layoutCenterCenter:[Lu,qu],layoutCenterJustified:Lu,layoutEnd:[Au,{"-ms-flex-align":"end","-webkit-align-items":"flex-end","align-items":"flex-end"}],layoutEndJustified:[Au,{"-ms-flex-pack":"end","-webkit-justify-content":"flex-end","justify-content":"flex-end"}],layoutHorizontal:[Au,{"-ms-flex-direction":"row","-webkit-flex-direction":"row","flex-direction":"row"}],layoutHorizontalReverse:[Au,{"-ms-flex-direction":"row-reverse","-webkit-flex-direction":"row-reverse","flex-direction":"row-reverse"}],layoutInline:[Au,{display:"-ms-inline-flexbox"},{display:"-webkit-inline-flex"},{display:"inline-flex"}],layoutJustified:[Au,{"-ms-flex-pack":"justify","-webkit-justify-content":"space-between","justify-content":"space-between"}],layoutStart:[Au,{"-ms-flex-align":"start","-webkit-align-items":"flex-start","align-items":"flex-start"}],layoutStartJustified:[Au,{"-ms-flex-pack":"start","-webkit-justify-content":"flex-start","justify-content":"flex-start"}],layoutVertical:[Au,{"-ms-flex-direction":"column","-webkit-flex-direction":"column","flex-direction":"column"}],layoutVerticalReverse:[Au,{"-ms-flex-direction":"column-reverse","-webkit-flex-direction":"column-reverse","flex-direction":"column-reverse"}],layoutWrap:[Au,{"-ms-flex-wrap":"wrap","-webkit-flex-wrap":"wrap","flex-wrap":"wrap"}],layoutWrapReverse:[Au,{"-ms-flex-wrap":"wrap-reverse","-webkit-flex-wrap":"wrap-reverse","flex-wrap":"wrap-reverse"}],selfCenter:{"-ms-align-self":"center","-webkit-align-self":"center","align-self":"center"},selfEnd:{"-ms-align-self":"flex-end","-webkit-align-self":"flex-end","align-self":"flex-end"},selfStart:{"-ms-align-self":"flex-start","-webkit-align-self":"flex-start","align-self":"flex-start"},selfStretch:{"-ms-align-self":"stretch","-webkit-align-self":"stretch","align-self":"stretch"}};function Mu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wu(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Ju=function(){return{"&:after":{content:'""',display:"table",clear:"both"}}},$u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:".18s",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ease-out";return{transitionDelay:"0ms",transitionDuration:t,transitionTimingFunction:n,transitionProperty:e}},Zu=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return"none"===e?{textOverflow:"initial",overflow:"initial",display:"block",height:"auto",maxHeight:"none",whiteSpace:"normal"}:[{"@supports (-webkit-line-clamp: 2)":void 0!==e?{"-webkit-line-clamp":e,"-webkit-box-orient":"vertical",display:"-webkit-box",wordBreak:"break-word"}:void 0},Wu({overflow:"hidden",textOverflow:"ellipsis",textRendering:"auto"},void 0!==t?{maxHeight:e*t+n}:void 0,{},1===t?{wordWrap:"nowrap"}:void 0)]},Gu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=e+"px";return{position:"absolute",top:t,right:t,bottom:t,left:t}},Xu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return{position:"sticky",top:0,zIndex:e}};var Yu,Qu=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){var n,r,o,i,a;function l(e){return e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()})).replace("-","")}function c(e,t){return r[e]="",r[e]=t,!!r[e]}function s(e,t){return o.textContent="@media ("+e+":"+t+"){}",!!~o.sheet.cssRules[0].cssText.indexOf(t)}function u(e){return e in r}function d(e){return o.textContent=e+"{}",!!o.sheet.cssRules.length}Object.defineProperty(t,"__esModule",{value:!0});var p=[{props:["cursor"],values:["grab","grabbing","zoom-in","zoom-out"]},{props:["display"],values:["box","inline-box","flexbox","inline-flexbox","flex","inline-flex","grid","inline-grid"]},{props:["position"],values:["sticky"]},{props:["width","column-width","height","max-height","max-width","min-height","min-width"],values:["contain-floats","fill-available","fit-content","max-content","min-content"]}],f={"align-items":"box-align",flex:"box-flex","box-direction":"box-direction","box-orient":"box-orient","flex-grow":"box-flex","flex-wrap":"box-lines","justify-content":"box-pack",order:"box-ordinal-group"},_={"flex-end":"end","flex-start":"start",nowrap:"single","space-around":"justify","space-between":"justify",wrap:"multiple","wrap-reverse":"multiple"},h={"align-content":"-ms-flex-line-pack","align-items":"-ms-flex-align","align-self":"-ms-flex-item-align","flex-basis":"-ms-preferred-size","flex-grow":"-ms-flex-positive","flex-shrink":"-ms-flex-negative","justify-content":"-ms-flex-pack",order:"-ms-flex-order"},m={"flex-end":"end","flex-start":"start","space-around":"distribute","space-between":"justify"};function g(e){n=getComputedStyle(document.documentElement,null),r=document.createElement("div").style,o=document.documentElement.appendChild(document.createElement("style")),a=c,i=u,"zIndex"in r&&!("z-index"in r)&&(a=function(e,t){return c(l(e),t)},i=function(e){return u(l(e))}),function(e){var t={};function r(e){if("-"===e.charAt(0)){var n=e.split("-")[1];t[n]=++t[n]||1}}if(n&&n.length>0)for(var o=0;o-1?k(e,t,"flex-wrap",n):""!==n&&k(e,t,"flex-direction",n)}));if("flex-direction"===n)return t(e.properties["box-orient"],r.indexOf("column")>-1?"block-axis":"inline-axis"),void t(e.properties["box-direction"],r.indexOf("-reverse")>-1?"reverse":"normal")}e.WkBCTxt&&"background-clip"===n&&"text"===r?t("-webkit-background-clip",r):t(e.properties[n]||e.fixProperty(n),e.fixValue(r,n))}function O(e){var t=e.prefix;e.fixProperty=e.fixProperty||function(n){var r;return e.properties[n]=i(n)||!i(r=t+n)?n:r};var n=w("",e.selectorList,"(?:\\b|$|[^-])"),r=x("",e.selectorList,"(?:\\b|$|[^-])"),o=function(t,n){return null!=n?e.selectorMap[n]:t};e.fixSelector=function(e){return n.test(e)?e.replace(r,o):e};var a=e.functions.indexOf("linear-gradient")>-1,l=/\blinear-gradient\(/,c=/(^|\s|,|\()((?:repeating-)?linear-gradient\()\s*(-?\d*\.?\d*)deg/gi,s=function(e,t,n,r){return t+n+(90-r)+"deg"},u=!!e.functions.length,d=w("(?:^|\\s|,|\\()",e.functions,"\\s*\\("),p=x("(^|\\s|,|\\()",e.functions,"(?=\\s*\\()");function f(e,n,r){return n+t+r}var _=/^\s*([-\w]+)/gi,h=function(t,n){return e.properties[n]||e.fixProperty(n)};e.fixValue=function(t,n){var r;return null!=e.initial&&"initial"===t?e.initial:(e.hasKeywords&&(r=(e.keywords[n]||y)[t])||(r=t,e.valueProperties.hasOwnProperty(n)&&(r=-1===t.indexOf(",")?t.replace(_,h):function(e){for(var t,n=[],r=[],o=0;t=v.exec(e);)switch(t[0]){case"(":o++;break;case")":o--;break;case",":if(o)break;n.push(t.index)}for(t=n.length;t--;)r.unshift(e.slice(n[t]+1)),e=e.slice(0,n[t]);return r.unshift(e),r}(t).map((function(e){return e.replace(_,h)})).join(",")),u&&d.test(t)&&(a&&l.test(t)&&(r=r.replace(c,s)),r=r.replace(p,f))),r)};var m,g,b=/((?:min-|max-)?resolution)\s*:\s*((?:\d*\.)?\d+)dppx/g,O=e.hasPixelRatio?function(t,n,r){return e.properties[n]+":"+r}:e.hasPixelRatioFraction?function(t,n,r){return e.properties[n]+":"+Math.round(10*r)+"/10"}:function(e,t,n){return t+":"+Math.round(96*n)+"dpi"};e.fixAtMediaParams=!1!==e.hasDppx?function(e){return e}:function(e){return-1!==e.indexOf("reso")?e.replace(b,O):e};var j=function(e,t){m=e,g=t},S=/\(\s*([-\w]+)\s*:\s*((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*)/g;function P(t,n,r){return k(e,j,n,r),"("+m+":"+g}e.fixAtSupportsParams=function(e){return e.replace(S,P)}}b={atrules:{},hasAtrules:!1,hasDppx:null,hasKeywords:!1,hasPixelRatio:!1,hasPixelRatioFraction:!1,hasSelectors:!1,hasValues:!1,fixAtMediaParams:null,fixAtSupportsParams:null,fixProperty:null,fixSelector:null,fixValue:null,flexbox2009:!1,flexbox2012:!1,functions:[],initial:null,jsFlex:!1,keywords:{},placeholder:null,prefix:"",prefixes:[],Prefix:"",properties:{},selectorList:[],selectorMap:{},valueProperties:{transition:1,"transition-property":1,"will-change":1},WkBCTxt:!1},"function"==typeof getComputedStyle&&g(b),O(b),t.prefixPlugin=function e(){var t=b,n=[];return{set:{setPrefixDb:function(r){return-1===n.indexOf(r)&&(O(r),n.push(r)),t=r,e}},filter:function(e){return{atrule:function(n,r,o,i){e.atrule(t.hasAtrules&&t.atrules[n]||n,r,"@media"===n?t.fixAtMediaParams(o):"@supports"===n?t.fixAtSupportsParams(o):o,i)},decl:function(n,r){k(t,e.decl,n,r)},rule:function(n){e.rule(t.hasSelectors?t.fixSelector(n):n)}}}}}}));(Yu=Qu)&&Yu.__esModule&&Object.prototype.hasOwnProperty.call(Yu,"default")&&Yu.default;var Uu=new Fu(Qu.prefixPlugin),Ku=/[^a-z0-9\\-]/g,ed=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1?a-1:0),c=1;c0}));if(0!==s.length){var u=l||c.trim().replace(/^[^a-z]?(.*)/,"$1");ed(u,rd({styles:rd({styles:s,scope:a}),scope:i}))}},id=ed,ad=od,ld=function(e,t){return Mu({},e,t)},cd=function(e){return"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e)},sd=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return"rgba(".concat(e,", ").concat(t,")")},ud=function(e){var t=e.varFns,n=e.customVarFns,r=e.superStyle,o=e.varMixin,i=e.selector,a=e.scopedSelector,l=e.componentVars,c=void 0===l?{}:l,s=e.customVars,u=Wu({},c,{},s),d=s||u,p=(c.general_styles,Vu(c,["general_styles"])),f=void 0!==r?void 0!==s?r(i,c,s):r(i,p):[],_=Wu({},s?n:{},{},t);return f.concat(Object.keys(o(d)).map((function(e){return _&&void 0!==_[e]?_[e](a,u):null})).filter((function(e){return e})))},dd=function(e){var t=e.varFns,n=e.customVarFns,r=e.superLayout,o=e.varMixin,i=void 0===o?function(e){return e}:o;return function(e,o,a){return ud({varFns:t,customVarFns:n,superStyle:r,varMixin:i,selector:e,scopedSelector:e,componentVars:o,customVars:a})}},pd=function(e){var t=e.scopes,n=e.selector,r=e.isNoTouch,o=void 0!==r&&r;return n.split(/\s*,\s*/).map((function(e){return function(e){var t=e.scopes,n=e.selector;return e.isNoTouch?t.map((function(e){return e+n+":hover"})).join(","):t.map((function(e){return e+n})).join(",")}({scopes:t,selector:e,isNoTouch:o})})).join("")},fd=[{scopes:[".pe-dark-tone",".pe-dark-tone "],varFnName:"darkTintFns",isNoTouch:!1},{scopes:["",".pe-light-tone",".pe-light-tone "],varFnName:"lightTintFns",isNoTouch:!1},{scopes:[".pe-no-touch .pe-dark-tone "],varFnName:"darkTintHoverFns",isNoTouch:!0},{scopes:[".pe-no-touch ",".pe-no-touch .pe-light-tone "],varFnName:"lightTintHoverFns",isNoTouch:!0}],_d=function(e){var t=e.varFns,n=void 0===t?{}:t,r=e.superColor,o=e.varMixin,i=void 0===o?function(e){return e}:o;return function(e,t,o){return fd.map((function(a){var l=a.scopes,c=a.varFnName,s=a.isNoTouch;return function(e){var t=e.selector,n=e.scopedSelector,r=e.componentVars,o=e.customVars,i=e.varFns,a=e.superColor,l=e.varMixin;return ud({varFns:i,superStyle:a,varMixin:l,selector:t,scopedSelector:n,componentVars:r,customVars:o})}({selector:e,scopedSelector:pd({scopes:l,selector:e,isNoTouch:s}),componentVars:t,customVars:o,varFns:n[c],superColor:r,varMixin:i})}))}},hd=function(e,t){e||console.error("createMarker requires param `vars`");var n=function(e,t){var n=Object.keys(t).filter((function(t){return!0===e[t]})).join(".");return n?'"'.concat(n,'"'):void 0}(e,t);return n?{":before":{content:n,display:"none"}}:void 0},md=[{".layout, .layout.horizontal":Bu.layout,".layout.horizontal.inline, .layout.vertical.inline":Bu.layoutInline,".layout.horizontal":Bu.layoutHorizontal,".layout.horizontal.reverse":Bu.layoutHorizontalReverse,".layout.vertical":Bu.layoutVertical,".layout.vertical.reverse":Bu.layoutVerticalReverse,".layout.wrap":Bu.layoutWrap,".layout.wrap.reverse":Bu.layoutWrapReverse,".flex":Bu.flex(1),".span.flex":{display:"block"},".flex.auto-vertical":Bu.flexAutoVertical,".flex.auto":Bu.flexAuto,".flex.none":Bu.flexIndex("none"),".flex.one":Bu.flexIndex(1),".flex.two":Bu.flexIndex(2),".flex.three":Bu.flexIndex(3),".flex.four":Bu.flexIndex(4),".flex.five":Bu.flexIndex(5),".flex.six":Bu.flexIndex(6),".flex.seven":Bu.flexIndex(7),".flex.eight":Bu.flexIndex(8),".flex.nine":Bu.flexIndex(9),".flex.ten":Bu.flexIndex(10),".flex.eleven":Bu.flexIndex(11),".flex.twelve":Bu.flexIndex(12),".layout.start":Bu.layoutStart,".layout.center, .layout.center-center":Bu.layoutCenter,".layout.end":Bu.layoutEnd,".layout.start-justified":Bu.layoutStartJustified,".layout.center-justified, .layout.center-center":Bu.layoutCenterJustified,".layout.end-justified":Bu.layoutEndJustified,".layout.around-justified":Bu.layoutAroundJustified,".layout.justified":Bu.layoutJustified,".self-start":Bu.selfStart,".self-center":Bu.selfCenter,".self-end":Bu.selfEnd,".self-stretch":Bu.selfStretch}],gd=[{".pe-block":{display:"block"},".pe-inline-block":{display:"inline-block"},".pe-hidden":{display:"none !important"},".pe-relative":{position:"relative"},".pe-absolute":{position:"absolute"},".pe-fit":{position:"absolute",top:0,right:0,bottom:0,left:0},".pe-fullbleed":{margin:0,height:"100vh"},".pe-rtl":{direction:"rtl"},"*[dir=rtl], .pe-rtl ":{" .pe-rtl--flip":{transform:"scaleX(-1)"}}}];function bd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yd(){return(yd=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:le.unit_icon_size,r=n+e.label_height,o=(r-n)/2;return{" .pe-control__form-label":{height:t+"px"}," .pe-control__box":{width:n+"px",height:n+"px"}," .pe-button__content":{width:r+"px",height:r+"px",flexShrink:0," .pe-icon":[Gu(o)]}}},gf=function(e,t,n){var r;return ld(e,{" .pe-button.pe-control__button":(r={top:-(t.button_size-t.icon_size)/2+"px"},sf(r,n?"right":"left",-(t.button_size-t.icon_size)/2+"px"),sf(r,n?"left":"right","auto"),r)})},bf=function(e,t,n){return ld(e,{" .pe-control__label":sf({},n?"paddingRight":"paddingLeft",t.label_padding_before+"px")})},yf=function(e,t,n){return ld(e,{" .pe-control__label":sf({},n?"paddingLeft":"paddingRight",t.label_padding_after+"px")})},vf=dd({varFns:{general_styles:function(e,t){return[ld(e,[_f(t),{display:"inline-block",boxSizing:"border-box",margin:0,padding:0," input[type=checkbox], input[type=radio]":{display:"none"}," .pe-control__form-label":[Bu.layoutHorizontal,Bu.layoutCenter,{position:"relative",cursor:"pointer",margin:0,color:"inherit",":focus":{outline:0}}],".pe-control--inactive":{" .pe-control__form-label":{cursor:"default"}}," .pe-control__box":{position:"relative",display:"inline-block",boxSizing:"border-box",color:"inherit",flexShrink:0,":focus":{outline:0}}," .pe-button.pe-control__button":{position:"absolute"},".pe-control--off":{" .pe-control__button--on":{opacity:0,zIndex:-1}," .pe-control__button--off":{opacity:1,zIndex:0}},".pe-control--on":{" .pe-control__button--on":{opacity:1,zIndex:0}," .pe-control__button--off":{opacity:0,zIndex:-1}}," .pe-control__label":{alignSelf:"center"},".pe-control--disabled":{" .pe-control__form-label":{cursor:"auto"}," .pe-control__button":{pointerEvents:"none"}}," .pe-button__content":{" .pe-icon":{position:"absolute"}}},sf({},"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e),[hf(t)])])]},label_font_size:function(e,t){return[ld(e,{" .pe-control__form-label":{fontSize:t.label_font_size+"px"}})]},label_height:function(e,t){return[ld(e,{" .pe-control__box":{width:t.label_height+"px",height:t.label_height+"px"},".pe-control--small":mf(t,le.unit_icon_size_small,le.unit_icon_size_small),".pe-control--regular":mf(t,t.label_height,le.unit_icon_size),".pe-control--medium":mf(t,le.unit_icon_size_medium,le.unit_icon_size_medium),".pe-control--large":mf(t,le.unit_icon_size_large,le.unit_icon_size_large)})]},animation_duration:function(e,t){return[ld(e,{" .pe-button.pe-control__button":[$u("opacity",t.animation_duration)]," .pe-control__label":[$u("all",t.animation_duration)]})]},button_size:function(e,t){return[ld(e,{}),gf(e,t,!1),gf(cd(e),t,!0)]},icon_size:function(e,t){return[ld(e,{}),gf(e,t,!1),gf(cd(e),t,!0)]},label_padding_after:function(e,t){return[ld(e,{}),yf(e,t,!1),yf(cd(e),t,!0)]},label_padding_before:function(e,t){return[ld(e,{}),bf(e,t,!1),bf(cd(e),t,!0)]}}}),wf={general_styles:!0,animation_duration:le.animation_duration,button_size:6*le.grid_unit_component,icon_size:3*le.grid_unit_component,label_font_size:2*le.grid_unit_component,label_height:3*le.grid_unit_component,label_padding_after:0,label_padding_before:4*le.grid_unit,color_light_on:sd(le.color_primary),color_light_off:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_label:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled:sd(le.color_light_foreground,le.blend_light_text_disabled),color_light_on_icon:"inherit",color_light_off_icon:"inherit",color_light_on_label:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_off_label:sd(le.color_light_foreground,le.blend_light_text_secondary),color_dark_on:sd(le.color_primary),color_dark_off:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_label:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled:sd(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_on_icon:"inherit",color_dark_off_icon:"inherit",color_dark_on_label:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_off_label:sd(le.color_dark_foreground,le.blend_dark_text_secondary)},xf=[vf,ff],kf=".".concat("pe-control"),Of=_d({superColor:ff}),jf=dd({superLayout:vf}),Sf={general_styles:!0},Pf=[jf,Of],zf=".".concat("pe-checkbox-control");function Nf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function If(){return(If=Object.assign||function(e){for(var t=1;t *":{flexShrink:0}," > .pe-dialog-pane__body":{flexShrink:1,maxHeight:"none"}}," .pe-dialog-pane, .pe-dialog-pane__body":{height:"100vh",maxHeight:"100vh",borderTopStyle:"none",maxWidth:"none"}})},qf=dd({varFns:{general_styles:function(e){return[ld(e,[Bu.layoutVertical,{position:"relative",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit",borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit",margin:0," .pe-dialog-pane__content":{width:"100%",display:"flex",flexDirection:"column",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit",borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"}," .pe-dialog-pane__title":{fontSize:le.font_size_title+"px",fontWeight:le.font_weight_medium,"& + div":{marginTop:"16px"}}," .pe-dialog-pane__header, .pe-dialog-pane__content > .pe-toolbar":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"," .pe-dialog-pane__title":{width:"100%",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}," .pe-dialog-pane__body":[{overflowY:"auto","-webkit-overflow-scrolling":"touch",borderTopStyle:"solid",borderBottomStyle:"solid"," p":{margin:0}," p + p":{marginTop:"16px"}}],".pe-dialog-pane--body-full-bleed .pe-dialog-pane__body":{padding:0,borderStyle:"none"}," .pe-dialog-pane__header--title + .pe-dialog-pane__body":{paddingTop:0}," .pe-dialog-pane__footer":{display:"flex",flexDirection:"column",flexGrow:1,justifyContent:"center","&, > .pe-toolbar":{borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"},".pe-dialog-pane__footer--high":{paddingBottom:"8px"},".pe-dialog-pane__footer--buttons":{padding:"0 8px",fontSize:0}}," .pe-dialog-pane__actions":[Bu.layoutHorizontal,Bu.layoutEndJustified,Bu.layoutWrap,{alignItems:"center"}]}]),{" .pe-dialog__content.pe-menu__content":Nf({}," ".concat(e),{" .pe-dialog-pane__body":{padding:0,border:"none"}})}]},max_width:function(e,t){return[void 0!==t.side_padding_mobile&&Df(e,t)]},side_padding_mobile:function(e,t){return[void 0!==t.side_padding_mobile&&Df(e,t)]},min_width:function(e,t){return[ld(e,{minWidth:t.min_width+"px"})]},margin_vertical:function(e,t){return[ld(e,{maxHeight:"calc(100vh - 2 * ".concat(t.margin_vertical,"px)")}),void 0!==t.header_height&&void 0!==t.footer_height&&Ff(e,t)]},line_height_title:function(e,t){return[ld(e,{" .pe-dialog-pane__title":{lineHeight:t.line_height_title+"px"}})]},header_height:function(e,t){return[ld(e,{" .pe-dialog-pane__header":{height:t.header_height+"px"}}),void 0!==t.footer_height&&void 0!==t.margin_vertical&&Ff(e,t)]},footer_height:function(e,t){return[ld(e,{" .pe-dialog-pane__footer--buttons .pe-dialog-pane__actions":{minHeight:t.footer_height+"px"}}),void 0!==t.header_height&&void 0!==t.footer_height&&void 0!==t.margin_vertical&&Ff(e,t)]},padding:function(e,t){return[ld(e,{" .pe-dialog-pane__body":{padding:t.padding+"px"},".pe-dialog-pane--footer":{" .pe-dialog-pane__body":{paddingBottom:t.padding-10+"px"}}}),void 0!==t.header_bottom&&Tf(e,t)]},header_bottom:function(e,t){return[Tf(e,t)]},border_width:function(e,t){return[ld(e,{" .pe-dialog-pane__body":{borderWidth:t.border_width+"px"}})]}}}),Lf={general_styles:!0,border_width:1,footer_height:52,header_bottom:20,header_height:64,line_height_title:24,max_width:7*le.grid_unit_menu,min_width:5*le.grid_unit_menu,padding:3*le.grid_unit_component,side_padding_mobile:6*le.grid_unit,max_height:8*le.grid_unit_component,margin_vertical:8*le.grid_unit_component,color_light_title_text:"inherit",color_light_body_text:"inherit",color_light_body_border:sd(le.color_light_foreground,le.blend_light_border_light),color_light_background:"inherit",color_dark_title_text:"inherit",color_dark_body_text:"inherit",color_dark_body_border:sd(le.color_dark_foreground,le.blend_dark_border_light),color_dark_background:"inherit"},Bf=[qf,Rf],Mf=".".concat("pe-dialog-pane"),Hf="pe-dialog";function Wf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vf(){return(Vf=Object.assign||function(e){for(var t=1;t div":{width:"inherit",height:"inherit"}})]}},["small","regular","medium","large"].reduce((function(e,t){return e["size_".concat(t)]=function(e){return function(t,n){return ld(t,J_({},".pe-icon--".concat(e),{width:n["size_".concat(e)]+"px",height:n["size_".concat(e)]+"px"}))}}(t),e}),{}))}),Q_={general_styles:!0,size_small:le.unit_icon_size_small,size_regular:le.unit_icon_size,size_medium:le.unit_icon_size_medium,size_large:le.unit_icon_size_large,color_light_avatar_background:sd(le.color_light_foreground,le.blend_light_background_disabled),color_dark_avatar_background:sd(le.color_dark_foreground,le.blend_dark_background_disabled),color_light:"currentcolor",color_dark:"currentcolor"},U_=[Y_,X_],K_=".".concat("pe-icon");function eh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function th(){return(th=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e;return{"padding-left":e+"px","padding-right":t+"px"}},Xh=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return{"padding-top":e+"px","padding-bottom":t+"px"}},Yh=function(e,t){return ld(e,{lineHeight:t.single_line_height+"px",".pe-list-tile--navigation":{" .pe-list-tile__title":{minHeight:t.single_line_height+"px"}}," .pe-list-tile__title":[Zu(t.title_line_count,t.single_line_height,"px")]})},Qh=function(e,t){return ld(e,{"&, a":{pointerEvents:"none"}})},Uh=function(e,t){return Kh(e,t),em(e,t)},Kh=function(e,t){var n=t.inset_h_size;return ld(e,{marginLeft:n+"px",marginRight:n+"px"," .pe-list-tile__content":{marginLeft:-n+"px",marginRight:-n+"px"}})},em=function(e,t){var n=t.inset_v_size;return ld(e,{marginTop:n+"px",marginBottom:n+"px"})},tm=function(e,t){return ld(e,{"&, .pe-list-tile__primary":{borderRadius:t.rounded_border_radius+"px"}})},nm=dd({varFns:{general_styles:function(e,t){return[ld(e,[$h(t),Bu.layout,{position:"relative",".pe-list-tile--navigation":{" .pe-list-tile__title":{whiteSpace:"pre-wrap"}},".pe-list-tile--sticky":Xu(2),".pe-list-tile--inset-h":Kh(e,t),".pe-list-tile--inset-v":em(e,t)," .pe-list-tile__primary":{width:"100%"}," .pe-list-tile__primary, .pe-list-tile__secondary":[Bu.layoutHorizontal,$u("background",".200s"),{textDecoration:"none",color:"inherit",border:"none"}],":not(.pe-list-tile--header) .pe-list-tile__primary":[Bu.flex(),{position:"relative"," .pe-list-tile__content:not(.pe-list-tile__content-front)":[Bu.flex()]}],":not(.pe-list-tile--disabled)":{outline:"none"}," .pe-list-tile__secondary":{textAlign:"right",position:"relative"}," .pe-list-tile__content":[Bu.layoutVertical,Bu.selfCenter,{width:"100%",".pe-list-tile__content-front":{flexShrink:0}}]," .pe-list-tile__title":{whiteSpace:"normal"}," .pe-list-tile__subtitle":[Zu(t.subtitle_line_count,t.line_height_subtitle,"px"),{fontSize:t.font_size_subtitle+"px",fontWeight:t.font_weight_subtitle,lineHeight:t.line_height_subtitle+"px",".pe-list-tile__high-subtitle":[Zu(t.high_subtitle_line_count,t.line_height_subtitle,"px"),{whiteSpace:"normal"}]}],".pe-list-tile--selected, &.pe-list-tile--disabled":Qh(e),".pe-list-tile--subtitle":{" .pe-list-tile__content":{" .pe-list-tile__title":{padding:0}}},".pe-list-tile--high-subtitle":{" .pe-list-tile--high-subtitle .pe-list-tile__secondary":[Bu.layoutHorizontal,Bu.layoutStart]," .pe-list-tile__content":[Bu.selfStart,{" .pe-list-tile__title":{padding:0}}]},".pe-list-tile--header":{pointerEvents:"none"," .pe-list-tile__content":{paddingTop:0,paddingBottom:0}," .pe-list-tile__title":{padding:0}},"@supports (-moz-appearance:none) and (display:contents)":{" .pe-list-tile__primary, .pe-list-tile__content":{overflow:"hidden"}},".pe-dialog .pe-menu__content &":{" .pe-list-tile__content":{paddingLeft:"24px",paddingRight:"24px"}," .pe-list-tile__content-front":{paddingRight:0,width:"64px",marginRight:"-7px"}," .pe-list-tile__title":Zu("none")},".pe-menu__content &":{":not(.pe-list-tile--disabled)":{cursor:"default","&, .pe-list-tile__primary, .pe-list-tile__secondary":{" .pe-list-tile__title, .pe-list-tile__subtitle":{userSelect:"none","-moz-user-select":"none"}}}},"html.pe-no-touch &.pe-list-tile--hoverable, html.pe-no-touch &.pe-list-tile--selectable":{":not(.pe-list-tile--header):not(.pe-list-tile--disabled):not(.pe-list-tile--selected):hover":{cursor:"pointer"}}}]),Th({},cd(e),Zh(t))]},title_line_count:function(e,t){return[Yh(e,t)]},single_line_height:function(e,t){return[Yh(e,t)]},font_size_title:function(e,t){return[ld(e,{fontSize:t.font_size_title+"px"," .pe-list-tile__secondary":{fontSize:t.font_size_title+"px"}})]},font_weight_title:function(e,t){return[ld(e,{fontWeight:t.font_weight_title})]},font_size_navigation_title:function(e,t){return[ld(e,{".pe-list-tile--navigation":{fontSize:t.font_size_navigation_title+"px"}})]},font_weight_navigation_title:function(e,t){return[ld(e,{".pe-list-tile--navigation":{fontWeight:t.font_weight_navigation_title}})]},padding:function(e,t){return[ld(e,{":not(.pe-list-tile--header)":{" .pe-list-tile__content:not(.pe-list-tile__content-front)":[Xh(t.padding,t.padding+1)]}," .pe-list-tile__content":{".pe-list-tile__content-front":[Xh(t.padding-5)]}})]},side_padding:function(e,t){return[ld(e,{" .pe-list-tile__content":[Gh(t.side_padding)]})]},inset_size:function(e,t){return[ld(e,{".pe-list-tile--inset":Uh(e,t)})]},rounded_border_radius:function(e,t){return[ld(e,{".pe-list-tile--rounded":tm(e,t)})]},compact_front_item_width:function(e,t){return[ld(e,{" .pe-list-tile__content-front":{".pe-list-tile--compact-front":{width:t.compact_front_item_width+"px"}}})]},front_item_width:function(e,t){return[ld(e,{" .pe-list-tile__content-front":{":not(.pe-list-tile--compact-front)":{width:t.front_item_width+"px"}}})]},font_size_small:function(e,t){return[ld(e,{" .pe-list-tile__content":{" small":{fontSize:t.font_size_small+"px"}}})]},has_high_subtitle_padding:function(e,t){return[ld(e,{".pe-list-tile--high-subtitle":{" .pe-list-tile__content":[Xh(t.has_high_subtitle_padding,t.has_high_subtitle_padding+1)]}})]},has_subtitle_padding:function(e,t){return[ld(e,{".pe-list-tile--subtitle":{" .pe-list-tile__content":[Xh(t.has_subtitle_padding,t.has_subtitle_padding+1)]}})]},single_height:function(e,t){return[ld(e,{".pe-list-tile--header":{height:t.single_height+"px"," .pe-list-tile__title":[Zu(1,t.single_height,"px"),{lineHeight:t.single_height+"px",padding:0}]}})]},font_size_list_header:function(e,t){return[ld(e,{".pe-list-tile--header":{" .pe-list-tile__title":{fontSize:t.font_size_list_header+"px"}}})]},font_weight_list_header:function(e,t){return[ld(e,{".pe-list-tile--header":{" .pe-list-tile__title":{fontWeight:t.font_weight_list_header}}})]},compact_padding:function(e,t){return[ld(e,{" .pe-list--compact &, &.pe-list-tile--compact":{":not(.pe-list-tile--header)":{" .pe-list-tile__content:not(.pe-list-tile__content-front)":Xh(t.compact_padding,t.compact_padding+1)}}})]},inset:function(e,t){return t.inset&&Uh(e,t)},inset_h:function(e,t){return t.inset_h&&Kh(e,t)},inset_v:function(e,t){return t.inset_h&&em(e,t)},rounded:function(e,t){return t.rounded&&tm(e,t)},selected:function(e,t){return t.selected&&Qh(e)}}}),rm=qh({general_styles:!0,compact_front_item_width:64,compact_padding:9,compact_side_padding:1*le.grid_unit_component,font_size_list_header:14,font_size_navigation_title:14,font_size_small:12,font_size_subtitle:14,font_size_title:16,font_weight_list_header:le.font_weight_medium,font_weight_navigation_title:le.font_weight_medium,font_weight_subtitle:le.font_weight_normal,font_weight_title:le.font_weight_normal,front_item_width:72,has_high_subtitle_padding:13,has_subtitle_padding:15,high_subtitle_line_count:2,inset_h_size:1*le.grid_unit_component,inset_v_size:1*le.grid_unit_component,line_height_subtitle:20,padding:13,rounded_border_radius:le.unit_item_border_radius,side_padding:2*le.grid_unit_component,single_height:48,single_line_height:21,single_with_icon_height:56,single_with_icon_line_height:29,subtitle_line_count:1,title_line_count:1,color_light_title:sd(le.color_light_foreground,le.blend_light_text_primary),color_light_subtitle:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_info:sd(le.color_light_foreground,le.blend_light_text_tertiary),color_light_front:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_text_disabled:sd(le.color_light_foreground,le.blend_light_text_disabled),color_light_list_header:sd(le.color_light_foreground,le.blend_light_text_tertiary),color_light_secondary:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_hover:sd(le.color_light_foreground,le.blend_light_text_primary),color_light_hover_front:sd(le.color_light_foreground,le.blend_light_text_primary),color_light_hover_background:sd(le.color_light_foreground,le.blend_light_background_hover),color_light_focus_background:sd(le.color_light_foreground,le.blend_light_background_hover),color_light_selected_text:"inherit",color_light_selected_background:sd(le.color_light_foreground,le.blend_light_background_hover),color_light_highlight_background:sd(le.color_light_foreground,le.blend_light_background_hover),color_dark_title:sd(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_subtitle:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_info:sd(le.color_dark_foreground,le.blend_dark_text_tertiary),color_dark_front:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_text_disabled:sd(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_list_header:sd(le.color_dark_foreground,le.blend_dark_text_tertiary),color_dark_secondary:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_hover:sd(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_hover_front:sd(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_hover_background:sd(le.color_dark_foreground,le.blend_dark_background_hover),color_dark_selected_text:"inherit",color_dark_selected_background:sd(le.color_dark_foreground,le.blend_dark_background_hover),color_dark_highlight_background:sd(le.color_dark_foreground,le.blend_dark_background_hover)},{inset:!1,inset_h:!1,inset_v:!1,selected:!1,rounded:!1}),om=[nm,Vh],im=".".concat("pe-list-tile");function am(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lm(){return(lm=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}t=t&&t.hasOwnProperty("default")?t.default:t;var d="hidden",p="visible",f="exposing",_="hiding",h=function(e){var t=e.h,n=e.useState,r=e.useEffect,o=s(e,["h","useState","useEffect"]),i=u(n(o.permanent||o.permanent||o.show?p:d),2),a=i[0],l=i[1];r((function(){var e=a;o.permanent?a===p&&o.show?e=f:a!==f||o.show||(e=_):a===d&&o.show?e=p:a!==p||o.show||(e=_),e!==a&&l(e)}),[o]);var h=t("span",{className:o.placeholderClassName});return o.didHide?a!==d?t(o.instance,c({},o,{didHide:function(e){return o.didHide(e),l(o.permanent?p:d)}},a===_?{show:!0,hide:!0}:void 0)):h:o.permanent||o.inactive||o.show?t(o.instance,o):h},m=function(e,t){return e[t]=1,e},g=["key","style","href","id","data-index","tabIndex","tabindex","oninit","oncreate","onupdate","onbeforeremove","onremove","onbeforeupdate"],b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.add,r=t.remove,o=r?r.reduce(m,{}):{},i=n?g.concat(n):g,a=i.filter((function(e){return!o[e]})).reduce(m,{});return Object.keys(e).reduce((function(t,n){return a[n]&&(t[n]=e[n]),t}),{})},y=function(e){return"function"==typeof e?e():e},v=function(e){return{small:e.small,regular:e.regular,medium:e.medium,large:e.large,fab:e.fab}},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"regular";return v(e)[t]},x="undefined"!=typeof document,k=!x,O={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"},j=function(e){var t=e.element,n=e.selector,r=e.pseudoSelector,o=e.prop,i=n?t.querySelector(n):t;if(i){if(i.currentStyle)return i.currentStyle;if(window.getComputedStyle){var a=document.defaultView;if(a){var l=a.getComputedStyle(i,r);if(l)return l.getPropertyValue(o)}}}},S=function(e){var t=e.element,n=e.selector,r=e.pseudoSelector,o=e.prop,i=e.equals,a=e.contains,l=n?t.querySelector(n):t;if(!l)return!1;var c=document.defaultView;if(c){if(void 0!==i)return i===c.getComputedStyle(l,r).getPropertyValue(o);if(void 0!==a)return-1!==c.getComputedStyle(l,r).getPropertyValue(o).indexOf(a)}return!1},P=function(e){var t=parseFloat(e)*(-1===e.indexOf("ms")?1e3:1);return isNaN(t)?0:t},z=!k&&"ontouchstart"in document.documentElement,N=z?["click","mouseup"]:["mouseup"],I=z?["touchstart","mousedown"]:["mousedown"],E=z?["touchmove","mousemove"]:["mousemove"],C=z?["touchend","mouseup"]:["mouseup"];if(x){var R=document.querySelector("html");R&&R.classList.add(z?"pe-touch":"pe-no-touch")}var D={},T=function(e,t,n){D[e]=D[e]||[],D[e].push(n?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.05,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:x?window:{},r=!1;return function(){for(var o=arguments.length,i=new Array(o),a=0;a-1&&D[e].splice(n,1)}},A=function(e,t){D[e]&&D[e].forEach((function(e){return e(t)}))};x&&(window.addEventListener("resize",(function(e){return A("resize",e)})),window.addEventListener("scroll",(function(e){return A("scroll",e)})),window.addEventListener("keydown",(function(e){return A("keydown",e)})),N.forEach((function(e){return window.addEventListener(e,(function(t){return A(e,t)}))})));var q=function(e){var t=e.options,n=[],r=function(e){A(t.name,e)},o=function(e){var t=l(e);return n.indexOf(t)},i=function(e){var t=o(e);-1!==t&&(n.splice(t,1),r({id:e,name:"removeItem"}))},a=function(e,t){var r=o(e);-1!==r&&(n[r]=t)},l=function(e){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:t.defaultId;t.queue?(n.shift(),d()):i(e)},f=function(e,t){var n=l(t);n&&(n.pause=e,n.unpause=!e,r({id:t,name:e?"pause":"unpause"}))},_=function(e,n,o){var i,a,l=y(e),s=new Promise((function(e){return i=e})),u=new Promise((function(e){return a=e}));return c({},t,{instanceId:n,spawn:o,props:e,show:!t.queue,showPromise:s,hidePromise:u,didShow:function(){return l.didShow&&l.didShow(n),r({id:n,name:"didShow"}),i(n)},didHide:function(){return l.didHide&&l.didHide(n),r({id:n,name:"didHide"}),p(n),a(n)}})},h=function(){n.length=0,r({id:null,name:"removeAll"})};return{clear:h,count:function(){return n.length},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=e.id||t.defaultId,i=t.queue&&n.length?n[0]:l(o);return i&&(i.hide=!0),r({id:o,name:"hide"}),i?i.hidePromise:Promise.resolve(o)},pause:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.defaultId;return f(!0,e)},remove:p,show:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o.id||t.defaultId,c=o.spawn||t.defaultId,s=_(e,i,c);if(r({id:i,name:"show"}),t.queue)n.push(s),1===n.length&&d();else{var u=l(i);u?a(i,s):n.push(s)}return s.showPromise},unpause:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.defaultId;return f(!1,e)},render:function(e){var r=e.h,o=e.useState,i=e.useEffect,a=s(e,["h","useState","useEffect"]),l=u(o(),2)[1];i((function(){return T(t.name,l),function(){F(t.name,l)}}),[]);var d=a.spawn||t.defaultId,p=n.filter((function(e){return e.show&&e.spawn===d}));return t.htmlShowClass&&x&&document.documentElement&&document.documentElement.classList[p.length?"add":"remove"](t.htmlShowClass),p.length?r(t.holderSelector,{className:"container"===a.position?"pe-multiple--container":"pe-multiple--screen"},p.map((function(e){return r(t.instance,c({},y(a),{fromMultipleClear:h,spawnId:d,fromMultipleClassName:t.className,holderSelector:t.holderSelector,transitions:t.transitions,fromMultipleDidHide:e.didHide,fromMultipleDidShow:e.didShow,hide:e.hide,instanceId:e.instanceId,key:void 0!==e.key?e.key:e.keyId,pause:e.pause,show:e.show,unpause:e.unpause},y(e.props)))}))):r(t.placeholder)}}};q.displayName="Multi";var L="show",B="hide",M="show-done",H="hide-done",W={isVisible:!1,isTransitioning:!1},V=function(e,t){switch(t){case L:return c({},e,{isTransitioning:!0,isVisible:!0});case B:return c({},e,{isTransitioning:!0});case M:return c({},e,{isTransitioning:!1,isVisible:!0});case H:return c({},e,{isTransitioning:!1,isVisible:!1});default:throw new Error("Unhandled action type: ".concat(t))}},J=function(e){return Z(e,"show")},$=function(e){return Z(e,"hide")},Z=function(e,t){var n=e.el;return n?new Promise((function(r){var o=n.style,i=x?window.getComputedStyle(n):{},a=e.hasDuration&&void 0!==e.duration?1e3*e.duration:P(i.transitionDuration),l=e.hasDelay&&void 0!==e.delay?1e3*e.delay:P(i.transitionDelay),c=e.timingFunction||i.transitionTimingFunction;e.transitionClass&&n.classList.add(e.transitionClass);var s=function(){o.transitionDuration="0ms",o.transitionDelay="0ms",e.before&&"function"==typeof e.before&&e.before()},u=e.before&&"show"===t||e.before&&"hide"===t?s:null,d=function(){e.after&&"function"==typeof e.after&&e.after()},p=function(){!function(){(o.transitionDuration=a+"ms",o.transitionDelay=l+"ms",c&&(o.transitionTimingFunction=c),e.showClass)&&(e.showClassElement||n).classList["show"===t?"add":"remove"](e.showClass);e.transition&&e.transition()}(),setTimeout((function(){d&&d(),e.transitionClass&&(n.classList.remove(e.transitionClass),n.offsetHeight),r()}),a+l)},f=function(){0===a?p():setTimeout(p,0)};u?(u(),n.offsetHeight,setTimeout((function(){f()}),0)):f()})):Promise.resolve()},G=function(e){var t=e.dispatchTransitionState,n=e.isTransitioning,r=e.instanceId,o=e.isShow,i=e.props,a=e.domElements,l=e.beforeTransition,s=e.afterTransition,u=e.showClass,d=e.transitionClass;e.referrer;if(n)return Promise.resolve();t(o?L:B),l&&l();var p=o?i.showDuration:i.hideDuration,f=o?i.showDelay:i.hideDelay,_=o?i.showTimingFunction:i.hideTimingFunction,h=i.transitions,m=o?J:$,g=c({},i,{},a,{showClass:u,transitionClass:d,duration:p,delay:f,timingFunction:_}),b=c({},g,{},h?(o?h.show:h.hide)(g):void 0);return m(c({},b,{},{duration:void 0!==b.duration?b.duration:.24,hasDuration:void 0!==b.duration,delay:void 0!==b.delay?b.delay:0,hasDelay:void 0!==b.delay})).then((function(){var e=r;s&&s(),(o?i.fromMultipleDidShow:i.fromMultipleDidHide)?(o?i.fromMultipleDidShow:i.fromMultipleDidHide)(e):(o?i.didShow:i.didHide)&&(o?i.didShow:i.didHide)(e),t(o?M:H)}))};function X(){return(X=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Q={component:"pe-shadow",bottomShadow:"pe-shadow__bottom",topShadow:"pe-shadow__top",animated:"pe-shadow--animated",depth_n:"pe-shadow--depth-",with_active_shadow:"pe-with-active-shadow"},U=function(e){return void 0!==e?"".concat(Q.depth_n).concat(Math.min(5,e)):1};function K(e){return(K="function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?function(e){return n(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)})(e)}function ee(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function te(){return(te=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function oe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var ie={component:"pe-text-button",super:"pe-button",row:"pe-button-row",content:"pe-button__content",label:"pe-button__label",textLabel:"pe-button__text-label",wash:"pe-button__wash",washColor:"pe-button__wash-color",dropdown:"pe-button__dropdown",border:"pe-button--border",contained:"pe-button--contained",disabled:"pe-button--disabled",dropdownClosed:"pe-button--dropdown-closed",dropdownOpen:"pe-button--dropdown-open",extraWide:"pe-button--extra-wide",hasDropdown:"pe-button--dropdown",highLabel:"pe-button--high-label",inactive:"pe-button--inactive",raised:"pe-button--raised",selected:"pe-button--selected",separatorAtStart:"pe-button--separator-start",hasHover:"pe-button--has-hover"},ae="pe-with-active-shadow",le={grid_unit:4,grid_unit_component:8,increment:56,increment_large:64,grid_unit_menu:56,grid_unit_icon_button:48,unit_block_border_radius:4,unit_item_border_radius:4,unit_indent:72,unit_indent_large:80,unit_side_padding:16,unit_touch_height:48,unit_icon_size_small:16,unit_icon_size:24,unit_icon_size_medium:32,unit_icon_size_large:40,unit_screen_size_extra_large:1280,unit_screen_size_large:960,unit_screen_size_medium:480,unit_screen_size_small:320,animation_duration:".18s",animation_curve_slow_in_fast_out:"cubic-bezier(.4, 0, .2, 1)",animation_curve_slow_in_linear_out:"cubic-bezier(0, 0, .2, 1)",animation_curve_linear_in_fast_out:"cubic-bezier(.4, 0, 1, 1)",animation_curve_default:"ease-out",font_weight_light:300,font_weight_normal:400,font_weight_medium:500,font_weight_bold:700,font_size_title:20,line_height:1.5,color_primary:"33, 150, 243",color_primary_active:"30, 136, 229",color_primary_dark:"25, 118, 210",color_primary_faded:"100, 181, 249",color_primary_foreground:"255, 255, 255",color_light_background:"255, 255, 255",color_light_foreground:"0, 0, 0",color_dark_background:"34, 34, 34",color_dark_foreground:"255, 255, 255",blend_light_text_primary:.87,blend_light_text_regular:.73,blend_light_text_secondary:.54,blend_light_text_tertiary:.4,blend_light_text_disabled:.26,blend_light_border_medium:.24,blend_light_border_light:.11,blend_light_background_active:.14,blend_light_background_hover:.06,blend_light_background_hover_medium:.12,blend_light_background_disabled:.09,blend_light_overlay_background:.3,blend_dark_text_primary:1,blend_dark_text_regular:.87,blend_dark_text_secondary:.7,blend_dark_text_tertiary:.4,blend_dark_text_disabled:.26,blend_dark_border_medium:.22,blend_dark_border_light:.1,blend_dark_background_active:.14,blend_dark_background_hover:.08,blend_dark_background_hoverMedium:.12,blend_dark_background_disabled:.12,blend_dark_overlay_background:.3,breakpoint_for_phone_only:599,breakpoint_for_tablet_portrait_up:600,breakpoint_for_tablet_landscape_up:840,breakpoint_for_desktop_up:1280,breakpoint_for_big_desktop_up:1600,breakpoint_for_tv_up:1920,z_toolbar:100,z_menu:1e3,z_app_bar:2e3,z_drawer:3e3,z_notification:5e3,z_dialog:7e3};function ce(){return(ce=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var de,pe=function(){if(x){var e=document.createElement("fakeelement");for(var t in O){if(void 0!==e.style[t])return O[t]}}}(),fe=function(e){var t=e.e,n=e.id,r=e.el,o=e.props,i=e.classes;return new Promise((function(e){var a=document.createElement("div");a.setAttribute("class",i.mask),r.appendChild(a);var l=document.createElement("div");l.setAttribute("class",i.waves),a.appendChild(l);var c=r.getBoundingClientRect(),s=z&&t.touches?t.touches[0].pageX:t.clientX,u=z&&t.touches?t.touches[0].pageY:t.clientY,d=r.offsetWidth,p=r.offsetHeight,f=Math.sqrt(d*d+p*p),_=o.center?c.left+c.width/2:s,h=o.center?c.top+c.height/2:u,m=_-c.left-f/2,g=h-c.top-f/2,b=void 0!==o.startOpacity?o.startOpacity:.2,y=void 0!==o.opacityDecayVelocity?o.opacityDecayVelocity:.35,v=o.endOpacity||0,w=o.startScale||.1,x=o.endScale||2,O=o.duration?o.duration:1/y*.2,j=window.getComputedStyle(r).color,S=l.style;S.width=S.height=f+"px",S.top=g+"px",S.left=m+"px",S["animation-duration"]=S["-webkit-animation-duration"]=S["-moz-animation-duration"]=S["-o-animation-duration"]=O+"s",S.backgroundColor=j,S.opacity=b,S.animationName=n,S.animationTimingFunction=o.animationTimingFunction||le.animation_curve_default;var P="@keyframes ".concat(n," {\n 0% {\n transform:scale(").concat(w,");\n opacity: ").concat(b,"\n }\n 100% {\n transform:scale(").concat(x,");\n opacity: ").concat(v,";\n }\n }");!function(e,t){if(!k){var n=window.document,r=n.createElement("style");r.setAttribute("id",e),r.appendChild(n.createTextNode(t)),n.head.appendChild(r)}}(n,P);l.addEventListener(pe,(function t(c){!function(e){if(!k){var t=document.getElementById(e);t&&t.parentNode&&t.parentNode.removeChild(t)}}(n),l.removeEventListener(pe,t,!1),o.persistent?(S.opacity=v,S.transform="scale("+x+")"):(l.classList.remove(i.wavesAnimating),a.removeChild(l),r.removeChild(a)),e(c)}),!1),l.classList.add(i.wavesAnimating)}))},_e={component:"pe-ripple",mask:"pe-ripple__mask",waves:"pe-ripple__waves",unconstrained:"pe-ripple--unconstrained",wavesAnimating:"pe-ripple__waves--animating"};function he(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ge=Function.prototype.call.bind(Function.prototype.call),be=function(){return t.redraw()},ye=function(e){var t=de,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},ve=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=de,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&be()},r]},we=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=de;if(ye(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",be))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),xe={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ke=t||{},Oe=ke.trust;ke.trust=function(e,n){return n?t(n,Oe(e)):Oe(e)},ke.displayName="mithril",ke.fragment=t.fragment;var je=function(e,t){var n=function(e){var t=de;de=e.state;try{e.state.updates.forEach(ge)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),de=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=de;de=n.state;try{return e(function(e){for(var t=1;t0)){l.start&&l.start(e);var t="ripple_animation_".concat((new Date).getTime());fe({e:e,id:t,el:s,props:l,classes:_e}).then((function(e){l.end&&l.end(e),d.current--})),d.current++}};a((function(){d.current=0}),[]),a((function(){if(p&&p.addEventListener)return N.forEach((function(e){return p.addEventListener(e,f,!1)})),function(){N.forEach((function(e){return p.removeEventListener(e,f,!1)}))}}),[p]);var _=ce({},b(l),r((function(e){return e&&!s&&u(e)})),l.testId&&{"data-test-id":l.testId},{className:[_e.component,l.unconstrained?_e.unconstrained:null,"dark"===l.tone?"pe-dark-tone":null,"light"===l.tone?"pe-light-tone":null,l.className||l[n.class]].join(" ")}),h=[l.before,l.after];return t(l.element||"div",_,h)}),{h:ke,a:xe,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useRef:function(e){return o(ve({current:e}),1)[0]},useState:function(e){var t=de;return ve(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:we});function Se(){return(Se=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}je.displayName="Ripple";var ze={component:"pe-icon",avatar:"pe-icon--avatar",large:"pe-icon--large",medium:"pe-icon--medium",regular:"pe-icon--regular",small:"pe-icon--small"};function Ne(){return(Ne=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ee(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ce,Re={component:"pe-svg"};function De(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Fe=Function.prototype.call.bind(Function.prototype.call),Ae=function(){return t.redraw()},qe=function(e){var t=Ce,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ce;if(qe(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ae))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Be={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Me=t||{},He=Me.trust;Me.trust=function(e,n){return n?t(n,He(e)):He(e)},Me.displayName="mithril",Me.fragment=t.fragment;var We,Ve=function(e,t){var n=function(e){var t=Ce;Ce=e.state;try{e.state.updates.forEach(Fe)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ce=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ce;Ce=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ce,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ae()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});function Je(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Ze=Function.prototype.call.bind(Function.prototype.call),Ge={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Xe=t||{},Ye=Xe.trust;Xe.trust=function(e,n){return n?t(n,Ye(e)):Ye(e)},Xe.displayName="mithril",Xe.fragment=t.fragment;var Qe,Ue=function(e,t){var n=function(e){var t=We;We=e.state;try{e.state.updates.forEach(Ze)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),We=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=We;We=n.state;try{return e(function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},pt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=it,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ut()},r]},ft=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=it;if(dt(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ut))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),_t={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ht=t||{},mt=ht.trust;ht.trust=function(e,n){return n?t(n,mt(e)):mt(e)},ht.displayName="mithril",ht.fragment=t.fragment;var gt,bt=function(e,t){var n=function(e){var t=it;it=e.state;try{e.state.updates.forEach(st)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),it=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=it;it=n.state;try{return e(function(e){for(var t=1;t')}}):null]);return n(s.element||"a",S,[s.before,N,s.after])}),{h:ht,a:_t,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useState:function(e){var t=it;return pt(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:ft,useRef:function(e){return o(pt({current:e}),1)[0]},Ripple:je,Shadow:at,Icon:Ue});function yt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var wt=Function.prototype.call.bind(Function.prototype.call),xt={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},kt=t||{},Ot=kt.trust;function jt(){return(jt=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}kt.trust=function(e,n){return n?t(n,Ot(e)):Ot(e)},kt.displayName="mithril",kt.fragment=t.fragment;var Pt={component:"pe-button-group"},zt=function(e,t){var n=function(e){var t=gt;gt=e.state;try{e.state.updates.forEach(wt)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),gt=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=gt;gt=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Et(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Ct(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:"regular";return Ft[e]},qt="pe-button-row",Lt={horizontal:Dt.actionsHorizontal,vertical:Dt.actionsVertical,justified:Dt.actionsJustified},Bt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"horizontal";return Lt[e]};function Mt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Wt=Function.prototype.call.bind(Function.prototype.call),Vt=function(){return t.redraw()},Jt=function(e){var t=Rt,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},$t=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Rt;if(Jt(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Vt))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Zt={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Gt=t||{},Xt=Gt.trust;Gt.trust=function(e,n){return n?t(n,Xt(e)):Xt(e)},Gt.displayName="mithril",Gt.fragment=t.fragment;var Yt=function(e,t){var n=function(e){var t=Rt;Rt=e.state;try{e.state.updates.forEach(Wt)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Rt=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Rt;Rt=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var en,tn={component:"pe-list-tile",content:"pe-list-tile__content",highSubtitle:"pe-list-tile__high-subtitle",primary:"pe-list-tile__primary",secondary:"pe-list-tile__secondary",subtitle:"pe-list-tile__subtitle",title:"pe-list-tile__title",contentFront:"pe-list-tile__content-front",compact:"pe-list-tile--compact",compactFront:"pe-list-tile--compact-front",disabled:"pe-list-tile--disabled",hasFront:"pe-list-tile--front",hasHighSubtitle:"pe-list-tile--high-subtitle",hasSubtitle:"pe-list-tile--subtitle",header:"pe-list-tile--header",hoverable:"pe-list-tile--hoverable",insetH:"pe-list-tile--inset-h",insetV:"pe-list-tile--inset-v",selectable:"pe-list-tile--selectable",selected:"pe-list-tile--selected",rounded:"pe-list-tile--rounded",highlight:"pe-list-tile--highlight",sticky:"pe-list-tile--sticky",navigation:"pe-list-tile--navigation"},nn=function(e){var t=e.h,n=e.a,r=e.props,o=r.keyboardControl?null:r.url,i=r.element?r.element:o?"a":"div",a=[tn.content,tn.contentFront,r.compactFront?tn.compactFront:null].join(" "),l=r.front||r.indent?t("div",Ut({},{className:a}),r.front):null,c=!r.header&&r.url,s=Ut({},b(r),r.events,{className:tn.primary,style:null},c&&Qt({},n.tabindex,r[n.tabindex]||0),o),u=r.content?r.content:[l,t("div",{className:tn.content,style:r.style},[r.title&&!r.content?t("div",Ut({},{className:tn.title}),r.title):null,r.subtitle?t("div",Ut({},{className:tn.subtitle}),r.subtitle):null,r.highSubtitle?t("div",Ut({},{className:tn.subtitle+" "+tn.highSubtitle}),r.highSubtitle):null,r.subContent?t("div",Ut({},{className:tn.subContent}),r.subContent):null,r.children])];return t(i,s,u)},rn=function(e){var t=e.h,n=e.a,r=e.Icon,o=e.props,i=void 0===o?{}:o,a=i.keyboardControl?null:i.url,l=i.element?i.element:a?"a":"div",c=i.url;return t(l,Ut({},a,{className:tn.secondary},i.events,b(i),c&&Qt({},n.tabindex,i[n.tabindex]||0)),t("div",{className:tn.content},[i.icon?t(r,i.icon):null,i.content?i.content:null]))};function on(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ln=Function.prototype.call.bind(Function.prototype.call),cn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},sn=t||{},un=sn.trust;sn.trust=function(e,n){return n?t(n,un(e)):un(e)},sn.displayName="mithril",sn.fragment=t.fragment;var dn=function(e,t){var n=function(e){var t=en;en=e.state;try{e.state.updates.forEach(ln)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),en=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=en;en=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Rt,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Vt()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:$t,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});fn.displayName="CardMedia";var _n=Yt((function(e){var t=e.h,n=e.a,r=It(e,["h","a"]),o=Array.isArray(r.content)?r.content.reduce((function(e,t){return"media"===Object.keys(t)[0]||e}),!1):r.media||!1,i=Nt({},b(r),r.testId&&{"data-test-id":r.testId},{className:[Dt.primary,r.tight?Dt.primaryTight:null,o?Dt.primaryHasMedia:null,r.className||r[n.class]].join(" ")},r.events),a=r.dispatcher,l={title:function(e){return e.attrs||e.props?e||e.props:t("div",{className:Dt.title,style:e.style},[e.title,e.subtitle?t("div",{className:Dt.subtitle},e.subtitle):null])},media:function(e){return t("div",{className:Dt.primaryMedia,style:e.style},a({media:e}))},actions:function(e){return a({actions:e})}},c=Array.isArray(r.content)?r.content.map((function(e){var t=Object.keys(e)[0],n=e[t];return l[t]?l[t](n):e})):[r.title?l.title({title:r.title,subtitle:r.subtitle}):null,r.media?l.media(r.media):null,r.actions?l.actions(r.actions):null,r.content];return t(r.element||"div",i,c)}),{h:Gt,a:Zt});_n.displayName="CardPrimary";var hn=Yt((function(e){var t=e.h,n=e.a,r=e.CardActions,o=e.CardMedia,i=e.CardPrimary,a=e.Icon,l=e.ListTile,c=e.Shadow,s=It(e,["h","a","CardActions","CardMedia","CardPrimary","Icon","ListTile","Shadow"]),u=Nt({},b(s),s.testId&&{"data-test-id":s.testId},{className:[Dt.component,"dark"===s.tone?"pe-dark-tone":null,"light"===s.tone?"pe-light-tone":null,s.className||s[n.class]].join(" ")},s.url,s.events),d=Array.isArray(s.content)?s.content.map((function e(c){var s=Object.keys(c)[0],u=Nt({},c[s],{dispatcher:e,key:void 0});switch(s){case"actions":return t(r,u);case"header":return function(e){var t=e.props,n=e.h,r=e.a,o=e.Icon;return n(e.ListTile,Nt({},t,{className:[Dt.header,t.className||t[r.class]].join(" ")},t.icon?{front:n(o,t.icon)}:null))}({props:u,h:t,a:n,Icon:a,ListTile:l});case"media":return t(o,u);case"overlay":return function(e){var t=e.dispatcher,n=e.props,r=e.h,o=e.a,i=n.element||"div",a=n.content.map(t);return r("div",{style:n.style,className:[Dt.overlay,n.sheet?Dt.overlaySheet:null,"light"===n.tone?null:"pe-dark-tone","light"===n.tone?"pe-light-tone":null].join(" ")},[r(i,{className:[Dt.overlayContent,n.className||n[o.class]].join(" ")},a),r("div",{className:Dt.mediaDimmer})])}({dispatcher:e,props:u,h:t,a:n});case"primary":return t(i,u);case"text":return function(e){var t=e.props,n=e.h,r=e.a;return n(t.element||"div",Nt({},b(t),{className:[Dt.text,t.tight?Dt.textTight:null,t.className||t[r.class]].join(" ")},t.events),t.content)}({props:u,h:t,a:n});case"any":return function(e){var t=e.props,n=e.h,r=e.a;return n(t.element||"div",Nt({},b(t),{className:[Dt.any,t.tight?Dt.textTight:null,t.className||t[r.class]].join(" ")}),t.content)}({props:u,h:t,a:n});default:throw'Content type "'.concat(s,'" does not exist')}})):[s.content],p=[s.before].concat(Ct(d),[s.after]),f=void 0!==s.shadowDepth?s.shadowDepth:s.z,_=[t(c,{shadowDepth:void 0!==f?f:1,animated:!0}),t("div",{className:Dt.content},p),s.children],h=s.element||s.url?"a":"div";return t(h,u,_)}),{h:Gt,a:Zt,CardActions:pn,CardMedia:fn,CardPrimary:_n,Icon:Ue,ListTile:dn,Shadow:at});function mn(){return(mn=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}hn.displayName="Card";var bn="pe-checkbox-control",yn={iconOff:'',iconOn:''};function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wn(){return(wn=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function kn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var On,jn={component:"pe-control",formLabel:"pe-control__form-label",input:"pe-control__input",label:"pe-control__label",disabled:"pe-control--disabled",inactive:"pe-control--inactive",large:"pe-control--large",medium:"pe-control--medium",off:"pe-control--off",on:"pe-control--on",regular:"pe-control--regular",small:"pe-control--small",box:"pe-control__box",button:"pe-control__button",buttonOff:"pe-control__button--off",buttonOn:"pe-control__button--on"},Sn=function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.ViewControl,a=xn(e,["h","a","useState","useEffect","ViewControl"]);delete a.key;var l=kn(r(void 0!==a.defaultChecked?a.defaultChecked:a.checked||!1),2),c=l[0],s=l[1],u=kn(r(a.selectable),2),d=u[0],p=u[1],f=void 0!==a.checked?a.checked:c,_=a.disabled||!d;o((function(){var e=void 0!==a.selectable&&a.selectable(f);e!==d&&p(e)}),[a.selectable,f]);var h=function(e,t){a.onChange&&a.onChange({event:e,checked:t,value:a.value})},m=a.events&&a.events[n.onclick],g=a.events&&a.events[n.onkeydown]?a.events[n.onkeydown]:function(e){"Enter"!==e.key&&32!==e.keyCode||(e.preventDefault(),m?m(e):function(e){var t=!f;s(t),h(e,t)}(e))},y=wn({},b(a,{remove:["style"]}),a.testId&&{"data-test-id":a.testId},{className:[jn.component,a.instanceClass,f?jn.on:jn.off,a.disabled?jn.disabled:null,_?jn.inactive:null,w(jn,a.size),"dark"===a.tone?"pe-dark-tone":null,"light"===a.tone?"pe-light-tone":null,a.className||a[n.class]].join(" ")}),v=t("label",wn({},{className:jn.formLabel},m&&vn({},n.onclick,(function(e){return e.preventDefault(),m(e)}))),[a.before,t(i,wn({},a,{inactive:_,checked:f,events:vn({},n.onkeydown,g)})),a.label?t(".".concat(jn.label),a.label):null,t("input",wn({},a.events,{name:a.name,type:a.type,value:a.value,checked:f},a.disabled||_?vn({},n.readonly,"readonly"):vn({},n.onchange,(function(e){var t=e.currentTarget.checked;"radio"===a.type||s(t),h(e,t)})))),a.after]);return t(a.element||"div",y,v)},Pn=[{iconType:"iconOn",className:jn.buttonOn},{iconType:"iconOff",className:jn.buttonOff}],zn=function(e){var t=e.h,n=e.Icon,r=e.IconButton,o=xn(e,["h","Icon","IconButton"]),i=o.element||".".concat(jn.box),a=t(r,wn({},{element:"div",className:jn.button,style:o.style,content:Pn.map((function(e){return t(n,function(e,t,n,r){return wn({},{className:r},n[t]?n[t]:{svg:{content:e.trust(n.icons[t])}},n.icon,n.size?{size:n.size}:null)}(t,e.iconType,o,e.className))})),ripple:{center:!0},disabled:o.disabled,events:o.events,inactive:o.inactive},o.iconButton));return t(i,null,a)};function Nn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function In(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var En=Function.prototype.call.bind(Function.prototype.call),Cn=function(){return t.redraw()},Rn=function(e){var t=On,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Dn=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=On;if(Rn(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Cn))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Tn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Fn=t||{},An=Fn.trust;Fn.trust=function(e,n){return n?t(n,An(e)):An(e)},Fn.displayName="mithril",Fn.fragment=t.fragment;var qn=function(e,t){var n=function(e){var t=On;On=e.state;try{e.state.updates.forEach(En)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),On=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=On;On=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Mn,Hn="pe-button pe-icon-button",Wn="pe-icon-button__content",Vn="pe-icon-button__label",Jn="pe-icon-button--compact";function $n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Gn=Function.prototype.call.bind(Function.prototype.call),Xn={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Yn=t||{},Qn=Yn.trust;Yn.trust=function(e,n){return n?t(n,Qn(e)):Qn(e)},Yn.displayName="mithril",Yn.fragment=t.fragment;var Un=function(e,t){var n=function(e){var t=Mn;Mn=e.state;try{e.state.updates.forEach(Gn)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Mn=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Mn;Mn=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=On,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Cn()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Dn,ViewControl:Kn});er.displayName="SelectionControl";var tr,nr=qn((function(e){var t=e.h,n=e.SelectionControl,r=gn(e,["h","SelectionControl"]);return t(n,mn({},r,{icons:yn,selectable:r.selectable||function(){return!0},instanceClass:bn,type:"checkbox"}))}),{h:Fn,a:Tn,SelectionControl:er});function rr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function or(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}nr.displayName="Checkbox";var ir=Function.prototype.call.bind(Function.prototype.call),ar=function(){return t.redraw()},lr=function(e){var t=tr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},cr=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=tr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ar()},r]},sr=function(e){var t=tr;return cr(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},ur=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=tr;if(lr(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ar))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),dr={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},pr=t||{},fr=pr.trust;pr.trust=function(e,n){return n?t(n,fr(e)):fr(e)},pr.displayName="mithril",pr.fragment=t.fragment;var _r=function(e,t){var n=function(e){var t=tr;tr=e.state;try{e.state.updates.forEach(ir)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),tr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=tr;tr=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var br={component:"pe-dialog",placeholder:"pe-dialog__placeholder",holder:"pe-dialog__holder",content:"pe-dialog__content",backdrop:"pe-dialog__backdrop",touch:"pe-dialog__touch",fullScreen:"pe-dialog--full-screen",modal:"pe-dialog--modal",open:"pe-dialog--open",visible:"pe-dialog--visible",showBackdrop:"pe-dialog--backdrop",transition:"pe-dialog--transition",menuContent:"pe-menu__content"},yr=".".concat(br.component);function vr(){return(vr=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function xr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var kr,Or={component:"pe-dialog-pane",actions:"pe-dialog-pane__actions",body:"pe-dialog-pane__body",content:"pe-dialog-pane__content",footer:"pe-dialog-pane__footer",header:"pe-dialog-pane__header",title:"pe-dialog-pane__title",withHeader:"pe-dialog-pane--header",withFooter:"pe-dialog-pane--footer",headerWithTitle:"pe-dialog-pane__header--title",footerWithButtons:"pe-dialog-pane__footer--buttons",footerHigh:"pe-dialog-pane__footer--high",borderBottom:"pe-dialog-pane--border-bottom",borderTop:"pe-dialog-pane--border-top",fullBleed:"pe-dialog-pane--body-full-bleed"},jr={component:"pe-text-button",super:"pe-button",row:"pe-button-row",content:"pe-button__content",label:"pe-button__label",textLabel:"pe-button__text-label",wash:"pe-button__wash",washColor:"pe-button__wash-color",dropdown:"pe-button__dropdown",border:"pe-button--border",contained:"pe-button--contained",disabled:"pe-button--disabled",dropdownClosed:"pe-button--dropdown-closed",dropdownOpen:"pe-button--dropdown-open",extraWide:"pe-button--extra-wide",hasDropdown:"pe-button--dropdown",highLabel:"pe-button--high-label",inactive:"pe-button--inactive",raised:"pe-button--raised",selected:"pe-button--selected",separatorAtStart:"pe-button--separator-start",hasHover:"pe-button--has-hover"};function Sr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var zr=Function.prototype.call.bind(Function.prototype.call),Nr=function(){return t.redraw()},Ir=function(e){var t=kr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Er=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=kr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Nr()},r]},Cr=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=kr;if(Ir(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Nr))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Rr={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Dr=t||{},Tr=Dr.trust;Dr.trust=function(e,n){return n?t(n,Tr(e)):Tr(e)},Dr.displayName="mithril",Dr.fragment=t.fragment;var Fr=function(e,t){var n=function(e){var t=kr;kr=e.state;try{e.state.updates.forEach(zr)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),kr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=kr;kr=n.state;try{return e(function(e){for(var t=1;t0),x(e.scrollHeight-(e.scrollTop+e.getBoundingClientRect().height)>0))};o((function(){u&&(k.current=u.querySelector(".".concat(Or.header)),O.current=u.querySelector(".".concat(Or.footer)),j.current=u.querySelector(".".concat(Or.body)))}),[u]),o((function(){if(j.current){var e=function(){P()};return T("resize",e),function(){F("resize",e)}}}),[j.current]),o((function(){P()}),[j.current,f]);var z,N,I,E=void 0!==c.header||void 0!==c.title,C=void 0!==c.footer||void 0!==c.footerButtons,R=c.borders||"overflow",D="always"===R||E&&"overflow"===R&&m,A="always"===R||C&&"overflow"===R&&w,q=vr({},b(c,{remove:["style"]}),c.testId&&{"data-test-id":c.testId},a((function(e){return e&&!u&&(d(e),c.ref&&c.ref(e))})),{className:[Or.component,c.fullBleed?Or.fullBleed:null,D?Or.borderTop:null,A?Or.borderBottom:null,E?Or.withHeader:null,C?Or.withFooter:null,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[n.class]].join(" ")},c.formOptions),L=t("div",{className:[Or.content,c.menu?Or.menuContent:null].join(" "),style:c.style},[c.header?c.header:c.title?t("div",{className:[Or.header,Or.headerWithTitle].join(" ")},t("div",{className:Or.title},c.title)):null,t("div",(z={className:Or.body},N=n.onscroll,I=function(){_(!0),clearTimeout(S.current),S.current=setTimeout((function(){_(!1)}),50)},N in z?Object.defineProperty(z,N,{value:I,enumerable:!0,configurable:!0,writable:!0}):z[N]=I,z),c.content||c.body||c.menu),c.footer?t("div",{className:Or.footer},c.footer):c.footerButtons?t("div",{className:[Or.footer,Or.footerWithButtons,jr.row].join(" ")},t("div",{className:Or.actions},c.footerButtons)):null]),B=[c.before,L,c.after];return t(c.element||"form",q,B)}),{h:Dr,a:Rr,useState:function(e){var t=kr;return Er(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Cr,useRef:function(e){return o(Er({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});Fr.displayName="DialogPane";var Ar="pe-dialog__placeholder",qr="pe-dialog__holder",Lr="pe-dialog--open",Br=_r((function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.useRef,a=e.getRef,l=e.useReducer,c=e.Pane,s=e.Shadow,u=e.openDialogsSelector,d=mr(e,["h","a","useState","useEffect","useRef","getRef","useReducer","Pane","Shadow","openDialogsSelector"]),p=gr(l(V,W),2),f=p[0],_=p[1],h=gr(r(),2),m=h[0],g=h[1],y=i(),v=i(),w=i(),x=(f||W).isVisible,k=(f||W).isTransitioning,O=function(e){var t=e.isShow,n=e.hideDelay,r=void 0===n?d.hideDelay:n,o=e.referrer;return{transitionState:f,dispatchTransitionState:_,instanceId:d.instanceId,props:hr({},d,{hideDelay:r}),isShow:t,domElements:{el:m,contentEl:w.current,backdropEl:y.current},showClass:br.visible,transitionClass:br.transition,referrer:o}},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hideDelay,n=e.referrer;return G(O({isShow:!1,hideDelay:t,referrer:n}))},P=function(){return d.modal||m&&m.classList.contains(br.modal)||S({element:m,pseudoSelector:":before",prop:"content",contains:'"'.concat("modal",'"')})};o((function(){m&&(y.current=m.querySelector(".".concat(br.backdrop)),v.current=m.querySelector(".".concat(br.touch)),w.current=m.querySelector(".".concat(br.content)))}),[m]),o((function(){if(m&&!d.inactive){var e=function e(t){if(!(d.disableEscape&&(d.fullScreen||m&&m.classList.contains(br.fullScreen)||S({element:m,pseudoSelector:":before",prop:"content",contains:'"'.concat("full_screen",'"')})||P())||"Escape"!==t.key&&"Esc"!==t.key)){var n=document.querySelectorAll(u);n[n.length-1]===m&&(j(),F("keydown",e))}};return T("keydown",e),function(){F("keydown",e)}}}),[m,d.inactive]),o((function(){m&&!k&&(d.hide?x&&j():d.show&&(x||G(O({isShow:!0}))))}),[m,k,x,d.hide,d.show]);var z,N,I,E=hr({},b(d,{remove:["style"]}),a((function(e){return e&&!m&&(g(e),d.ref&&d.ref(e))})),(z={className:[d.parentClassName||br.component,d.fromMultipleClassName,d.fullScreen?br.fullScreen:null,d.modal?br.modal:null,d.backdrop?br.showBackdrop:null,"dark"===d.tone?"pe-dark-tone":null,"light"===d.tone?"pe-light-tone":null,d.className||d[n.class]].join(" "),"data-spawn-id":d.spawnId,"data-instance-id":d.instanceId},N=n.onclick,I=function(e){e.target!==m&&e.target!==y.current&&e.target!==v.current||P()||j()},N in z?Object.defineProperty(z,N,{value:I,enumerable:!0,configurable:!0,writable:!0}):z[N]=I,z)),C=d.panesOptions&&d.panesOptions.length?t(c,d.panesOptions[0]):d.panes&&d.panes.length?d.panes[0]:function(e){var t=e.h,n=e.Pane,r=e.props;return t(n,{body:r.content||r.body||r.menu||r.children,element:r.element,borders:r.borders,className:r.className,footer:r.footer,footerButtons:r.footerButtons,formOptions:r.formOptions,fullBleed:r.fullBleed,header:r.header,style:r.style,title:r.title})}({h:t,Pane:c,props:d}),R=d.shadowDepth,D=[t("div",{className:br.backdrop}),t("div",{className:br.touch}),t("div",{className:[br.content,d.menu?br.menuContent:null].join(" ")},[d.fullScreen?null:t(s,{shadowDepth:void 0!==R?R:3,animated:!0}),d.before,C,d.after])];return t("div",E,D)}),{h:pr,a:dr,useState:sr,useEffect:ur,useRef:function(e){return o(cr({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useReducer:function(e,t,n){var r,i,a,l,c=tr,s=!c.setup&&n?n(t):t;return r=o(cr(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},Shadow:at,Pane:Fr,openDialogsSelector:yr});Br.displayName="DialogInstance";var Mr,Hr=q({options:{name:"dialog",htmlShowClass:Lr,defaultId:"default_dialog",holderSelector:"div.".concat(qr),instance:Br,placeholder:"span.".concat(Ar)}}),Wr=_r(Hr.render,{h:pr,useState:sr,useEffect:ur});function Vr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Object.getOwnPropertyNames(Hr).filter((function(e){return"render"!==e})).forEach((function(e){return Wr[e]=Hr[e]})),Wr.displayName="Dialog";var $r=Function.prototype.call.bind(Function.prototype.call),Zr=function(){return t.redraw()},Gr=function(e){var t=Mr,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Xr=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Mr;if(Gr(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Zr))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Yr=t||{},Qr=Yr.trust;Yr.trust=function(e,n){return n?t(n,Qr(e)):Qr(e)},Yr.displayName="mithril",Yr.fragment=t.fragment;var Ur=function(e,t){var n=function(e){var t=Mr;Mr=e.state;try{e.state.updates.forEach($r)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Mr=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Mr;Mr=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var to={component:"pe-dialog pe-drawer",cover:"pe-drawer--cover",push:"pe-drawer--push",mini:"pe-drawer--mini",permanent:"pe-drawer--permanent",border:"pe-drawer--border",floating:"pe-drawer--floating",fixed:"pe-drawer--fixed",anchorEnd:"pe-drawer--anchor-end",visible:"pe-dialog--visible"},no=".".concat(to.component,".").concat(to.visible,":not(.").concat(to.permanent,"),.").concat(to.component,".").concat(to.visible,".").concat(to.mini,",.").concat(to.component,".").concat(to.cover,",.").concat(to.component,".").concat(to.permanent,".").concat(to.visible).replace(/ /g,".");function ro(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var io={component:"pe-dialog pe-drawer",cover:"pe-drawer--cover",push:"pe-drawer--push",mini:"pe-drawer--mini",permanent:"pe-drawer--permanent",border:"pe-drawer--border",floating:"pe-drawer--floating",fixed:"pe-drawer--fixed",anchorEnd:"pe-drawer--anchor-end",visible:"pe-dialog--visible"},ao=Ur((function(e){var t=e.h,n=e.Dialog,r=eo(e,["h","Dialog"]),o=!(r.push||r.permanent||r.mini);return t(n,Kr({},r,{fullBleed:!0,className:null,parentClassName:[r.className,to.component,o?to.cover:null,r.push?to.push:null,r.permanent?to.permanent:null,r.border?to.border:null,r.mini?to.mini:null,r.floating?to.floating:null,r.fixed?to.fixed:null,"end"===r.anchor?to.anchorEnd:null].join(" "),inactive:r.permanent&&!r.mini,shadowDepth:void 0!==r.shadowDepth?r.shadowDepth:0}),r.children)}),{h:Yr,Dialog:Br,openDialogsSelector:no});ao.displayName="DrawerInstance";var lo=Ur(h,{h:Yr,useState:function(e){var t=Mr;return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Mr,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Zr()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Xr});lo.displayName="DrawerToggle";var co={view:function(e){return Yr(lo,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}co.displayName="Drawer";var po,fo={component:"pe-fab",content:"pe-fab__content",mini:"pe-fab--mini"};function _o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ho(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var mo=Function.prototype.call.bind(Function.prototype.call),go={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},bo=t||{},yo=bo.trust;bo.trust=function(e,n){return n?t(n,yo(e)):yo(e)},bo.displayName="mithril",bo.fragment=t.fragment;var vo=function(e,t){var n=function(e){var t=po;po=e.state;try{e.state.updates.forEach(mo)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),po=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=po;po=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function jo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}vo.displayName="FAB";var So,Po={component:"pe-spinner",animation:"pe-spinner__animation",placeholder:"pe-spinner__placeholder",animated:"pe-spinner--animated",fab:"pe-spinner--fab",large:"pe-spinner--large",medium:"pe-spinner--medium",permanent:"pe-spinner--permanent",raised:"pe-spinner--raised",regular:"pe-spinner--regular",singleColor:"pe-spinner--single-color",small:"pe-spinner--small",visible:"pe-spinner--visible"},zo=function(e){return G(function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},To=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=So,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ro()},r]},Fo=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=So;if(Do(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ro))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Ao={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},qo=t||{},Lo=qo.trust;qo.trust=function(e,n){return n?t(n,Lo(e)):Lo(e)},qo.displayName="mithril",qo.fragment=t.fragment;var Bo=function(e,t){var n=function(e){var t=So;So=e.state;try{e.state.updates.forEach(Co)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),So=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=So;So=n.state;try{return e(function(e){for(var t=1;t0&&y.push(t(l,{shadowDepth:c.shadowDepth})),t("div",g,y)}),{h:qo,a:Ao,useReducer:function(e,t,n){var r,i,a,l,c=So,s=!c.setup&&n?n(t):t;return r=o(To(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},useState:function(e){var t=So;return To(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Fo,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},Shadow:at});function Mo(){return(Mo=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Bo.displayName="BaseSpinner",Bo.classes={component:"pe-spinner",animation:"pe-spinner__animation",placeholder:"pe-spinner__placeholder",animated:"pe-spinner--animated",fab:"pe-spinner--fab",large:"pe-spinner--large",medium:"pe-spinner--medium",permanent:"pe-spinner--permanent",raised:"pe-spinner--raised",regular:"pe-spinner--regular",singleColor:"pe-spinner--single-color",small:"pe-spinner--small",visible:"pe-spinner--visible"};var Wo,Vo={component:"pe-ios-spinner",blades:"pe-ios-spinner__blades",blade:"pe-ios-spinner__blade"};function Jo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Zo=Function.prototype.call.bind(Function.prototype.call),Go=function(){return t.redraw()},Xo=function(e){var t=Wo,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Yo=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Wo;if(Xo(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Go))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Qo=t||{},Uo=Qo.trust;Qo.trust=function(e,n){return n?t(n,Uo(e)):Uo(e)},Qo.displayName="mithril",Qo.fragment=t.fragment;var Ko=function(e,t){var n=function(e){var t=Wo;Wo=e.state;try{e.state.updates.forEach(Zo)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Wo=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Wo;Wo=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Wo,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Go()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Yo});oi.displayName="IOSSpinnerToggle";var ii={view:function(e){return Qo(oi,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function di(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:"both";return _i[e]};function mi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var bi=Function.prototype.call.bind(Function.prototype.call),yi={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},vi=t||{},wi=vi.trust;vi.trust=function(e,n){return n?t(n,wi(e)):wi(e)},vi.displayName="mithril",vi.fragment=t.fragment;var xi=function(e,t){var n=function(e){var t=pi;pi=e.state;try{e.state.updates.forEach(bi)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),pi=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=pi;pi=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ni(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ii,Ei={component:"pe-md-progress-spinner",animation:"pe-md-progress-spinner__animation",circle:"pe-md-progress-spinner__circle",circleRight:"pe-md-progress-spinner__circle-right",circleLeft:"pe-md-progress-spinner__circle-left"},Ci=function(e,t,n,r){var o=e.style;o.transform=o["-webkit-transform"]=o["-moz-transform"]=o["-ms-transform"]=o["-o-transform"]="rotate("+function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e+(t-e)*n}(t,n,r)+"deg)"},Ri=function(e,t,n){var r=e.querySelector("."+Ei.animation).style;r.clip=n<.5?"rect(0px, "+t+"px, "+t+"px, "+t/2+"px)":"rect(auto, auto, auto, auto)";var o=e.querySelector("."+Ei.circleLeft),i=e.querySelector("."+Ei.circleRight);o.style.clip=i.style.clip="rect(0px, "+t/2+"px, "+t+"px, 0px)",Ci(i,0,180,Math.min(1,2*n)),Ci(o,0,360,n)};function Di(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ti(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Fi=Function.prototype.call.bind(Function.prototype.call),Ai=function(){return t.redraw()},qi=function(e){var t=Ii,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Li=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ii,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ai()},r]},Bi=function(e){var t=Ii;return Li(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Mi=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ii;if(qi(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ai))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Hi=t||{},Wi=Hi.trust;Hi.trust=function(e,n){return n?t(n,Wi(e)):Wi(e)},Hi.displayName="mithril",Hi.fragment=t.fragment;var Vi=function(e,t){var n=function(e){var t=Ii;Ii=e.state;try{e.state.updates.forEach(Fi)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ii=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ii;Ii=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Yi.classes={component:"pe-md-progress-spinner",animation:"pe-md-progress-spinner__animation",circle:"pe-md-progress-spinner__circle",circleRight:"pe-md-progress-spinner__circle-right",circleLeft:"pe-md-progress-spinner__circle-left"},Yi.displayName="MaterialDesignProgressSpinner";var Ki,ea={component:"pe-md-spinner",animation:"pe-md-spinner__animation",circle:"pe-md-spinner__circle",circleClipper:"pe-md-spinner__circle-clipper",circleClipperLeft:"pe-md-spinner__circle-clipper-left",circleClipperRight:"pe-md-spinner__circle-clipper-right",gapPatch:"pe-md-spinner__gap-patch",layer:"pe-md-spinner__layer",layerN:"pe-md-spinner__layer-"};function ta(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ra=Function.prototype.call.bind(Function.prototype.call),oa=function(){return t.redraw()},ia=function(e){var t=Ki,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},aa=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ki;if(ia(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",oa))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),la=t||{},ca=la.trust;la.trust=function(e,n){return n?t(n,ca(e)):ca(e)},la.displayName="mithril",la.fragment=t.fragment;var sa=function(e,t){var n=function(e){var t=Ki;Ki=e.state;try{e.state.updates.forEach(ra)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ki=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ki;Ki=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ki,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&oa()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:aa});_a.displayName="MaterialDesignSpinnerToggle";var ha,ma={view:function(e){return la(_a,function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},xa=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=ha,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&va()},r]},ka=function(e){var t=ha;return xa(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Oa=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=ha;if(wa(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",va))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),ja={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Sa=t||{},Pa=Sa.trust;Sa.trust=function(e,n){return n?t(n,Pa(e)):Pa(e)},Sa.displayName="mithril",Sa.fragment=t.fragment;var za=function(e,t){var n=function(e){var t=ha;ha=e.state;try{e.state.updates.forEach(ya)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),ha=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=ha;ha=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ea(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Ca={component:"pe-menu",panel:"pe-menu__panel",content:"pe-menu__content",placeholder:"pe-menu__placeholder",backdrop:"pe-menu__backdrop",floating:"pe-menu--floating",origin:"pe-menu--origin",permanent:"pe-menu--permanent",showBackdrop:"pe-menu--backdrop",visible:"pe-menu--visible",width_auto:"pe-menu--width-auto",width_n:"pe-menu--width-",isTopMenu:"pe-menu--top-menu",listTile:"pe-list-tile",selectedListTile:"pe-list-tile--selected"};function Ra(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Da(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Ta="pe-menu__placeholder",Fa=za((function(e){var t=e.h,n=e.a,r=e.useReducer,o=e.useState,i=e.useEffect,a=e.useRef,l=e.getRef,c=e.Shadow,s=Ia(e,["h","a","useReducer","useState","useEffect","useRef","getRef","Shadow"]),u=Ea(r(V,W),2)[1],d=Ea(o(),2),p=d[0],f=d[1],_=Ea(o(!!s.permanent),2)[1],h=a(),m=a(),g=function(){v(),w()},y=function(e){var t=e.isShow,n=e.hideDelay,r=void 0===n?s.hideDelay:n;return{dispatchTransitionState:u,setIsVisible:_,props:Na({},s,{hideDelay:r}),isShow:t,beforeTransition:t?function(){return g()}:null,domElements:{el:h.current,showClassElement:p},showClass:Ca.visible}},v=function(){if(!k&&s.target){var e=h.current,t=m.current,n=document.querySelector(s.target);if(n&&e){var r=S({element:e,prop:"position",equals:"fixed"});if(r&&!s.topMenu&&!S({element:p,pseudoSelector:":before",prop:"content",contains:'"'.concat("top_menu",'"')}))return Na(e.style,{}),void e.offsetHeight;var o=e.parentNode.getBoundingClientRect(),i=n.getBoundingClientRect(),a=void 0!==s.offsetH?s.offsetH:void 0!==s.offset?s.offset:0,l=void 0!==s.offsetV?s.offsetV:"79%",c=-1!==a.toString().indexOf("%")?Math.round(.01*parseFloat(a)*i.width):Math.round(parseFloat(a)),u=-1!==l.toString().indexOf("%")?Math.round(.01*parseFloat(l)*i.height):Math.round(parseFloat(l)),d=s.origin||"top",f=d.split(/\W+/).reduce((function(e,t){return e[t]=!0,e}),{}),_=t.querySelectorAll("."+Ca.listTile)[0];if(s.reposition){var g=t.querySelector("."+Ca.selectedListTile);if(_&&g){var b=_.getBoundingClientRect(),y=g.getBoundingClientRect();u=b.top-y.top}var v=(g||_).getBoundingClientRect(),w=n.getBoundingClientRect().height-v.height;u+=Math.abs(w)/2}else s.origin&&!r&&(f.top?u+=i.top-o.top:f.bottom&&(u+=i.top-o.bottom));if(s.height){var x=_?_.clientHeight:48;if("max"===s.height){var O=u,j=x;e.style.height="calc(100% - ".concat(O+j,"px)")}else{var P=/^\d+$/.test(s.height.toString())?"".concat(s.height,"px"):s.height;e.style.height=P}}var z=e.style.transitionDuration;e.style.transitionDuration="0ms",e.parentNode&&!r&&(f.right?e.style.right=i.right-o.right+c+"px":e.style.left=i.left-o.left+c+"px",f.bottom?e.style.bottom=u+"px":e.style.top=u+"px",e.style.transformOrigin=d.split(/\W+/).join(" ")),e.offsetHeight,e.style.transitionDuration=z}}},w=function(){if(!k&&s.scrollTarget){var e=document.querySelector(s.scrollTarget);e&&(m.current.scrollTop=e.offsetTop)}},x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.hideDelay;return G(y({isShow:!1,hideDelay:t}))};i((function(){if(p){h.current=p.querySelector(".".concat(Ca.panel)),Na(h.current.style,s.style),m.current=p.querySelector(".".concat(Ca.content));var e=function(e){"Escape"!==e.key&&"Esc"!==e.key||x({hideDelay:0})},t=function(e){e.target!==h.current&&x()};return s.permanent||(T("resize",g),T("keydown",e),setTimeout((function(){C.forEach((function(e){return document.addEventListener(e,t)})),G(y({isShow:!0}))}),0)),function(){s.permanent||(F("resize",g),F("keydown",e),C.forEach((function(e){return document.removeEventListener(e,t)})))}}}),[p]);var O,j,P=s.type||"floating",z=Na({},b(s,{remove:["style"]}),s.testId&&{"data-test-id":s.testId},l((function(e){return e&&!p&&(f(e),s.getRef&&s.getRef(e))})),{className:[Ca.component,s.permanent?Ca.permanent:null,s.origin?Ca.origin:null,s.backdrop?Ca.showBackdrop:null,s.topMenu?Ca.isTopMenu:null,"floating"!==P||s.permanent?null:Ca.floating,s.width||s.size?(j=s.width||s.size,O=j<1.5?1.5:j,Ca.width_n+O.toString().replace(".","-")):null,"dark"===s.tone?"pe-dark-tone":null,"light"===s.tone?"pe-light-tone":null,s.className||s[n.class]].join(" ")}),N=void 0!==s.shadowDepth?s.shadowDepth:1,I=[t("div",{className:Ca.backdrop}),t("div",{className:Ca.panel},[t(c,{shadowDepth:N,animated:!0}),t("div",{className:Ca.content},s.content||s.children)])],E=[s.before].concat(I,[s.after]);return t(s.element||"div",z,E)}),{h:Sa,a:ja,useReducer:function(e,t,n){var r,i,a,l,c=ha,s=!c.setup&&n?n(t):t;return r=o(xa(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]},useState:ka,useEffect:Oa,useRef:function(e){return o(xa({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},Shadow:at}),Aa=za(h,{h:Sa,useState:ka,useEffect:Oa});Aa.displayName="MenuToggle";var qa,La={view:function(e){return Sa(Aa,function(e){for(var t=1;t0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Ja=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=qa,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Wa()},r]},$a=function(e){var t=qa;return Ja(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Za=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=qa;if(Va(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Wa))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Ga={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Xa=t||{},Ya=Xa.trust;Xa.trust=function(e,n){return n?t(n,Ya(e)):Ya(e)},Xa.displayName="mithril",Xa.fragment=t.fragment;var Qa=function(e,t){var n=function(e){var t=qa;qa=e.state;try{e.state.updates.forEach(Ha)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),qa=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=qa;qa=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function el(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var tl={component:"pe-notification",action:"pe-notification__action",content:"pe-notification__content",holder:"pe-notification__holder",placeholder:"pe-notification__placeholder",title:"pe-notification__title",hasContainer:"pe-notification--container",horizontal:"pe-notification--horizontal",multilineTitle:"pe-notification__title--multi-line",vertical:"pe-notification--vertical",visible:"pe-notification--visible"},nl=function(e){var t=e.h,n=e.a,r=e.useState,o=e.useEffect,i=e.useRef,a=e.getRef,l=e.useReducer,c=Ka(e,["h","a","useState","useEffect","useRef","getRef","useReducer"]),s=el(l(V,W),2),u=s[0],d=s[1],p=el(r(),2),f=p[0],_=p[1],h=el(r(!1),2),m=h[0],g=h[1],y=i(),v=i(),w=i(),O=(u||W).isVisible,j=(u||W).isTransitioning,S=(u||W).isHiding,P=function(e){var t=e.isShow,n=e.referrer;return{dispatchTransitionState:d,instanceId:c.instanceId,props:c,isShow:t,beforeTransition:N,afterTransition:t?function(){var e=c.timeout;if(0===e);else{var t=void 0!==e?e:3;w.current.start((function(){return z()}),t)}}:null,domElements:{el:f,containerEl:y.current},showClass:tl.visible,referrer:n}},z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.referrer;return G(P({isShow:!1,referrer:t}))},N=function(){w.current&&w.current.stop()};o((function(){return function(){N()}}),[]),o((function(){w.current=new Si}),[]),o((function(){var e;f&&(x&&(y.current=document.querySelector(c.containerSelector||c.holderSelector),y.current||console.error("No container element found"),c.containerSelector&&y.current&&y.current.classList.add(tl.hasContainer)),v.current=f.querySelector(".".concat(tl.title)),v.current&&(e=v.current,k||e.getBoundingClientRect().height>parseInt(window.getComputedStyle(e).lineHeight,10)+parseInt(window.getComputedStyle(e).paddingTop,10)+parseInt(window.getComputedStyle(e).paddingBottom,10)&&e.classList.add(tl.multilineTitle)))}),[f]),o((function(){!f||j||S||(c.hide?O&&z():c.show&&(O||G(P({isShow:!0}))))}),[f,j,O,S,c.hide,c.show]),o((function(){!f||j||S||(c.unpause?m&&(g(!1),w.current&&w.current.resume()):c.pause&&(m||(g(!0),w.current&&w.current.pause())))}),[f,j,S,c.pause,c.unpause]);var I,E,C,R=Ua({},b(c,{remove:["style"]}),a((function(e){return e&&!f&&(_(e),c.ref&&c.ref(e))})),c.testId&&{"data-test-id":c.testId},(I={className:[tl.component,c.fromMultipleClassName,"light"===c.tone?null:"pe-dark-tone",c.containerSelector?tl.hasContainer:null,"vertical"===c.layout?tl.vertical:tl.horizontal,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[n.class]].join(" ")},E=n.onclick,C=function(e){return e.preventDefault()},E in I?Object.defineProperty(I,E,{value:C,enumerable:!0,configurable:!0,writable:!0}):I[E]=C,I)),D=t("div",{className:tl.content,style:c.style},c.content||[c.title?t("div",{className:tl.title},c.title):null,c.action?t("div",{className:tl.action},c.action):null]),T=[c.before,D,c.after];return t(c.element||"div",R,T)},rl={component:"pe-notification",action:"pe-notification__action",content:"pe-notification__content",holder:"pe-notification__holder",placeholder:"pe-notification__placeholder",title:"pe-notification__title",hasContainer:"pe-notification--container",horizontal:"pe-notification--horizontal",multilineTitle:"pe-notification__title--multi-line",vertical:"pe-notification--vertical",visible:"pe-notification--visible"},ol=Qa(nl,{h:Xa,a:Ga,useState:$a,useEffect:Za,useRef:function(e){return o(Ja({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useReducer:function(e,t,n){var r,i,a,l,c=qa,s=!c.setup&&n?n(t):t;return r=o(Ja(s),3),i=r[0],a=r[1],l=r[2],[i,function(t){var n=c.states[l];return a(e(n,t))}]}});ol.displayName="NotificationInstance";var il=q({options:{name:"notification",className:rl.component,htmlShowClass:rl.open,defaultId:"default_notification",holderSelector:".".concat(rl.holder),instance:ol,placeholder:"span.".concat(rl.placeholder),queue:!0}}),al=Qa(il.render,{h:Xa,useState:$a,useEffect:Za});function ll(){return(ll=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Object.getOwnPropertyNames(il).filter((function(e){return"render"!==e})).forEach((function(e){return al[e]=il[e]})),al.displayName="Notification";var sl,ul="pe-radio-control",dl={iconOff:'',iconOn:''};function pl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var _l=Function.prototype.call.bind(Function.prototype.call),hl=function(){return t.redraw()},ml=function(e){var t=sl,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},gl=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=sl;if(ml(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",hl))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),bl={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},yl=t||{},vl=yl.trust;yl.trust=function(e,n){return n?t(n,vl(e)):vl(e)},yl.displayName="mithril",yl.fragment=t.fragment;var wl=function(e,t){var n=function(e){var t=sl;sl=e.state;try{e.state.updates.forEach(_l)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),sl=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=sl;sl=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=sl,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&hl()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:gl,ViewControl:xl});kl.displayName="SelectionControl";var Ol=wl((function(e){var t=e.h,n=e.SelectionControl,r=cl(e,["h","SelectionControl"]);return t(n,ll({},r,{icons:dl,selectable:r.selectable||function(e){return!e},instanceClass:ul,type:"radio"}))}),{h:yl,a:bl,SelectionControl:kl});function jl(){return(jl=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Pl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Ol.displayName="RadioButton";var zl,Nl={component:"pe-radio-group"};function Il(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function El(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Cl=Function.prototype.call.bind(Function.prototype.call),Rl=function(){return t.redraw()},Dl=function(e){var t=zl,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Tl=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=zl;if(Dl(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Rl))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Fl={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Al=t||{},ql=Al.trust;Al.trust=function(e,n){return n?t(n,ql(e)):ql(e)},Al.displayName="mithril",Al.fragment=t.fragment;var Ll=function(e,t){var n=function(e){var t=zl;zl=e.state;try{e.state.updates.forEach(Cl)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),zl=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=zl;zl=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=zl,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Rl()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:Tl,RadioButton:Ol});Ll.displayName="RadioGroup";Function.prototype.call.bind(Function.prototype.call);var Bl=t||{},Ml=Bl.trust;function Hl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Bl.trust=function(e,n){return n?t(n,Ml(e)):Ml(e)},Bl.displayName="mithril",Bl.fragment=t.fragment;var Vl={view:function(e){return Bl(bt,function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Zl(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Vl.displayName="RaisedButton";var Gl={component:"pe-search",content:"pe-search__content",searchFullWidth:"pe-search--full-width",searchInset:"pe-search--inset"};function Xl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yl(){return(Yl=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ec(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var tc,nc={component:"pe-textfield",counter:"pe-textfield__counter",error:"pe-textfield__error",errorPlaceholder:"pe-textfield__error-placeholder",focusHelp:"pe-textfield__help-focus",help:"pe-textfield__help",input:"pe-textfield__input",inputArea:"pe-textfield__input-area",label:"pe-textfield__label",optionalIndicator:"pe-textfield__optional-indicator",requiredIndicator:"pe-textfield__required-indicator",hasCounter:"pe-textfield--counter",hasFloatingLabel:"pe-textfield--floating-label",hasFullWidth:"pe-textfield--full-width",hideClear:"pe-textfield--hide-clear",hideSpinner:"pe-textfield--hide-spinner",hideValidation:"pe-textfield--hide-validation",isDense:"pe-textfield--dense",isRequired:"pe-textfield--required",stateDirty:"pe-textfield--dirty",stateDisabled:"pe-textfield--disabled",stateFocused:"pe-textfield--focused",stateInvalid:"pe-textfield--invalid",stateReadonly:"pe-textfield--readonly"},rc={invalid:!1,message:void 0},oc=function(e,t){return e.ignoreEvents&&-1!==e.ignoreEvents.indexOf(t)};function ic(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ac(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var lc=Function.prototype.call.bind(Function.prototype.call),cc=function(){return t.redraw()},sc=function(e){var t=tc,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},uc=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=tc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&cc()},r]},dc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=tc;if(sc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",cc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),pc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},fc=t||{},_c=fc.trust;fc.trust=function(e,n){return n?t(n,_c(e)):_c(e)},fc.displayName="mithril",fc.fragment=t.fragment;var hc,mc=function(e,t){var n=function(e){var t=tc;tc=e.state;try{e.state.updates.forEach(lc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),tc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=tc;tc=n.state;try{return e(function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.type,n=e.focus,r=e.value;y.current&&(void 0!==r&&(y.current.value=r),void 0!==n&&(k.current=n,n?y.current.focus():y.current.blur()),"input"===t&&(l.validateOnInput||l.counter)&&(O.current=y.current.value!==c),"input"!==t&&(O.current=y.current.value!==c),"onblur"===t&&(O.current=!0),x.current=""!==y.current.value,I(),E(),v.current!==y.current.value&&g(y.current.value))},N=function(){var e=rc;return O.current&&f&&0===y.current.value.length&&l.validateResetOnClear&&(O.current=!1,_(!1),j.current=void 0),l.counter&&(e={invalid:y.current.value.length>l.counter,message:l.error}),!e.invalid&&y.current.checkValidity&&(e={invalid:!y.current.checkValidity(),message:l.error}),!e.invalid&&l.validate&&(e=function(){if(!y.current)return rc;var e=l.validate(y.current.value);return{invalid:e&&!e.valid,message:e&&e.error}}()),e},I=function(){var e=void 0!==l.valid?{invalid:!l.valid,message:l.error}:O.current||l.validateAtStart?N():rc,t=f;j.current=e.message,e.invalid!==t&&_(e.invalid),e.invalid||(j.current=void 0)},E=function(){if(l.onChange){var e=N(),t={focus:k.current,dirty:x.current,invalid:e.invalid,error:e.error,value:y.current.value};JSON.stringify(t)!==JSON.stringify(w.current)&&(l.onChange(Ul({},t,{el:y.current,setInputState:function(e){var t=void 0!==e.value&&e.value!==y.current.value,n=void 0!==e.focus&&e.focus!==k.current;(t||n)&&z(e)}})),w.current=t)}};o((function(){x.current=""!==c,k.current=!1,O.current=!1,j.current=l.error}),[]),o((function(){u&&(y.current=u.querySelector(S),y.current.value=c,z(),I(),E())}),[u]),o((function(){if(y.current){var e=void 0!==l.value&&null!==l.value?l.value:y.current?y.current.value:v.current,t=null==e?"":e.toString();y.current&&v.current!==t&&(y.current.value=t,v.current=t,z({type:"input"}))}}),[y.current,l.value]),o((function(){y.current&&(I(),E())}),[l,y.current&&y.current.value]);var C=Yl({},b(l),l.testId&&{"data-test-id":l.testId},a((function(e){return e&&!u&&(d(e),l.ref&&l.ref(e))})),{className:[nc.component,f?nc.stateInvalid:"",k.current?nc.stateFocused:"",x.current?nc.stateDirty:"",l.floatingLabel?nc.hasFloatingLabel:"",l.disabled?nc.stateDisabled:"",l.readonly?nc.stateReadonly:"",l.dense?nc.isDense:"",l.required?nc.isRequired:"",l.fullWidth?nc.hasFullWidth:"",l.counter?nc.hasCounter:"",!1!==l.hideSpinner&&void 0!==l.hideSpinner?nc.hideSpinner:"",!1!==l.hideClear&&void 0!==l.hideClear?nc.hideClear:"",l.hideValidation?nc.hideValidation:"","dark"===l.tone?"pe-dark-tone":null,"light"===l.tone?"pe-light-tone":null,l.className||l[n.class]].join(" ")}),R=Ul({},l,{},l.domAttributes),D=l.error||j.current,T=R.multiLine?null:R.type&&"submit"!==R.type&&"search"!==R.type?R.type:"text",F=f&&void 0!==D,A=R.disabled||R[n.readonly],q=R.required&&""!==R.requiredIndicator?t("span",{className:nc.requiredIndicator},R.requiredIndicator||"*"):null,L=!R.required&&R.optionalIndicator?t("span",{className:nc.optionalIndicator},R.optionalIndicator):null,B=R.label?[R.label,q,L]:null,M=R.events||{},H=[t("div",{className:nc.inputArea},[B?t("label",{className:nc.label},B):null,t(S,Yl({},{className:nc.input,disabled:R.disabled},T?{type:T}:null,R.name?{name:R.name}:null,M,oc(R,n.onclick)?null:Xl({},n.onclick,(function(e){A||(z({focus:!0}),M[n.onclick]&&M[n.onclick](e))})),oc(R,n.onfocus)?null:Xl({},n.onfocus,(function(e){A||(z({focus:!0}),u&&u.classList.add(nc.stateFocused),M[n.onfocus]&&M[n.onfocus](e))})),oc(R,n.onblur)?null:Xl({},n.onblur,(function(e){z({type:"onblur",focus:!1}),u.classList.remove(nc.stateFocused),M[n.onblur]&&M[n.onblur](e)})),oc(R,n.oninput)?null:Xl({},n.oninput,(function(e){z({type:"input"}),M[n.oninput]&&M[n.oninput](e)})),oc(R,n.onkeydown)?null:Xl({},n.onkeydown,(function(e){"Enter"===e.key?O.current=!0:"Escape"!==e.key&&"Esc"!==e.key||z({focus:!1}),M[n.onkeydown]&&M[n.onkeydown](e)})),void 0!==R.required&&R.required?{required:!0}:null,void 0!==R[n.readonly]&&R[n.readonly]?Xl({},n.readonly,!0):null,void 0!==R.pattern?{pattern:R.pattern}:null,void 0!==R[n.maxlength]?Xl({},n.maxlength,R[n.maxlength]):null,void 0!==R[n.minlength]?Xl({},n.minlength,R[n.minlength]):null,void 0!==R.max?{max:R.max}:null,void 0!==R.min?{min:R.min}:null,void 0!==R[n.autofocus]?Xl({},n.autofocus,R[n.autofocus]):null,void 0!==R[n.tabindex]?Xl({},n.tabindex,R[n.tabindex]):null,void 0!==R.rows?{rows:R.rows}:null,void 0!==R.placeholder?{placeholder:R.placeholder}:null,void 0!==R.domAttributes?Ul({},R.domAttributes):null))]),R.counter?t("div",{className:nc.counter},(m.length||0)+" / "+R.counter):null,R.help&&!F?t("div",{className:[nc.help,R.focusHelp?nc.focusHelp:null].join(" ")},R.help):null,F?t("div",{className:nc.error},D):P&&!R.help?t("div",{className:nc.errorPlaceholder}):null],W=[l.before].concat(H,[l.after]);return t(l.element||"div",C,W)}),{h:fc,a:pc,useEffect:dc,useState:function(e){var t=tc;return uc(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useRef:function(e){return o(uc({current:e}),1)[0]},getRef:function(e){return{oncreate:function(t){return e(t.dom)}}}});function gc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}mc.displayName="TextField";var yc=Function.prototype.call.bind(Function.prototype.call),vc=function(){return t.redraw()},wc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},xc=t||{},kc=xc.trust;xc.trust=function(e,n){return n?t(n,kc(e)):kc(e)},xc.displayName="mithril",xc.fragment=t.fragment;var Oc=function(e,t){var n=function(e){var t=hc;hc=e.state;try{e.state.updates.forEach(yc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),hc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=hc;hc=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=hc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&vc()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},TextField:mc});function jc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sc(){return(Sc=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function zc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}Oc.displayName="Search";var Nc,Ic={component:"pe-slider",control:"pe-slider__control",label:"pe-slider__label",pin:"pe-slider__pin",thumb:"pe-slider__thumb",tick:"pe-slider__tick",ticks:"pe-slider__ticks",track:"pe-slider__track",trackBar:"pe-slider__track-bar",trackBarValue:"pe-slider__track-bar-value",trackPart:"pe-slider__track-part",trackPartRest:"pe-slider__track-rest",trackPartValue:"pe-slider__track-value",hasFocus:"pe-slider--focus",hasPin:"pe-slider--pin",hasTicks:"pe-slider--ticks",hasTrack:"pe-slider--track",isActive:"pe-slider--active",isAtMin:"pe-slider--min",isDisabled:"pe-slider--disabled",tickValue:"pe-slider__tick--value"},Ec=function(e,t){return z&&e.touches?t?e.touches[0].pageY:e.touches[0].pageX:t?e.pageY:e.pageX};function Cc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Dc=Function.prototype.call.bind(Function.prototype.call),Tc=function(){return t.redraw()},Fc=function(e){var t=Nc,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Ac=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Nc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Tc()},r]},qc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Nc;if(Fc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Tc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Lc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Bc=t||{},Mc=Bc.trust;Bc.trust=function(e,n){return n?t(n,Mc(e)):Mc(e)},Bc.displayName="mithril",Bc.fragment=t.fragment;var Hc,Wc=function(e,t){var n=function(e){var t=Nc;Nc=e.state;try{e.state.updates.forEach(Dc)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Nc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Nc;Nc=n.state;try{return e(function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:0;Z.current=v.current.getBoundingClientRect().left-(X.current-Y.current/2)+e},K=function(e){var t=Ec(e)-Z.current,n=s+(t-X.current)/G.current*d;ne(n)},ee=function(e){if(!$.current){e.preventDefault(),$.current=!0,J(!0),ie();var t=function(e){$.current&&K(e)},n=function e(){$.current&&(ie(),x&&(E.forEach((function(e){return window.removeEventListener(e,t)})),C.forEach((function(t){return window.removeEventListener(t,e)}))),$.current=!1,J(!1))};x&&(E.forEach((function(e){return window.addEventListener(e,t)})),C.forEach((function(e){return window.addEventListener(e,n)}))),Q()}},te=function(e){var t=e.value,n=e.shouldNotify,r=void 0!==n&&n;tu&&(t=u);var o=p?Math.round(t*f)/f:t;R((o-s)/d),H(o),L(o),r&&c.onChange&&c.onChange({value:o})},ne=function(e){te({value:e,shouldNotify:!0})},re=function(e){return ne(q+(e?10:1)*(p||1))},oe=function(e){return ne(q-(e?10:1)*(p||1))},ie=function(){y.current&&y.current.blur(),y.current=void 0,F(!1)};i((function(){$.current=!1,Z.current=0,G.current=0,X.current=0,Y.current=0}),[]),i((function(){S&&(v.current=S.querySelector(".".concat(Ic.track)),w.current=S.querySelector(".".concat(Ic.control)),k.current=S.querySelector(".".concat(Ic.pin)),Q(),te({value:g}))}),[S]),i((function(){c.pin&&function(){if(w.current&&k.current){var e=N*G.current;k.current.style.left=e+"px"}}()}),[q]),i((function(){M!==c.value&&te({value:c.value})}),[c.value]);var ae=Sc({},b(c),l((function(e){return e&&!S&&P(e)})),c.testId&&{"data-test-id":c.testId},{className:[Ic.component,c.disabled?Ic.isDisabled:null,c.pin?Ic.hasPin:null,h?Ic.hasTrack:null,V?Ic.isActive:null,T?Ic.hasFocus:null,0===N?Ic.isAtMin:null,_?Ic.hasTicks:null,"dark"===c.tone?"pe-dark-tone":null,"light"===c.tone?"pe-light-tone":null,c.className||c[r.class]].join(" ")}),le=function(e){e.preventDefault(),$.current||(Q(),U(0),K(e),ee(e))},ce=function(e){e.preventDefault(),Q(),function(e){var t=w.current.getBoundingClientRect().left,n=Ec(e)-t-Y.current/2;U(n)}(e),ee(e)},se=N+" 1 0%",ue=1-N,de=ue+" 1 0%",pe=[c.before,n("div",Sc({},{className:Ic.track},h&&!c.disabled&&I.reduce((function(e,t){return e[r["on".concat(t)]]=le,e}),{})),[n("div",{className:Ic.trackPart+" "+Ic.trackPartValue,style:{flex:se,msFlex:se,WebkitFlex:se}},n("div",{className:Ic.trackBar},n("div",{className:Ic.trackBarValue}))),n("div",Sc({},{className:Ic.control},c.disabled?{disabled:!0}:(t={},jc(t,r.tabindex,c[r.tabindex]||0),jc(t,r.onfocus,(function(){return e=w.current,ie(),y.current=e,void F(!0);var e})),jc(t,r.onblur,(function(){return ie()})),jc(t,r.onkeydown,(function(e){"Tab"!==e.key&&e.preventDefault(),"Escape"===e.key||"Esc"===e.key?w.current.blur(e):"ArrowLeft"===e.key||"ArrowDown"===e.key||"Left"===e.key||"Down"===e.key?oe(!!e.shiftKey):"ArrowRight"===e.key||"ArrowUp"===e.key||"Right"===e.key||"Up"===e.key?re(!!e.shiftKey):"Home"===e.key?ne(s):"End"===e.key?ne(u):"PageDown"===e.key?oe(!0):"PageUp"===e.key&&re(!0),Q()})),t),!c.disabled&&I.reduce((function(e,t){return e[r["on".concat(t)]]=ce,e}),{}),c.events?c.events:null,_?{step:m}:null),c.icon?n("div",{className:Ic.thumb},c.icon):null),n("div",{className:Ic.trackPart+" "+Ic.trackPartRest,style:{flex:de,msFlex:de,WebkitFlex:de,maxWidth:100*ue+"%"}},n("div",{className:Ic.trackBar},n("div",{className:Ic.trackBarValue}))),_&&!c.disabled?n("div",{className:Ic.ticks},function(e,t,n,r){for(var o=[],i=r/n,a=0;a0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Xc=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Hc,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Zc()},r]},Yc=function(e){var t=Hc;return Xc(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},Qc=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Hc;if(Gc(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Zc))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Uc={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Kc=t||{},es=Kc.trust;Kc.trust=function(e,n){return n?t(n,es(e)):es(e)},Kc.displayName="mithril",Kc.fragment=t.fragment;var ts=function(e,t){var n=function(e){var t=Hc;Hc=e.state;try{e.state.updates.forEach($c)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Hc=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Hc;Hc=n.state;try{return e(function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Object.getOwnPropertyNames(ls).filter((function(e){return"render"!==e})).forEach((function(e){return cs[e]=ls[e]})),cs.displayName="Snackbar";var ds,ps="pe-switch-control",fs="pe-switch-control__knob",_s="pe-switch-control__thumb",hs="pe-switch-control__track";function ms(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var bs=Function.prototype.call.bind(Function.prototype.call),ys=function(){return t.redraw()},vs=function(e){var t=ds,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},ws=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=ds;if(vs(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",ys))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),xs={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},ks=t||{},Os=ks.trust;ks.trust=function(e,n){return n?t(n,Os(e)):Os(e)},ks.displayName="mithril",ks.fragment=t.fragment;var js=function(e,t){var n=function(e){var t=ds;ds=e.state;try{e.state.updates.forEach(bs)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),ds=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=ds;ds=n.state;try{return e(function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=ds,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&ys()},r]}(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:ws,ViewControl:Ss});Ps.displayName="SelectionControl";var zs=js((function(e){var t=e.h,n=e.SelectionControl,r=us(e,["h","SelectionControl"]);return t(n,ss({},r,{selectable:r.selectable||function(){return!0},instanceClass:ps,type:"checkbox"}))}),{h:ks,a:xs,SelectionControl:Ps});function Ns(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Is(){return(Is=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Cs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Rs(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);tt?-1:0},qs='',Ls='';function Bs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ms(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Hs=Function.prototype.call.bind(Function.prototype.call),Ws=function(){return t.redraw()},Vs=function(e){var t=Ds,n=t.depsIndex++,r=t.depsStates[n]||[],o=void 0===e||!!Array.isArray(e)&&(e.length>0?!e.every((function(e,t){return e===r[t]})):!t.setup);return t.depsStates[n]=e,o},Js=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=Ds,r=n.statesIndex++;return n.setup||(n.states[r]=e),[n.states[r],function(e){var o=n.states[r],i=t(e,r);n.states[r]=i,JSON.stringify(i)!==JSON.stringify(o)&&Ws()},r]},$s=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n){var r=Ds;if(Vs(n)){var o=function(){var e=t();"function"==typeof e&&(r.teardowns.set(t,e),r.teardowns.set("_",Ws))};r.updates.push(e?function(){return new Promise((function(e){return requestAnimationFrame(e)})).then(o)}:o)}}}(!0),Zs={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},Gs=t||{},Xs=Gs.trust;Gs.trust=function(e,n){return n?t(n,Xs(e)):Xs(e)},Gs.displayName="mithril",Gs.fragment=t.fragment;var Ys=function(e,t){var n=function(e){var t=Ds;Ds=e.state;try{e.state.updates.forEach(Hs)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),Ds=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=Ds;Ds=n.state;try{return e(function(e){for(var t=1;t=q.scrollWidth-p.getBoundingClientRect().width-1&&y.current===t;x(n),P(r)},W=function(e){var t=q,n=I.slice(0,e).reduce((function(e,t){return e+t.dom.getBoundingClientRect().width}),0),r=t.getBoundingClientRect().width,o=t.scrollWidth-r,i=h?-1*Math.min(n,o):Math.min(n,o),a=t.scrollLeft;if(a!==i){var l=Math.abs(a-i)/600;setTimeout((function(){(function(e){if(!k){var t=e.element,n="horizontal"===e.direction?"scrollLeft":"scrollTop",r=e.to,o=1e3*e.duration,i=e.easing||Oi.easeInOutCubic,a=t[n],l=r-a,c=(new Date).getTime(),s=!0;return new Promise((function(e){ji((function u(){if(s){ji(u);var d=((new Date).getTime()-c)/o,p=a+l*i(d);t[n]=p,d>=1&&(t[n]=r,s=!1,e())}}))}))}})({element:t,to:i,duration:Math.max(.5,l),direction:"horizontal"}).then(H)}),150)}},V=function(e){var t=e.index,n=e.animate;if(I&&I.length){y.current=t;var r=I[t].dom;r&&function(e){var t=e.selectedTabElement,n=e.animate;if(L){var r=p.getBoundingClientRect(),o=t.getBoundingClientRect(),i=A?o.height:0,a=h?o.right-r.right+q.scrollLeft+i:o.left-r.left+q.scrollLeft-i,l=1/(r.width-2*i)*o.width,c="translate(".concat(a,"px, 0) scaleX(").concat(l,")"),s=n?.25:0,u=L.style;u["transition-duration"]=s+"s",u.opacity=1,u.transform=c}}({selectedTabElement:r,animate:n}),A&&H(),W(t),s.onChange&&s.onChange({index:t,options:I[t].options,el:r})}};a((function(){if(B){m(function(e){var t=e.element,n=void 0===t?document:t,r=e.selector;return S({element:n,selector:r,prop:"direction",equals:"rtl"})}({element:p}));var e=function(){!function(){if(s.largestWidth){var e=I.map((function(e){return e.dom.getBoundingClientRect().width})).sort(As)[0];I.forEach((function(t){return t.dom.style.width=e+"px"}))}}(),V({index:y.current,animate:!1})},t=function(t){var n=t.name;return"active"===n||"inactive"===n?e():null};return T("resize",e),T("webfontloader",t),e(),function(){F("resize",e),F("webfontloader",t)}}}),[B]);var J=!s.scrollable&&!s.centered&&!!s.autofit;void 0!==g&&R!==g&&V({index:g,animate:!0}),R!==g&&D(g);var $=Is({},r((function(e){return e&&!p&&setTimeout((function(){return f(e)}),0)})),b(s),s.testId&&{"data-test-id":s.testId},{className:[Ts.component,s.scrollable?Ts.scrollable:null,w?Ts.isAtStart:null,j?Ts.isAtEnd:null,s.activeSelected?Ts.activeSelectable:null,J?Ts.isAutofit:null,s.compact?Ts.compactTabs:null,s.menu?Ts.isMenu:null,"dark"===s.tone?"pe-dark-tone":null,"light"===s.tone?"pe-light-tone":null,s.className||s[n.class]].join(" ")}),Z=u.map((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=Is({},e,{selected:n===y.current,animateOnTap:!1!==s.animateOnTap},s.all,{index:n,onSelect:function(){return V({index:n,animate:!s.noIndicatorSlide})}});return t(c,r)})),G=null,X=null;s.scrollable&&(G=t(l,Is({},{icon:s.scrollIconBackward,className:Ts.scrollButtonAtStart,position:"start",events:Ns({},n.onclick,(function(e){return M(e,"backward")})),isRTL:h})),X=t(l,Is({},{icon:s.scrollIconForward,className:Ts.scrollButtonAtEnd,position:"end",events:Ns({},n.onclick,(function(e){return M(e,"forward")})),isRTL:h})));var Y=s.hideIndicator?null:t("div",{className:Ts.indicator}),Q=[G,t("div",{className:[Ts.tabRow,s.centered?Ts.tabRowCentered:null,s.scrollable?Ts.tabRowIndent:null].join(" ")},[].concat(Rs(Z),[Y])),X];return t("div",$,[s.before].concat(Q,[s.after]))}),{h:Gs,a:Zs,getRef:function(e){return{oncreate:function(t){return e(t.dom)}}},useRef:function(e){return o(Js({current:e}),1)[0]},useState:function(e){var t=Ds;return Js(e,(function(e,n){return"function"==typeof e?e(t.states[n]):e}))},useEffect:$s,ScrollButton:Qs,Tab:Us});function eu(){return(eu=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}Ks.displayName="Tabs";var nu,ru={component:"pe-toolbar",compact:"pe-toolbar--compact",appBar:"pe-toolbar--app-bar",title:"pe-toolbar__title",centeredTitle:"pe-toolbar__title--center",indentedTitle:"pe-toolbar__title--indent",fullbleed:"pe-toolbar--fullbleed",border:"pe-toolbar--border"};function ou(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var au=Function.prototype.call.bind(Function.prototype.call),lu={accept:"accept",acceptcharset:"acceptcharset",accesskey:"accesskey",action:"action",allowfullscreen:"allowfullscreen",allowtransparency:"allowtransparency",alt:"alt",async:"async",autocomplete:"autocomplete",autofocus:"autofocus",autoplay:"autoplay",capture:"capture",cellpadding:"cellpadding",cellspacing:"cellspacing",challenge:"challenge",charset:"charset",checked:"checked",class:"className",classid:"classid",classname:"className",className:"className",colspan:"colspan",cols:"cols",content:"content",contenteditable:"contenteditable",contextmenu:"contextmenu",controls:"controls",coords:"coords",crossorigin:"crossorigin",data:"data",datetime:"datetime",default:"default",defer:"defer",dir:"dir",disabled:"disabled",download:"download",draggable:"draggable",enctype:"enctype",form:"form",formaction:"formaction",formenctype:"formenctype",formmethod:"formmethod",formnovalidate:"formnovalidate",formtarget:"formtarget",frameborder:"frameborder",headers:"headers",height:"height",hidden:"hidden",high:"high",href:"href",hreflang:"hreflang",htmlfor:"htmlfor",httpequiv:"httpequiv",icon:"icon",id:"id",inputmode:"inputmode",integrity:"integrity",is:"is",keyparams:"keyparams",keytype:"keytype",kind:"kind",label:"label",lang:"lang",list:"list",loop:"loop",low:"low",manifest:"manifest",marginheight:"marginheight",marginwidth:"marginwidth",max:"max",maxlength:"maxlength",media:"media",mediagroup:"mediagroup",method:"method",min:"min",minlength:"minlength",multiple:"multiple",muted:"muted",name:"name",novalidate:"novalidate",nonce:"nonce",onblur:"onblur",onchange:"onchange",onclick:"onclick",onfocus:"onfocus",oninput:"oninput",onkeydown:"onkeydown",onkeyup:"onkeyup",onmousedown:"onmousedown",onmouseout:"onmouseout",onmouseover:"onmouseover",onmouseup:"onmouseup",onscroll:"onscroll",onsubmit:"onsubmit",ontouchend:"ontouchend",ontouchmove:"ontouchmove",ontouchstart:"ontouchstart",open:"open",optimum:"optimum",pattern:"pattern",placeholder:"placeholder",poster:"poster",preload:"preload",radiogroup:"radiogroup",readonly:"readonly",rel:"rel",required:"required",reversed:"reversed",role:"role",rowspan:"rowspan",rows:"rows",sandbox:"sandbox",scope:"scope",scoped:"scoped",scrolling:"scrolling",seamless:"seamless",selected:"selected",shape:"shape",size:"size",sizes:"sizes",span:"span",spellcheck:"spellcheck",src:"src",srcdoc:"srcdoc",srclang:"srclang",srcset:"srcset",start:"start",step:"step",style:"style",summary:"summary",tabindex:"tabindex",target:"target",title:"title",type:"type",usemap:"usemap",value:"value",width:"width",wmode:"wmode",wrap:"wrap"},cu=t||{},su=cu.trust;cu.trust=function(e,n){return n?t(n,su(e)):su(e)},cu.displayName="mithril",cu.fragment=t.fragment;var uu=function(e,t){var n=function(e){var t=nu;nu=e.state;try{e.state.updates.forEach(au)}finally{r(e.state,{setup:!0,updates:[],depsIndex:0,statesIndex:0}),nu=t}};return{oninit:function(e){r(e.state,{setup:!1,states:[],statesIndex:0,depsStates:[],depsIndex:0,updates:[],teardowns:new Map})},oncreate:n,onupdate:n,view:function(n){var r=nu;nu=n.state;try{return e(function(e){for(var t=1;t0&&/^[-\w$]+$/.test(a))if(c||(c=1,t.rule(n)),/\$/.test(a))for(s in a=a.split("$"))vu.call(a,s)&&Iu(e,t,a[s],l,o);else Iu(e,t,a,l,o);else/^@/.test(a)?(c=0,Eu(e,t,/^(.(?:-[\w]+-)?([_A-Za-z][-\w]*))\b\s*(.*?)\s*$/.exec(a)||[a,"@","",""],l,n,o,i)):(c=0,Cu(e,t,n.length>0&&(/,/.test(n)||/,/.test(a))?(s=ju(n),ju(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a).map((function(e){return/&/.test(e)?Pu(e,s):s.map((function(t){return t+e})).join(",")})).join(",")):/&/.test(a)?Pu(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a,[n]):n+(o?a.replace(/("(?:\\.|[^"\n])*"|'(?:\\.|[^'\n])*'|\/\*[\s\S]*?\*\/)|:global\(\s*(\.-?[_A-Za-z][-\w]*)\s*\)|(\.)(-?[_A-Za-z][-\w]*)/g,e.localizeReplacer):a),l,o,i+1));break;case mu:for(a=0;a0&&void 0!==arguments[0]?arguments[0]:1;return[{"-webkit-box-flex":e},{"-moz-box-flex":e},{"-webkit-flex":e},{"-ms-flex":e},{flex:e},1===e?{"-webkit-flex-basis":"0.000000001px"}:{},1===e?{"flex-basis":"0.000000001px"}:{}]},flexAuto:{"-ms-flex":"1 1 auto","-webkit-flex-basis":"auto","flex-basis":"auto"},flexAutoVertical:{"-ms-flex":"1 1 auto","-webkit-flex-basis":"auto","flex-basis":"auto"},flexIndex:function(e){return{"-ms-flex":e,"-webkit-flex":e,flex:e}},flexGrow:function(e){return{"-webkit-flex-grow":e,"flex-grow":e}},flexShrink:function(e){return{"-webkit-flex-shrink":e,"flex-shrink":e}},layout:qu,layoutAroundJustified:[qu,{"-ms-flex-pack":"distribute","-webkit-justify-content":"space-around","justify-content":"space-around"}],layoutCenter:Lu,layoutCenterCenter:[Bu,Lu],layoutCenterJustified:Bu,layoutEnd:[qu,{"-ms-flex-align":"end","-webkit-align-items":"flex-end","align-items":"flex-end"}],layoutEndJustified:[qu,{"-ms-flex-pack":"end","-webkit-justify-content":"flex-end","justify-content":"flex-end"}],layoutHorizontal:[qu,{"-ms-flex-direction":"row","-webkit-flex-direction":"row","flex-direction":"row"}],layoutHorizontalReverse:[qu,{"-ms-flex-direction":"row-reverse","-webkit-flex-direction":"row-reverse","flex-direction":"row-reverse"}],layoutInline:[qu,{display:"-ms-inline-flexbox"},{display:"-webkit-inline-flex"},{display:"inline-flex"}],layoutJustified:[qu,{"-ms-flex-pack":"justify","-webkit-justify-content":"space-between","justify-content":"space-between"}],layoutStart:[qu,{"-ms-flex-align":"start","-webkit-align-items":"flex-start","align-items":"flex-start"}],layoutStartJustified:[qu,{"-ms-flex-pack":"start","-webkit-justify-content":"flex-start","justify-content":"flex-start"}],layoutVertical:[qu,{"-ms-flex-direction":"column","-webkit-flex-direction":"column","flex-direction":"column"}],layoutVerticalReverse:[qu,{"-ms-flex-direction":"column-reverse","-webkit-flex-direction":"column-reverse","flex-direction":"column-reverse"}],layoutWrap:[qu,{"-ms-flex-wrap":"wrap","-webkit-flex-wrap":"wrap","flex-wrap":"wrap"}],layoutWrapReverse:[qu,{"-ms-flex-wrap":"wrap-reverse","-webkit-flex-wrap":"wrap-reverse","flex-wrap":"wrap-reverse"}],selfCenter:{"-ms-align-self":"center","-webkit-align-self":"center","align-self":"center"},selfEnd:{"-ms-align-self":"flex-end","-webkit-align-self":"flex-end","align-self":"flex-end"},selfStart:{"-ms-align-self":"flex-start","-webkit-align-self":"flex-start","align-self":"flex-start"},selfStretch:{"-ms-align-self":"stretch","-webkit-align-self":"stretch","align-self":"stretch"}};function Hu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vu(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var $u=function(){return{"&:after":{content:'""',display:"table",clear:"both"}}},Zu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:".18s",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ease-out";return{transitionDelay:"0ms",transitionDuration:t,transitionTimingFunction:n,transitionProperty:e}},Gu=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"px";return"none"===e?{textOverflow:"initial",overflow:"initial",display:"block",height:"auto",maxHeight:"none",whiteSpace:"normal"}:[{"@supports (-webkit-line-clamp: 2)":void 0!==e?{"-webkit-line-clamp":e,"-webkit-box-orient":"vertical",display:"-webkit-box",wordBreak:"break-word"}:void 0},Vu({overflow:"hidden",textOverflow:"ellipsis",textRendering:"auto"},void 0!==t?{maxHeight:e*t+n}:void 0,{},1===t?{wordWrap:"nowrap"}:void 0)]},Xu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=e+"px";return{position:"absolute",top:t,right:t,bottom:t,left:t}},Yu=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return{position:"sticky",top:0,zIndex:e}};var Qu,Uu=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e,t){var n,r,o,i,a;function l(e){return e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()})).replace("-","")}function c(e,t){return r[e]="",r[e]=t,!!r[e]}function s(e,t){return o.textContent="@media ("+e+":"+t+"){}",!!~o.sheet.cssRules[0].cssText.indexOf(t)}function u(e){return e in r}function d(e){return o.textContent=e+"{}",!!o.sheet.cssRules.length}Object.defineProperty(t,"__esModule",{value:!0});var p=[{props:["cursor"],values:["grab","grabbing","zoom-in","zoom-out"]},{props:["display"],values:["box","inline-box","flexbox","inline-flexbox","flex","inline-flex","grid","inline-grid"]},{props:["position"],values:["sticky"]},{props:["width","column-width","height","max-height","max-width","min-height","min-width"],values:["contain-floats","fill-available","fit-content","max-content","min-content"]}],f={"align-items":"box-align",flex:"box-flex","box-direction":"box-direction","box-orient":"box-orient","flex-grow":"box-flex","flex-wrap":"box-lines","justify-content":"box-pack",order:"box-ordinal-group"},_={"flex-end":"end","flex-start":"start",nowrap:"single","space-around":"justify","space-between":"justify",wrap:"multiple","wrap-reverse":"multiple"},h={"align-content":"-ms-flex-line-pack","align-items":"-ms-flex-align","align-self":"-ms-flex-item-align","flex-basis":"-ms-preferred-size","flex-grow":"-ms-flex-positive","flex-shrink":"-ms-flex-negative","justify-content":"-ms-flex-pack",order:"-ms-flex-order"},m={"flex-end":"end","flex-start":"start","space-around":"distribute","space-between":"justify"};function g(e){n=getComputedStyle(document.documentElement,null),r=document.createElement("div").style,o=document.documentElement.appendChild(document.createElement("style")),a=c,i=u,"zIndex"in r&&!("z-index"in r)&&(a=function(e,t){return c(l(e),t)},i=function(e){return u(l(e))}),function(e){var t={};function r(e){if("-"===e.charAt(0)){var n=e.split("-")[1];t[n]=++t[n]||1}}if(n&&n.length>0)for(var o=0;o-1?k(e,t,"flex-wrap",n):""!==n&&k(e,t,"flex-direction",n)}));if("flex-direction"===n)return t(e.properties["box-orient"],r.indexOf("column")>-1?"block-axis":"inline-axis"),void t(e.properties["box-direction"],r.indexOf("-reverse")>-1?"reverse":"normal")}e.WkBCTxt&&"background-clip"===n&&"text"===r?t("-webkit-background-clip",r):t(e.properties[n]||e.fixProperty(n),e.fixValue(r,n))}function O(e){var t=e.prefix;e.fixProperty=e.fixProperty||function(n){var r;return e.properties[n]=i(n)||!i(r=t+n)?n:r};var n=w("",e.selectorList,"(?:\\b|$|[^-])"),r=x("",e.selectorList,"(?:\\b|$|[^-])"),o=function(t,n){return null!=n?e.selectorMap[n]:t};e.fixSelector=function(e){return n.test(e)?e.replace(r,o):e};var a=e.functions.indexOf("linear-gradient")>-1,l=/\blinear-gradient\(/,c=/(^|\s|,|\()((?:repeating-)?linear-gradient\()\s*(-?\d*\.?\d*)deg/gi,s=function(e,t,n,r){return t+n+(90-r)+"deg"},u=!!e.functions.length,d=w("(?:^|\\s|,|\\()",e.functions,"\\s*\\("),p=x("(^|\\s|,|\\()",e.functions,"(?=\\s*\\()");function f(e,n,r){return n+t+r}var _=/^\s*([-\w]+)/gi,h=function(t,n){return e.properties[n]||e.fixProperty(n)};e.fixValue=function(t,n){var r;return null!=e.initial&&"initial"===t?e.initial:(e.hasKeywords&&(r=(e.keywords[n]||y)[t])||(r=t,e.valueProperties.hasOwnProperty(n)&&(r=-1===t.indexOf(",")?t.replace(_,h):function(e){for(var t,n=[],r=[],o=0;t=v.exec(e);)switch(t[0]){case"(":o++;break;case")":o--;break;case",":if(o)break;n.push(t.index)}for(t=n.length;t--;)r.unshift(e.slice(n[t]+1)),e=e.slice(0,n[t]);return r.unshift(e),r}(t).map((function(e){return e.replace(_,h)})).join(",")),u&&d.test(t)&&(a&&l.test(t)&&(r=r.replace(c,s)),r=r.replace(p,f))),r)};var m,g,b=/((?:min-|max-)?resolution)\s*:\s*((?:\d*\.)?\d+)dppx/g,O=e.hasPixelRatio?function(t,n,r){return e.properties[n]+":"+r}:e.hasPixelRatioFraction?function(t,n,r){return e.properties[n]+":"+Math.round(10*r)+"/10"}:function(e,t,n){return t+":"+Math.round(96*n)+"dpi"};e.fixAtMediaParams=!1!==e.hasDppx?function(e){return e}:function(e){return-1!==e.indexOf("reso")?e.replace(b,O):e};var j=function(e,t){m=e,g=t},S=/\(\s*([-\w]+)\s*:\s*((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|\((?:'(?:\\[\S\s]|[^'])*'|"(?:\\[\S\s]|[^"])*"|\/\*[\S\s]*?\*\/|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*\)|[^\)])*)/g;function P(t,n,r){return k(e,j,n,r),"("+m+":"+g}e.fixAtSupportsParams=function(e){return e.replace(S,P)}}b={atrules:{},hasAtrules:!1,hasDppx:null,hasKeywords:!1,hasPixelRatio:!1,hasPixelRatioFraction:!1,hasSelectors:!1,hasValues:!1,fixAtMediaParams:null,fixAtSupportsParams:null,fixProperty:null,fixSelector:null,fixValue:null,flexbox2009:!1,flexbox2012:!1,functions:[],initial:null,jsFlex:!1,keywords:{},placeholder:null,prefix:"",prefixes:[],Prefix:"",properties:{},selectorList:[],selectorMap:{},valueProperties:{transition:1,"transition-property":1,"will-change":1},WkBCTxt:!1},"function"==typeof getComputedStyle&&g(b),O(b),t.prefixPlugin=function e(){var t=b,n=[];return{set:{setPrefixDb:function(r){return-1===n.indexOf(r)&&(O(r),n.push(r)),t=r,e}},filter:function(e){return{atrule:function(n,r,o,i){e.atrule(t.hasAtrules&&t.atrules[n]||n,r,"@media"===n?t.fixAtMediaParams(o):"@supports"===n?t.fixAtSupportsParams(o):o,i)},decl:function(n,r){k(t,e.decl,n,r)},rule:function(n){e.rule(t.hasSelectors?t.fixSelector(n):n)}}}}}}));(Qu=Uu)&&Qu.__esModule&&Object.prototype.hasOwnProperty.call(Qu,"default")&&Qu.default;var Ku=new Au(Uu.prefixPlugin),ed=/[^a-z0-9\\-]/g,td=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1?a-1:0),c=1;c0}));if(0!==s.length){var u=l||c.trim().replace(/^[^a-z]?(.*)/,"$1");td(u,od({styles:od({styles:s,scope:a}),scope:i}))}},ad=td,ld=id,cd=function(e,t){return Hu({},e,t)},sd=function(e){return"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e)},ud=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return"rgba(".concat(e,", ").concat(t,")")},dd=function(e){var t=e.varFns,n=e.customVarFns,r=e.superStyle,o=e.varMixin,i=e.selector,a=e.scopedSelector,l=e.componentVars,c=void 0===l?{}:l,s=e.customVars,u=Vu({},c,{},s),d=s||u,p=(c.general_styles,Ju(c,["general_styles"])),f=void 0!==r?void 0!==s?r(i,c,s):r(i,p):[],_=Vu({},s?n:{},{},t);return f.concat(Object.keys(o(d)).map((function(e){return _&&void 0!==_[e]?_[e](a,u):null})).filter((function(e){return e})))},pd=function(e){var t=e.varFns,n=e.customVarFns,r=e.superLayout,o=e.varMixin,i=void 0===o?function(e){return e}:o;return function(e,o,a){return dd({varFns:t,customVarFns:n,superStyle:r,varMixin:i,selector:e,scopedSelector:e,componentVars:o,customVars:a})}},fd=function(e){var t=e.scopes,n=e.selector,r=e.isNoTouch,o=void 0!==r&&r;return n.split(/\s*,\s*/).map((function(e){return function(e){var t=e.scopes,n=e.selector;return e.isNoTouch?t.map((function(e){return e+n+":hover"})).join(","):t.map((function(e){return e+n})).join(",")}({scopes:t,selector:e,isNoTouch:o})})).join("")},_d=[{scopes:[".pe-dark-tone",".pe-dark-tone "],varFnName:"darkTintFns",isNoTouch:!1},{scopes:["",".pe-light-tone",".pe-light-tone "],varFnName:"lightTintFns",isNoTouch:!1},{scopes:[".pe-no-touch .pe-dark-tone "],varFnName:"darkTintHoverFns",isNoTouch:!0},{scopes:[".pe-no-touch ",".pe-no-touch .pe-light-tone "],varFnName:"lightTintHoverFns",isNoTouch:!0}],hd=function(e){var t=e.varFns,n=void 0===t?{}:t,r=e.superColor,o=e.varMixin,i=void 0===o?function(e){return e}:o;return function(e,t,o){return _d.map((function(a){var l=a.scopes,c=a.varFnName,s=a.isNoTouch;return function(e){var t=e.selector,n=e.scopedSelector,r=e.componentVars,o=e.customVars,i=e.varFns,a=e.superColor,l=e.varMixin;return dd({varFns:i,superStyle:a,varMixin:l,selector:t,scopedSelector:n,componentVars:r,customVars:o})}({selector:e,scopedSelector:fd({scopes:l,selector:e,isNoTouch:s}),componentVars:t,customVars:o,varFns:n[c],superColor:r,varMixin:i})}))}},md=function(e,t){e||console.error("createMarker requires param `vars`");var n=function(e,t){var n=Object.keys(t).filter((function(t){return!0===e[t]})).join(".");return n?'"'.concat(n,'"'):void 0}(e,t);return n?{":before":{content:n,display:"none"}}:void 0},gd=[{".layout, .layout.horizontal":Mu.layout,".layout.horizontal.inline, .layout.vertical.inline":Mu.layoutInline,".layout.horizontal":Mu.layoutHorizontal,".layout.horizontal.reverse":Mu.layoutHorizontalReverse,".layout.vertical":Mu.layoutVertical,".layout.vertical.reverse":Mu.layoutVerticalReverse,".layout.wrap":Mu.layoutWrap,".layout.wrap.reverse":Mu.layoutWrapReverse,".flex":Mu.flex(1),".span.flex":{display:"block"},".flex.auto-vertical":Mu.flexAutoVertical,".flex.auto":Mu.flexAuto,".flex.none":Mu.flexIndex("none"),".flex.one":Mu.flexIndex(1),".flex.two":Mu.flexIndex(2),".flex.three":Mu.flexIndex(3),".flex.four":Mu.flexIndex(4),".flex.five":Mu.flexIndex(5),".flex.six":Mu.flexIndex(6),".flex.seven":Mu.flexIndex(7),".flex.eight":Mu.flexIndex(8),".flex.nine":Mu.flexIndex(9),".flex.ten":Mu.flexIndex(10),".flex.eleven":Mu.flexIndex(11),".flex.twelve":Mu.flexIndex(12),".layout.start":Mu.layoutStart,".layout.center, .layout.center-center":Mu.layoutCenter,".layout.end":Mu.layoutEnd,".layout.start-justified":Mu.layoutStartJustified,".layout.center-justified, .layout.center-center":Mu.layoutCenterJustified,".layout.end-justified":Mu.layoutEndJustified,".layout.around-justified":Mu.layoutAroundJustified,".layout.justified":Mu.layoutJustified,".self-start":Mu.selfStart,".self-center":Mu.selfCenter,".self-end":Mu.selfEnd,".self-stretch":Mu.selfStretch}],bd=[{".pe-block":{display:"block"},".pe-inline-block":{display:"inline-block"},".pe-hidden":{display:"none !important"},".pe-relative":{position:"relative"},".pe-absolute":{position:"absolute"},".pe-fit":{position:"absolute",top:0,right:0,bottom:0,left:0},".pe-fullbleed":{margin:0,height:"100vh"},".pe-rtl":{direction:"rtl"},"*[dir=rtl], .pe-rtl ":{" .pe-rtl--flip":{transform:"scaleX(-1)"}}}];function yd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vd(){return(vd=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:le.unit_icon_size,r=n+e.label_height,o=(r-n)/2;return{" .pe-control__form-label":{height:t+"px"}," .pe-control__box":{width:n+"px",height:n+"px"}," .pe-button__content":{width:r+"px",height:r+"px",flexShrink:0," .pe-icon":[Xu(o)]}}},bf=function(e,t,n){var r;return cd(e,{" .pe-button.pe-control__button":(r={top:-(t.button_size-t.icon_size)/2+"px"},uf(r,n?"right":"left",-(t.button_size-t.icon_size)/2+"px"),uf(r,n?"left":"right","auto"),r)})},yf=function(e,t,n){return cd(e,{" .pe-control__label":uf({},n?"paddingRight":"paddingLeft",t.label_padding_before+"px")})},vf=function(e,t,n){return cd(e,{" .pe-control__label":uf({},n?"paddingLeft":"paddingRight",t.label_padding_after+"px")})},wf=pd({varFns:{general_styles:function(e,t){return[cd(e,[hf(t),{display:"inline-block",boxSizing:"border-box",margin:0,padding:0," input[type=checkbox], input[type=radio]":{display:"none"}," .pe-control__form-label":[Mu.layoutHorizontal,Mu.layoutCenter,{position:"relative",cursor:"pointer",margin:0,color:"inherit",":focus":{outline:0}}],".pe-control--inactive":{" .pe-control__form-label":{cursor:"default"}}," .pe-control__box":{position:"relative",display:"inline-block",boxSizing:"border-box",color:"inherit",flexShrink:0,":focus":{outline:0}}," .pe-button.pe-control__button":{position:"absolute"},".pe-control--off":{" .pe-control__button--on":{opacity:0,zIndex:-1}," .pe-control__button--off":{opacity:1,zIndex:0}},".pe-control--on":{" .pe-control__button--on":{opacity:1,zIndex:0}," .pe-control__button--off":{opacity:0,zIndex:-1}}," .pe-control__label":{alignSelf:"center"},".pe-control--disabled":{" .pe-control__form-label":{cursor:"auto"}," .pe-control__button":{pointerEvents:"none"}}," .pe-button__content":{" .pe-icon":{position:"absolute"}}},uf({},"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e),[mf(t)])])]},label_font_size:function(e,t){return[cd(e,{" .pe-control__form-label":{fontSize:t.label_font_size+"px"}})]},label_height:function(e,t){return[cd(e,{" .pe-control__box":{width:t.label_height+"px",height:t.label_height+"px"},".pe-control--small":gf(t,le.unit_icon_size_small,le.unit_icon_size_small),".pe-control--regular":gf(t,t.label_height,le.unit_icon_size),".pe-control--medium":gf(t,le.unit_icon_size_medium,le.unit_icon_size_medium),".pe-control--large":gf(t,le.unit_icon_size_large,le.unit_icon_size_large)})]},animation_duration:function(e,t){return[cd(e,{" .pe-button.pe-control__button":[Zu("opacity",t.animation_duration)]," .pe-control__label":[Zu("all",t.animation_duration)]})]},button_size:function(e,t){return[cd(e,{}),bf(e,t,!1),bf(sd(e),t,!0)]},icon_size:function(e,t){return[cd(e,{}),bf(e,t,!1),bf(sd(e),t,!0)]},label_padding_after:function(e,t){return[cd(e,{}),vf(e,t,!1),vf(sd(e),t,!0)]},label_padding_before:function(e,t){return[cd(e,{}),yf(e,t,!1),yf(sd(e),t,!0)]}}}),xf={general_styles:!0,animation_duration:le.animation_duration,button_size:6*le.grid_unit_component,icon_size:3*le.grid_unit_component,label_font_size:2*le.grid_unit_component,label_height:3*le.grid_unit_component,label_padding_after:0,label_padding_before:4*le.grid_unit,color_light_on:ud(le.color_primary),color_light_off:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_label:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled:ud(le.color_light_foreground,le.blend_light_text_disabled),color_light_on_icon:"inherit",color_light_off_icon:"inherit",color_light_on_label:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_off_label:ud(le.color_light_foreground,le.blend_light_text_secondary),color_dark_on:ud(le.color_primary),color_dark_off:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_label:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled:ud(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_on_icon:"inherit",color_dark_off_icon:"inherit",color_dark_on_label:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_off_label:ud(le.color_dark_foreground,le.blend_dark_text_secondary)},kf=[wf,_f],Of=".".concat("pe-control"),jf=hd({superColor:_f}),Sf=pd({superLayout:wf}),Pf={general_styles:!0},zf=[Sf,jf],Nf=".".concat("pe-checkbox-control");function If(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ef(){return(Ef=Object.assign||function(e){for(var t=1;t *":{flexShrink:0}," > .pe-dialog-pane__body":{flexShrink:1,maxHeight:"none"}}," .pe-dialog-pane, .pe-dialog-pane__body":{height:"100vh",maxHeight:"100vh",borderTopStyle:"none",maxWidth:"none"}})},Lf=pd({varFns:{general_styles:function(e){return[cd(e,[Mu.layoutVertical,{position:"relative",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit",borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit",margin:0," .pe-dialog-pane__content":{width:"100%",display:"flex",flexDirection:"column",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit",borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"}," .pe-dialog-pane__title":{fontSize:le.font_size_title+"px",fontWeight:le.font_weight_medium,"& + div":{marginTop:"16px"}}," .pe-dialog-pane__header, .pe-dialog-pane__content > .pe-toolbar":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"," .pe-dialog-pane__title":{width:"100%",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}," .pe-dialog-pane__body":[{overflowY:"auto","-webkit-overflow-scrolling":"touch",borderTopStyle:"solid",borderBottomStyle:"solid"," p":{margin:0}," p + p":{marginTop:"16px"}}],".pe-dialog-pane--body-full-bleed .pe-dialog-pane__body":{padding:0,borderStyle:"none"}," .pe-dialog-pane__header--title + .pe-dialog-pane__body":{paddingTop:0}," .pe-dialog-pane__footer":{display:"flex",flexDirection:"column",flexGrow:1,justifyContent:"center","&, > .pe-toolbar":{borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"},".pe-dialog-pane__footer--high":{paddingBottom:"8px"},".pe-dialog-pane__footer--buttons":{padding:"0 8px",fontSize:0}}," .pe-dialog-pane__actions":[Mu.layoutHorizontal,Mu.layoutEndJustified,Mu.layoutWrap,{alignItems:"center"}]}]),{" .pe-dialog__content.pe-menu__content":If({}," ".concat(e),{" .pe-dialog-pane__body":{padding:0,border:"none"}})}]},max_width:function(e,t){return[void 0!==t.side_padding_mobile&&Tf(e,t)]},side_padding_mobile:function(e,t){return[void 0!==t.side_padding_mobile&&Tf(e,t)]},min_width:function(e,t){return[cd(e,{minWidth:t.min_width+"px"})]},margin_vertical:function(e,t){return[cd(e,{maxHeight:"calc(100vh - 2 * ".concat(t.margin_vertical,"px)")}),void 0!==t.header_height&&void 0!==t.footer_height&&Af(e,t)]},line_height_title:function(e,t){return[cd(e,{" .pe-dialog-pane__title":{lineHeight:t.line_height_title+"px"}})]},header_height:function(e,t){return[cd(e,{" .pe-dialog-pane__header":{height:t.header_height+"px"}}),void 0!==t.footer_height&&void 0!==t.margin_vertical&&Af(e,t)]},footer_height:function(e,t){return[cd(e,{" .pe-dialog-pane__footer--buttons .pe-dialog-pane__actions":{minHeight:t.footer_height+"px"}}),void 0!==t.header_height&&void 0!==t.footer_height&&void 0!==t.margin_vertical&&Af(e,t)]},padding:function(e,t){return[cd(e,{" .pe-dialog-pane__body":{padding:t.padding+"px"},".pe-dialog-pane--footer":{" .pe-dialog-pane__body":{paddingBottom:t.padding-10+"px"}}}),void 0!==t.header_bottom&&Ff(e,t)]},header_bottom:function(e,t){return[Ff(e,t)]},border_width:function(e,t){return[cd(e,{" .pe-dialog-pane__body":{borderWidth:t.border_width+"px"}})]}}}),Bf={general_styles:!0,border_width:1,footer_height:52,header_bottom:20,header_height:64,line_height_title:24,max_width:7*le.grid_unit_menu,min_width:5*le.grid_unit_menu,padding:3*le.grid_unit_component,side_padding_mobile:6*le.grid_unit,max_height:8*le.grid_unit_component,margin_vertical:8*le.grid_unit_component,color_light_title_text:"inherit",color_light_body_text:"inherit",color_light_body_border:ud(le.color_light_foreground,le.blend_light_border_light),color_light_background:"inherit",color_dark_title_text:"inherit",color_dark_body_text:"inherit",color_dark_body_border:ud(le.color_dark_foreground,le.blend_dark_border_light),color_dark_background:"inherit"},Mf=[Lf,Df],Hf=".".concat("pe-dialog-pane"),Wf="pe-dialog";function Vf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jf(){return(Jf=Object.assign||function(e){for(var t=1;t div":{width:"inherit",height:"inherit"}})]}},["small","regular","medium","large"].reduce((function(e,t){return e["size_".concat(t)]=function(e){return function(t,n){return cd(t,$_({},".pe-icon--".concat(e),{width:n["size_".concat(e)]+"px",height:n["size_".concat(e)]+"px"}))}}(t),e}),{}))}),U_={general_styles:!0,size_small:le.unit_icon_size_small,size_regular:le.unit_icon_size,size_medium:le.unit_icon_size_medium,size_large:le.unit_icon_size_large,color_light_avatar_background:ud(le.color_light_foreground,le.blend_light_background_disabled),color_dark_avatar_background:ud(le.color_dark_foreground,le.blend_dark_background_disabled),color_light:"currentcolor",color_dark:"currentcolor"},K_=[Q_,Y_],eh=".".concat("pe-icon");function th(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nh(){return(nh=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:e;return{"padding-left":e+"px","padding-right":t+"px"}},Yh=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return{"padding-top":e+"px","padding-bottom":t+"px"}},Qh=function(e,t){return cd(e,{lineHeight:t.single_line_height+"px",".pe-list-tile--navigation":{" .pe-list-tile__title":{minHeight:t.single_line_height+"px"}}," .pe-list-tile__title":[Gu(t.title_line_count,t.single_line_height,"px")]})},Uh=function(e,t){return cd(e,{"&, a":{pointerEvents:"none"}})},Kh=function(e,t){return em(e,t),tm(e,t)},em=function(e,t){var n=t.inset_h_size;return cd(e,{marginLeft:n+"px",marginRight:n+"px"," .pe-list-tile__content":{marginLeft:-n+"px",marginRight:-n+"px"}})},tm=function(e,t){var n=t.inset_v_size;return cd(e,{marginTop:n+"px",marginBottom:n+"px"})},nm=function(e,t){return cd(e,{"&, .pe-list-tile__primary":{borderRadius:t.rounded_border_radius+"px"}})},rm=pd({varFns:{general_styles:function(e,t){return[cd(e,[Zh(t),Mu.layout,{position:"relative",".pe-list-tile--navigation":{" .pe-list-tile__title":{whiteSpace:"pre-wrap"}},".pe-list-tile--sticky":Yu(2),".pe-list-tile--inset-h":em(e,t),".pe-list-tile--inset-v":tm(e,t)," .pe-list-tile__primary":{width:"100%"}," .pe-list-tile__primary, .pe-list-tile__secondary":[Mu.layoutHorizontal,Zu("background",".200s"),{textDecoration:"none",color:"inherit",border:"none"}],":not(.pe-list-tile--header) .pe-list-tile__primary":[Mu.flex(),{position:"relative"," .pe-list-tile__content:not(.pe-list-tile__content-front)":[Mu.flex()]}],":not(.pe-list-tile--disabled)":{outline:"none"}," .pe-list-tile__secondary":{textAlign:"right",position:"relative"}," .pe-list-tile__content":[Mu.layoutVertical,Mu.selfCenter,{width:"100%",".pe-list-tile__content-front":{flexShrink:0}}]," .pe-list-tile__title":{whiteSpace:"normal"}," .pe-list-tile__subtitle":[Gu(t.subtitle_line_count,t.line_height_subtitle,"px"),{fontSize:t.font_size_subtitle+"px",fontWeight:t.font_weight_subtitle,lineHeight:t.line_height_subtitle+"px",".pe-list-tile__high-subtitle":[Gu(t.high_subtitle_line_count,t.line_height_subtitle,"px"),{whiteSpace:"normal"}]}],".pe-list-tile--selected, &.pe-list-tile--disabled":Uh(e),".pe-list-tile--subtitle":{" .pe-list-tile__content":{" .pe-list-tile__title":{padding:0}}},".pe-list-tile--high-subtitle":{" .pe-list-tile--high-subtitle .pe-list-tile__secondary":[Mu.layoutHorizontal,Mu.layoutStart]," .pe-list-tile__content":[Mu.selfStart,{" .pe-list-tile__title":{padding:0}}]},".pe-list-tile--header":{pointerEvents:"none"," .pe-list-tile__content":{paddingTop:0,paddingBottom:0}," .pe-list-tile__title":{padding:0}},"@supports (-moz-appearance:none) and (display:contents)":{" .pe-list-tile__primary, .pe-list-tile__content":{overflow:"hidden"}},".pe-dialog .pe-menu__content &":{" .pe-list-tile__content":{paddingLeft:"24px",paddingRight:"24px"}," .pe-list-tile__content-front":{paddingRight:0,width:"64px",marginRight:"-7px"}," .pe-list-tile__title":Gu("none")},".pe-menu__content &":{":not(.pe-list-tile--disabled)":{cursor:"default","&, .pe-list-tile__primary, .pe-list-tile__secondary":{" .pe-list-tile__title, .pe-list-tile__subtitle":{userSelect:"none","-moz-user-select":"none"}}}},"html.pe-no-touch &.pe-list-tile--hoverable, html.pe-no-touch &.pe-list-tile--selectable":{":not(.pe-list-tile--header):not(.pe-list-tile--disabled):not(.pe-list-tile--selected):hover":{cursor:"pointer"}}}]),Fh({},sd(e),Gh(t))]},title_line_count:function(e,t){return[Qh(e,t)]},single_line_height:function(e,t){return[Qh(e,t)]},font_size_title:function(e,t){return[cd(e,{fontSize:t.font_size_title+"px"," .pe-list-tile__secondary":{fontSize:t.font_size_title+"px"}})]},font_weight_title:function(e,t){return[cd(e,{fontWeight:t.font_weight_title})]},font_size_navigation_title:function(e,t){return[cd(e,{".pe-list-tile--navigation":{fontSize:t.font_size_navigation_title+"px"}})]},font_weight_navigation_title:function(e,t){return[cd(e,{".pe-list-tile--navigation":{fontWeight:t.font_weight_navigation_title}})]},padding:function(e,t){return[cd(e,{":not(.pe-list-tile--header)":{" .pe-list-tile__content:not(.pe-list-tile__content-front)":[Yh(t.padding,t.padding+1)]}," .pe-list-tile__content":{".pe-list-tile__content-front":[Yh(t.padding-5)]}})]},side_padding:function(e,t){return[cd(e,{" .pe-list-tile__content":[Xh(t.side_padding)]})]},inset_size:function(e,t){return[cd(e,{".pe-list-tile--inset":Kh(e,t)})]},rounded_border_radius:function(e,t){return[cd(e,{".pe-list-tile--rounded":nm(e,t)})]},compact_front_item_width:function(e,t){return[cd(e,{" .pe-list-tile__content-front":{".pe-list-tile--compact-front":{width:t.compact_front_item_width+"px"}}})]},front_item_width:function(e,t){return[cd(e,{" .pe-list-tile__content-front":{":not(.pe-list-tile--compact-front)":{width:t.front_item_width+"px"}}})]},font_size_small:function(e,t){return[cd(e,{" .pe-list-tile__content":{" small":{fontSize:t.font_size_small+"px"}}})]},has_high_subtitle_padding:function(e,t){return[cd(e,{".pe-list-tile--high-subtitle":{" .pe-list-tile__content":[Yh(t.has_high_subtitle_padding,t.has_high_subtitle_padding+1)]}})]},has_subtitle_padding:function(e,t){return[cd(e,{".pe-list-tile--subtitle":{" .pe-list-tile__content":[Yh(t.has_subtitle_padding,t.has_subtitle_padding+1)]}})]},single_height:function(e,t){return[cd(e,{".pe-list-tile--header":{height:t.single_height+"px"," .pe-list-tile__title":[Gu(1,t.single_height,"px"),{lineHeight:t.single_height+"px",padding:0}]}})]},font_size_list_header:function(e,t){return[cd(e,{".pe-list-tile--header":{" .pe-list-tile__title":{fontSize:t.font_size_list_header+"px"}}})]},font_weight_list_header:function(e,t){return[cd(e,{".pe-list-tile--header":{" .pe-list-tile__title":{fontWeight:t.font_weight_list_header}}})]},compact_padding:function(e,t){return[cd(e,{" .pe-list--compact &, &.pe-list-tile--compact":{":not(.pe-list-tile--header)":{" .pe-list-tile__content:not(.pe-list-tile__content-front)":Yh(t.compact_padding,t.compact_padding+1)}}})]},inset:function(e,t){return t.inset&&Kh(e,t)},inset_h:function(e,t){return t.inset_h&&em(e,t)},inset_v:function(e,t){return t.inset_h&&tm(e,t)},rounded:function(e,t){return t.rounded&&nm(e,t)},selected:function(e,t){return t.selected&&Uh(e)}}}),om=Lh({general_styles:!0,compact_front_item_width:64,compact_padding:9,compact_side_padding:1*le.grid_unit_component,font_size_list_header:14,font_size_navigation_title:14,font_size_small:12,font_size_subtitle:14,font_size_title:16,font_weight_list_header:le.font_weight_medium,font_weight_navigation_title:le.font_weight_medium,font_weight_subtitle:le.font_weight_normal,font_weight_title:le.font_weight_normal,front_item_width:72,has_high_subtitle_padding:13,has_subtitle_padding:15,high_subtitle_line_count:2,inset_h_size:1*le.grid_unit_component,inset_v_size:1*le.grid_unit_component,line_height_subtitle:20,padding:13,rounded_border_radius:le.unit_item_border_radius,side_padding:2*le.grid_unit_component,single_height:48,single_line_height:21,single_with_icon_height:56,single_with_icon_line_height:29,subtitle_line_count:1,title_line_count:1,color_light_title:ud(le.color_light_foreground,le.blend_light_text_primary),color_light_subtitle:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_info:ud(le.color_light_foreground,le.blend_light_text_tertiary),color_light_front:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_text_disabled:ud(le.color_light_foreground,le.blend_light_text_disabled),color_light_list_header:ud(le.color_light_foreground,le.blend_light_text_tertiary),color_light_secondary:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_hover:ud(le.color_light_foreground,le.blend_light_text_primary),color_light_hover_front:ud(le.color_light_foreground,le.blend_light_text_primary),color_light_hover_background:ud(le.color_light_foreground,le.blend_light_background_hover),color_light_focus_background:ud(le.color_light_foreground,le.blend_light_background_hover),color_light_selected_text:"inherit",color_light_selected_background:ud(le.color_light_foreground,le.blend_light_background_hover),color_light_highlight_background:ud(le.color_light_foreground,le.blend_light_background_hover),color_dark_title:ud(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_subtitle:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_info:ud(le.color_dark_foreground,le.blend_dark_text_tertiary),color_dark_front:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_text_disabled:ud(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_list_header:ud(le.color_dark_foreground,le.blend_dark_text_tertiary),color_dark_secondary:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_hover:ud(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_hover_front:ud(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_hover_background:ud(le.color_dark_foreground,le.blend_dark_background_hover),color_dark_selected_text:"inherit",color_dark_selected_background:ud(le.color_dark_foreground,le.blend_dark_background_hover),color_dark_highlight_background:ud(le.color_dark_foreground,le.blend_dark_background_hover)},{inset:!1,inset_h:!1,inset_v:!1,selected:!1,rounded:!1}),im=[rm,Jh],am=".".concat("pe-list-tile");function lm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cm(){return(cm=Object.assign||function(e){for(var t=1;t *":[Bu.layoutVertical,Bu.selfCenter],".pe-search--inset":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{padding:0}}}])]},font_size_input:function(e,t){return[ld(e,{" .pe-textfield":{" .pe-textfield__input, .pe-textfield__label":{fontSize:t.font_size_input+"px"}}})]},line_height_input:function(e,t){return[ld(e,{" .pe-textfield__input, .pe-textfield__label":{lineHeight:t.line_height_input+"px"}}),Pg(e,t)]},inset_border_radius:function(e,t){return[ld(e,{".pe-search--inset":{"border-radius":t.inset_border_radius+"px"}})]},inset_side_padding:function(e,t){return[ld(e,{".pe-search--inset":{padding:"0 "+t.inset_side_padding+"px"}})]},inset_height:function(e,t){return[ld(e,{".pe-search--inset":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{padding:0,height:t.inset_height+"px"}}}),Pg(e,t)]},full_width_height:function(e,t){return[ld(e,{".pe-search--full-width":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{height:t.full_width_height+"px"}}}),zg(e,t)]},inset_input_indent:function(e,t){return[ld(e,{".pe-search--inset":{" .pe-textfield__input, .pe-textfield__label":{paddingLeft:t.inset_input_indent+"px"}}})]},inset_input_right_padding:function(e,t){return[ld(e,{".pe-search--inset":{" .pe-textfield__input, .pe-textfield__label":{paddingRight:t.inset_input_right_padding+"px"}}})]},full_width_side_padding:function(e,t){var n=le.unit_indent-t.full_width_side_padding-le.grid_unit_icon_button;return ld(e,{".pe-search--full-width":{padding:"0 "+t.full_width_side_padding+"px"," .pe-textfield__input, .pe-textfield__label":{paddingLeft:n+"px"}},".pe-search--full-width + .pe-list .pe-list-tile":{"> :first-child":{paddingLeft:t.full_width_side_padding+"px"},"> :last-child":{paddingRight:t.full_width_side_padding+"px"}}})},full_width_border_radius:function(e,t){return[ld(e,{".pe-search--full-width":{borderRadius:t.full_width_border_radius+"px"}})]},full_width_input_right_padding:function(e,t){return[ld(e,{".pe-search--full-width":{" .pe-textfield__input, .pe-textfield__label":{paddingRight:t.full_width_input_right_padding+"px"}}})]}}}),Ig={general_styles:!0,font_size_input:20,full_width_border_radius:0,full_width_height:56,full_width_input_right_padding:0,full_width_side_margin:0,full_width_side_padding:8,inset_border_radius:le.unit_block_border_radius,inset_height:48,inset_input_indent:16,inset_input_right_padding:0,inset_side_padding:0,line_height_input:20,color_light_label_text:sd(le.color_light_foreground,le.blend_light_text_disabled),color_light_input_text:sd(le.color_light_foreground,le.blend_light_text_primary),color_light_background:sd(le.color_light_background),color_dark_label_text:sd(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_input_text:sd(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_background:sd(le.color_dark_background)},Eg=[Ng,Sg],Cg=".".concat("pe-search");function Rg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dg(){return(Dg=Object.assign||function(e){for(var t=1;t .pe-icon":Bu.layoutCenter," .pe-slider__track":[Bu.layoutHorizontal,Bu.flexGrow(1),{userSelect:"none","-moz-user-select":"none",position:"relative",outline:0}]," .pe-slider__control":[Bu.selfCenter,$u("transform, background",".200s"),{transform:"scale(1)",userSelect:"none","-moz-user-select":"none",lineHeight:0,borderRadius:"50%",outline:0,zIndex:1,position:"relative",":before":{content:'""',position:"absolute",borderRadius:"50%"},":after":{content:'""',position:"absolute",borderRadius:"50%",borderStyle:"solid"}}]," .pe-slider__thumb":[Gu(),{"&, .pe-icon":{width:"inherit",height:"inherit"}}]," .pe-slider__label":{minWidth:le.unit_icon_size+"px",textAlign:"center",fontSize:"16px",fontWeight:le.font_weight_medium}," .pe-slider__track-part":[Bu.flex(),{userSelect:"none","-moz-user-select":"none",overflow:"hidden"}]," .pe-slider__track-value, .pe-slider__track-rest":Bu.layoutHorizontal," .pe-slider__track-bar":[Bu.flex(),{position:"relative",overflow:"hidden"}]," .pe-slider__track-bar-value":Bu.flex()," .pe-slider__ticks":[Bu.layoutJustified,{userSelect:"none","-moz-user-select":"none",position:"absolute",left:0,pointerEvents:"none"}]," .pe-slider__pin":[$u("transform",".11s"),{transform:"translateZ(0) scale(0) translate(0, 0)",transformOrigin:"bottom",position:"absolute",zIndex:1,height:0,left:0,top:0,pointerEvents:"none","&::before, &::after":{position:"absolute",top:0,left:0},"::before":{transform:"rotate(-45deg)",content:'""',borderRadius:"50% 50% 50% 0"},"::after":{content:"attr(value)",textAlign:"center"}}],".pe-slider--pin.pe-slider--active, &.pe-slider--pin.pe-slider--focus":{" .pe-slider__pin":{transform:"translateZ(0) scale(1) translate(0, -24px)"}},":not(.pe-slider--disabled)":{" .pe-slider__control":{cursor:"pointer"},".pe-slider--track":{" .pe-slider__track":{cursor:"pointer"}}},".pe-slider--disabled":{" .pe-slider__control":{borderWidth:0}}}])]},thumb_size:function(e,t){var n=qg(t),r=n.normalThumbSize,o=n.barOffset,i=n.stepsOffset;return[ld(e,{" .pe-slider__control":{width:r+"px",height:r+"px"}," .pe-slider__track-value .pe-slider__track-bar":{marginLeft:o+"px"}," .pe-slider__track-rest .pe-slider__track-bar":{marginRight:o+"px"}," .pe-slider__ticks":{width:"calc(100% - "+2*i+"px)",margin:"0 "+i+"px"}}),Bg(e,t),Wg(e,t),Vg(e,t),Jg(e,t)]},active_thumb_scale:function(e,t){return[ld(e,{".pe-slider--active:not(.pe-slider--ticks)":{" .pe-slider__control":{transform:"scale("+t.active_thumb_scale+")"}}}),Vg(e,t)]},thumb_touch_size:function(e,t){return[ld(e,{" .pe-slider__control":{":before":{width:t.thumb_touch_size+"px",height:t.thumb_touch_size+"px"}}}),Wg(e,t)]},thumb_border_width:function(e,t){return[ld(e,{}),Bg(e,t)]},disabled_thumb_scale:function(e,t){return[ld(e,{".pe-slider--disabled":{" .pe-slider__control":{transform:"scale("+t.disabled_thumb_scale+")"}}}),Bg(e,t)]},active_pin_thumb_scale:function(e,t){return[ld(e,{".pe-slider--pin.pe-slider--active, &.pe-slider--pin.pe-slider--focus":{" .pe-slider__control":{transform:"scale("+t.active_pin_thumb_scale+")"}}})]},height:function(e,t){return[ld(e,{height:t.height+"px"," > .pe-icon":{height:t.height+"px"}," .pe-slider__label":{height:t.height+"px",lineHeight:t.height+"px"}," .pe-slider__ticks":{top:t.height/2-1+"px"}}),Mg(e,t)]},track_height:function(e,t){return[ld(e,{" .pe-slider__track":{height:t.track_height+"px"}}),Mg(e,t),Hg(e,t)]},animation_duration:function(e,t){return[ld(e,{" .pe-slider__track":$u("transform",t.animation_duration)," .pe-slider__control:before":$u("background-color",t.animation_duration)," .pe-slider__control:after":$u("border",t.animation_duration)," .pe-slider__thumb":$u("opacity",t.animation_duration)," .pe-slider__track-bar-value":$u("transform, background-color",t.animation_duration)})]},side_spacing:function(e,t){return[ld(e,{" .pe-slider__track":{margin:"0 "+t.side_spacing+"px"}})]},horizontal_layout_side_spacing:function(e,t){return[ld(e,{" div + .pe-slider__track":{margin:"0 "+t.horizontal_layout_side_spacing+"px"}})]},bar_height:function(e,t){return[ld(e,{" .pe-slider__track-part, .pe-slider__track-bar-value, .pe-slider__ticks, .pe-slider__tick":{height:t.bar_height+"px"}}),Hg(e,t)]},step_width:function(e,t){return[ld(e,{" .pe-slider__tick":{width:t.step_width+"px"}})]},pin_width:function(e,t){return[ld(e,{" .pe-slider__pin":{width:t.pin_width+"px","::before":{width:t.pin_width+"px",height:t.pin_width+"px"},"::after":{width:t.pin_width+"px",height:t.pin_height+"px",lineHeight:t.pin_width+"px"}}}),Jg(e,t)]},pin_font_size:function(e,t){return[ld(e,{" .pe-slider__pin::after":{fontSize:t.pin_font_size+"px"}})]}}}),Zg=le.color_light_foreground,Gg=le.color_dark_foreground,Xg=le.color_primary,Yg=Math.max(40,12),Qg=Math.max(Yg,18),Ug=Math.max(52,18),Kg=Math.max(10,Qg/2-6),eb={general_styles:!0,active_pin_thumb_scale:2/6,active_thumb_scale:1.5,animation_duration:le.animation_duration,bar_height:2,disabled_thumb_scale:.5,height:Ug,horizontal_layout_side_spacing:Kg+4,pin_font_size:10,pin_height:32,pin_width:26,side_spacing:Kg,step_width:2,thumb_border_width:2,thumb_size:12,thumb_touch_size:Yg,track_height:Ug,color_light_track_active:sd(Zg,.38),color_light_track_inactive:sd(Zg,.26),color_light_track_value:"currentColor",color_light_thumb_off:sd(Zg,.26),color_light_thumb_off_focus:sd(Zg),color_light_thumb_off_focus_opacity:.08,color_light_thumb_on:sd(Xg),color_light_thumb_on_focus_opacity:.11,color_light_thumb_inactive:sd(Zg,.26),color_light_tick:sd(Zg,1),color_light_tick_value:sd(Zg,1),color_light_icon:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled_icon:sd(le.color_light_foreground,le.blend_light_text_disabled),color_light_label:sd(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled_label:sd(le.color_light_foreground,le.blend_light_text_disabled),color_light_pin_label:"#fff",color_light_pin_background:"currentColor",color_dark_track_active:sd(Gg,.3),color_dark_track_inactive:sd(Gg,.2),color_dark_track_value:"currentColor",color_dark_thumb_off:sd(Gg,.2),color_dark_thumb_off_focus:sd(Gg),color_dark_thumb_off_focus_opacity:.08,color_dark_thumb_on:sd(Xg),color_dark_thumb_on_focus_opacity:.11,color_dark_thumb_inactive:sd(Gg,.2),color_dark_tick:sd(Gg,1),color_dark_tick_value:sd(Gg,1),color_dark_icon:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled_icon:sd(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_label:sd(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled_label:sd(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_pin_label:"#fff",color_dark_pin_background:"currentColor"},tb=[$g,Ag],nb=".".concat("pe-slider");function rb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ob(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ib,ab=function(e){for(var t=1;t div, svg":{width:"inherit",height:"inherit"}})]}}}),wb={general_styles:!0,color_light:"currentcolor",color_dark:"currentcolor"},xb=[vb,yb],kb=".".concat("pe-svg");function Ob(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jb(){return(jb=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e.animation_duration;return $u(t,n,"ease-out")},Ib=function(e,t){var n=t/le.unit_icon_size,r=2*Math.floor(.5*e.thumb_size*n),o=2*Math.floor(.5*e.track_height*n),i=2*Math.floor(.5*e.track_length*n),a=2*Math.floor(.5*e.thumb_size*n),l=(e.label_height*n-o)/2,c=e.icon_button_padding,s=(t-a)/2,u=-(t+2*c)/2+r/2;return{factor:n,scaledThumbSize:a,scaledTrackHeight:o,scaledTrackWidth:i,size:t,thumbMargin:s,thumbOffsetMax:u+i-r,thumbOffsetMin:u,thumbOffsetY:u+s,thumbPadding:c,trackTop:l,trackVisualOffset:.3}},Eb=function(e,t){var n=t.scaledThumbSize,r=t.scaledTrackHeight,o=t.scaledTrackWidth,i=t.size,a=t.thumbMargin,l=t.thumbOffsetY,c=t.thumbPadding,s=t.trackTop;return{" .pe-control__form-label":{height:i+"px",minWidth:o+"px"}," .pe-switch-control__track":{height:r+"px",width:o-2*t.trackVisualOffset+"px",top:s+"px",borderRadius:r+"px"}," .pe-switch-control__thumb":{top:l+"px"}," .pe-switch-control__knob":{width:n+"px",height:n+"px",margin:a+"px"}," .pe-button__content":{padding:c+"px"}}},Cb=function(e,t,n){var r,o,i,a,l=t.factor,c=t.scaledTrackWidth,s=t.thumbOffsetMax,u=t.thumbOffsetMin,d=t.trackVisualOffset;return{" .pe-control__label":(r={},Ob(r,n?"paddingRight":"paddingLeft",e.padding*l+8+c+"px"),Ob(r,n?"paddingLeft":"paddingRight",0),r)," .pe-switch-control__track":(o={},Ob(o,n?"right":"left",d+"px"),Ob(o,n?"left":"right","auto"),o)," .pe-switch-control__thumb":(i={},Ob(i,n?"right":"left",u+"px"),Ob(i,n?"left":"right","auto"),i),".pe-control--on":{" .pe-switch-control__thumb":(a={},Ob(a,n?"right":"left",s+"px"),Ob(a,n?"left":"right","auto"),a)}}},Rb=function(e){return function(){var t;return{" .pe-switch-control__track":(t={},Ob(t,e?"right":"left",0),Ob(t,e?"left":"right","auto"),t)}}},Db=Rb(!1),Tb=Rb(!0),Fb=dd({varFns:{general_styles:function(e){return[ld(e,[Db(),{" .pe-switch-control__track":[{position:"absolute"}]," .pe-switch-control__thumb":{position:"absolute",zIndex:1,color:"inherit",":focus":{outline:0}}," .pe-switch-control__knob":{position:"relative",borderRadius:"50%"}," .pe-icon-button .pe-button__content":{transition:"none"," .pe-switch-control__knob .pe-icon":[Gu(),{width:"100%",height:"100%"}]}}]),Ob({},"_:-ms-fullscreen, :root ".concat(e),{" input":{position:"absolute",zIndex:1,width:"100%",height:"100%",left:0,top:0,right:0,bottom:0,display:"block",opacity:0,cursor:"pointer"}," label":{cursor:"auto"}})]},animation_duration:function(e,t){return[ld(e,{" .pe-switch-control__track, .pe-switch-control__thumb, .pe-control__label":Nb(t,"all")})]},createSize:function(e,t){var n={small:Ib(t,le.unit_icon_size_small),regular:Ib(t,le.unit_icon_size),medium:Ib(t,le.unit_icon_size_medium),large:Ib(t,le.unit_icon_size_large)};return[ld(e,{".pe-control--small":[Eb(0,n.small),Cb(t,n.small,!1)],".pe-control--regular":[Eb(0,n.regular),Cb(t,n.regular,!1)],".pe-control--medium":[Eb(0,n.medium),Cb(t,n.medium,!1)],".pe-control--large":[Eb(0,n.large),Cb(t,n.large,!1)]}),Ob({},"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e),[Tb(),{".pe-control--small":[Cb(t,n.small,!0)],".pe-control--regular":[Cb(t,n.regular,!0)],".pe-control--medium":[Cb(t,n.medium,!0)],".pe-control--large":[Cb(t,n.large,!0)]}])]}},superLayout:vf,varMixin:function(e){return e.thumb_size||e.track_height||e.track_length||e.label_height||e.icon_button_padding?jb({},e,{createSize:!0}):e}}),Ab={general_styles:!0,animation_duration:le.animation_duration,hit_area_padding:(le.grid_unit_icon_button-le.unit_icon_size)/2,icon_button_padding:dh.padding,padding:le.grid_unit_component,thumb_size:20,track_height:14,track_length:36,label_height:wf.label_height,color_light_thumb_on:sd(le.color_primary),color_light_thumb_off:"#f1f1f1",color_light_thumb_disabled:"#eee",color_light_wash_on:sd(le.color_primary,le.blend_light_background_active),color_light_wash_off:dh.color_light_wash_background,color_light_track_on:sd(le.color_primary_faded),color_light_track_on_opacity:.55,color_light_track_off:sd(le.color_light_foreground,le.blend_light_text_regular),color_light_track_off_opacity:.55,color_light_track_disabled:sd(le.color_light_foreground,le.blend_light_background_disabled),color_light_track_disabled_opacity:1,color_dark_thumb_on:sd(le.color_primary),color_dark_thumb_off:"#bdbdbd",color_dark_thumb_disabled:"#555",color_dark_wash_on:sd(le.color_primary,le.blend_dark_background_active),color_dark_wash_off:dh.color_dark_wash_background,color_dark_track_on:sd(le.color_primary_faded,le.blend_dark_text_tertiary),color_dark_track_on_opacity:9,color_dark_track_off:"#717171",color_dark_track_off_opacity:.55,color_dark_track_disabled:"#717171",color_dark_track_disabled_opacity:.3},qb=[Fb,zb],Lb=".".concat("pe-switch-control"),Bb="pe-tabs",Mb="pe-tab";function Hb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wb(){return(Wb=Object.assign||function(e){for(var t=1;t span, .pe-toolbar__title":(t={},Ny(t,o?"marginLeft":"marginRight",0),Ny(t,o?"marginRight":"marginLeft",a+"px"),t)," .pe-toolbar__title--center":{marginLeft:a+"px",marginRight:a+"px"}})},Ay=function(e){var t,n=e.selector,r=e.vars,o=e.isRTL,i=e.isLarge,a=i?r.title_after_icon_padding_large:r.title_after_icon_padding;return(i?Ly:ld)(n,{" > :not(.pe-toolbar__title):first-child:not(.pe-toolbar__title--indent):first-child":(t={},Ny(t,o?"marginRight":"marginLeft",0),Ny(t,o?"marginLeft":"marginRight",a+"px"),t)})},qy=Dy("@media (min-width: ".concat(le.breakpoint_for_phone_only,"px) and (orientation: landscape)")),Ly=Dy("@media (min-width: ".concat(le.breakpoint_for_tablet_portrait_up,"px)")),By=dd({varFns:{general_styles:function(e){return[ld(e,[Bu.layout,Bu.layoutHorizontal,Bu.layoutCenter,{position:"relative",zIndex:le.z_toolbar," > a":{textDecoration:"none"},".pe-toolbar--fullbleed":{padding:0},".pe-toolbar--border":{borderWidth:"1px",borderStyle:"none none solid none"}," > *":{flexShrink:0}," > span, .pe-toolbar__title, .pe-toolbar__title--indent":{width:"100%",display:"block",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:1}," .pe-toolbar__title--center":{textAlign:"center",justifyContent:"center"}," > .pe-action":{paddingLeft:"12px",paddingRight:"12px"}," .pe-fit":[Gu(),{margin:0}]}])]},height:function(e,t){return[ld(e,{height:t.height+"px"})]},height_compact:function(e,t){return[ld(e,{".pe-toolbar--compact":{height:t.height_compact+"px"}}),qy(e,{height:t.height+"px"})]},line_height:function(e,t){return[ld(e,{lineHeight:t.line_height+"em"," > span, .pe-toolbar__title, .pe-toolbar__title--indent":{lineHeight:t.line_height}})]},font_size:function(e,t){return[ld(e,{" > span, .pe-toolbar__title, .pe-toolbar__title--indent, .pe-action":{fontSize:t.font_size+"px"}})]},font_weight:function(e,t){return[ld(e,{" > span, .pe-toolbar__title, .pe-toolbar__title--indent":{fontWeight:t.font_weight}})]},padding_side:function(e,t){return[ld(e,{padding:"0 "+t.padding_side+"px"}),Ty({selector:e,vars:t}),Ty({selector:cd(e),vars:t,isRTL:!0})]},indent:function(e,t){return[Ty({selector:e,vars:t}),Ty({selector:cd(e),vars:t,isRTL:!0})]},indent_large:function(e,t){return[Ty({selector:e,vars:t,isLarge:!0}),Ty({selector:cd(e),vars:t,isRTL:!0,isLarge:!0})]},title_padding:function(e,t){return[Fy({selector:e,vars:t}),Fy({selector:cd(e),vars:t,isRTL:!0})]},title_padding_large:function(e,t){return[Fy({selector:e,vars:t,isLarge:!0}),Fy({selector:cd(e),vars:t,isRTL:!0,isLarge:!0})]},title_after_icon_padding:function(e,t){return[Ay({selector:e,vars:t}),Ay({selector:cd(e),vars:t,isRTL:!0})]},title_after_icon_padding_large:function(e,t){return[Ay({selector:e,vars:t,isLarge:!0}),Ay({selector:cd(e),vars:t,isRTL:!0,isLarge:!0})]},height_large:function(e,t){return[Ly(e,{height:t.height_large+"px"})]},padding_side_large:function(e,t){return[Ly(e,{padding:"0 "+t.padding_side_large+"px"})]}}}),My=2*le.grid_unit_component-12,Hy=3*le.grid_unit_component-12,Wy={general_styles:!0,font_size:20,font_weight:400,height:7*le.grid_unit_component,height_compact:6*le.grid_unit_component,height_large:8*le.grid_unit_component,line_height:le.line_height,padding_side:My,padding_side_large:Hy,indent:le.unit_indent-My,indent_large:le.unit_indent_large-Hy,title_after_icon_padding:4,title_after_icon_padding_large:12,title_padding:16,title_padding_large:8,color_light_text:sd(le.color_light_foreground,le.blend_light_text_primary),color_light_border:sd(le.color_light_foreground,le.blend_light_border_light),color_light_background:sd(le.color_light_background),color_dark_text:sd(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_border:sd(le.color_dark_foreground,le.blend_dark_border_light),color_dark_background:sd(le.color_dark_background)},Vy=[By,Ry],Jy=".".concat("pe-toolbar"),$y=[function(){return[{" html":{"box-sizing":"border-box"}," *, *:before, *:after":{"box-sizing":"inherit"}," *":[{"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},{"-webkit-tap-highlight-color":"transparent"}]," a, a:active, a:focus, input:active, *:focus":{outline:0}," input:disabled":{opacity:1}}]}],Zy={},Gy=[function(){return[{"html, body, button, input, select, textarea":{fontFamily:"Roboto, Helvetica, Arial, sans-serif"}}]},function(){return[{" h1, h2, h3, h4, h5, h6, p":{margin:0,padding:0}},{" h1, h2, h3, h4, h5, h6":{" small":{"font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"-0.02em","font-size":"0.6em"}}},{" h1":{"font-size":"56px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h2":{"font-size":"45px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h3":{"font-size":"34px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h4":{"font-size":"24px","font-weight":le.font_weight_normal,"line-height":le.line_height,"-moz-osx-font-smoothing":"grayscale","margin-top":"24px","margin-bottom":"16px"}},{" h5":{"font-size":"20px","font-weight":le.font_weight_medium,"line-height":le.line_height,"letter-spacing":"-0.02em","margin-top":"24px","margin-bottom":"16px"}},{" h6":{"font-size":"16px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"0.04em","margin-top":"24px","margin-bottom":"16px"}},{" html, body":{"font-size":"14px","line-height":le.line_height,"font-weight":le.font_weight_normal}," p":{"font-size":"14px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"0","margin-bottom":"16px"}," blockquote":{position:"relative","font-size":"24px","font-weight":le.font_weight_normal,"font-style":"italic","line-height":le.line_height,"letter-spacing":"0.08em","margin-top":"24px","margin-bottom":"16px"}," ul, ol":{"font-size":"14px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":0}," b, strong":{"font-weight":le.font_weight_medium}}]}],Xy=function(){!function(e,t){if(!k){if(!window.WebFontConfig){var n=function(n){var r=n.name,o=n.familyName,i=n.fvd;return A("webfontloader",{name:r,familyName:o,fvd:i,vendor:e,config:t})};window.WebFontConfig={loading:function(){return n({name:"loading"})},active:function(){return n({name:"active"})},inactive:function(){return n({name:"inactive"})},fontloading:function(e,t){return n({name:"fontloading",familyName:e,fvd:t})},fontactive:function(e,t){return n({name:"fontactive",familyName:e,fvd:t})},fontinactive:function(e,t){return n({name:"fontinactive",familyName:e,fvd:t})}},function(){var e=document.createElement("script");e.src=("https:"===document.location.protocol?"https":"http")+"://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js",e.type="text/javascript",e.async=!0;var t=document.getElementsByTagName("script")[0];t&&t.parentNode&&t.parentNode.insertBefore(e,t)}()}var r=window.WebFontConfig[e]||{};t&&ki(r,t),window.WebFontConfig[e]=r}}("google",{families:["Roboto:400,500,700,400italic:latin"]})};ad({selectors:[zd],fns:Pd,vars:Sd}),ad({selectors:[jp],fns:kp,vars:gp}),ad({selectors:[vp],fns:yp,vars:hp}),ad({selectors:[wp],fns:bp,vars:hp}),ad({selectors:[Ip],fns:Np,vars:zp}),ad({selectors:[tf],fns:af,vars:ef}),ad({selectors:[rf],fns:lf,vars:ef}),ad({selectors:[nf],fns:cf,vars:ef}),ad({selectors:[of],fns:cf,vars:ef}),ad({selectors:[zf],fns:Pf,vars:Sf}),ad({selectors:[r_],fns:n_,vars:Uf}),ad({selectors:[Mf],fns:Bf,vars:Lf}),ad({selectors:[T_],fns:D_,vars:R_}),ad({selectors:[V_],fns:W_,vars:H_}),ad({selectors:[K_],fns:U_,vars:Q_}),ad({selectors:[fh],fns:ph,vars:dh}),ad({selectors:[kh],fns:xh,vars:wh}),ad({selectors:[Dh],fns:Rh,vars:Ch}),ad({selectors:[im],fns:om,vars:rm}),ad({selectors:[Om],fns:km,vars:xm}),ad({selectors:[mm],fns:hm,vars:_m}),ad({selectors:[Jm],fns:Vm,vars:Tm}),ad({selectors:[lg],fns:ag,vars:rg}),ad({selectors:[ig],fns:og,vars:rg}),ad({selectors:[pg],fns:dg,vars:ug}),ad({selectors:[wg],fns:vg,vars:yg}),ad({selectors:[Cg],fns:Eg,vars:Ig}),ad({selectors:[kf],fns:xf,vars:wf}),ad({selectors:[Vd],fns:Wd,vars:Hd}),ad({selectors:[nb],fns:tb,vars:eb}),ad({selectors:[hb],fns:_b,vars:db}),ad({selectors:[fb],fns:pb,vars:db}),ad({selectors:[kb],fns:xb,vars:wb}),ad({selectors:[Lb],fns:qb,vars:Ab}),ad({selectors:[cy],fns:ay,vars:iy}),ad({selectors:[uy],fns:ly,vars:iy}),ad({selectors:[zy],fns:Py,vars:Sy}),ad({selectors:[Jy],fns:Vy,vars:Wy}),ad({identifier:"pe-core",selectors:[""],fns:$y,vars:Zy}),Xy(),id("pe-material-design-typography",Gy.map((function(e){return e()}))),id("pe-layout",md,gd),e.Button=bt,e.ButtonGroup=zt,e.Card=hn,e.Checkbox=nr,e.Dialog=Wr,e.DialogInstance=Br,e.DialogPane=Fr,e.Drawer=co,e.FAB=vo,e.IOSSpinner=ii,e.Icon=Ue,e.IconButton=Un,e.List=xi,e.ListTile=dn,e.MaterialDesignProgressSpinner=Yi,e.MaterialDesignSpinner=ma,e.Menu=La,e.Notification=al,e.NotificationInstance=ol,e.RadioButton=Ol,e.RadioGroup=Ll,e.RaisedButton=Vl,e.Ripple=je,e.SVG=Ve,e.Search=Oc,e.Shadow=at,e.Slider=Wc,e.Snackbar=cs,e.SnackbarInstance=as,e.Switch=zs,e.Tabs=Us,e.TextField=mc,e.Toolbar=uu,e.ToolbarTitle=du,e.subscribe=T,e.unsubscribe=F,Object.defineProperty(e,"__esModule",{value:!0})})); + */var sm={general_styles:function(e){return[cd(e,{" .pe-md-spinner__layer":{borderColor:"currentcolor"}})]}},um=function(e){var t;return lm(t={},"color_"+e+"_single",(function(t,n){return[cd(t,{color:n["color_"+e+"_single"]})]})),lm(t,"color_"+e+"_1",(function(t,n){return[cd(t,{":not(.pe-spinner--single-color)":{" .pe-md-spinner__layer-1":{borderColor:n["color_"+e+"_1"]}}})]})),lm(t,"color_"+e+"_2",(function(t,n){return[cd(t,{":not(.pe-spinner--single-color)":{" .pe-md-spinner__layer-2":{borderColor:n["color_"+e+"_2"]}}})]})),lm(t,"color_"+e+"_3",(function(t,n){return[cd(t,{":not(.pe-spinner--single-color)":{" .pe-md-spinner__layer-3":{borderColor:n["color_"+e+"_3"]}}})]})),lm(t,"color_"+e+"_4",(function(t,n){return[cd(t,{":not(.pe-spinner--single-color)":{" .pe-md-spinner__layer-4":{borderColor:n["color_"+e+"_4"]}}})]})),t},dm=hd({varFns:{lightTintFns:cm({},sm,um("light")),darkTintFns:cm({},sm,um("dark"))},superColor:kd}),pm="cubic-bezier(0.4, 0.0, 0.2, 1) infinite both",fm=function(e){return{" from":{transform:"rotate("+130*e+"deg)"}," 50%":{transform:"rotate("+-5*e+"deg)"}," to":{transform:"rotate("+130*e+"deg)"}}},_m=pd({varFns:{general_styles:function(e,t){return[cd(e,{"@keyframes mdSpinnerRotate":{" to":{transform:"rotate(360deg)"}},"@keyframes mdSpinnerRightSpin":fm(-1),"@keyframes mdSpinnerLeftSpin":fm(1),"@keyframes mdSpinnerFadeOut":{" from":{opacity:.99}," to":{opacity:0}},"@keyframes mdSpinnerLayer1FadeInOut":{" from":{opacity:.99}," 25%":{opacity:.99}," 26%":{opacity:0}," 89%":{opacity:0}," 90%":{opacity:.99}," 100%":{opacity:.99}},"@keyframes mdSpinnerLayer2FadeInOut":{" from":{opacity:0}," 15%":{opacity:0}," 25%":{opacity:.99}," 50%":{opacity:.99}," 51%":{opacity:0}},"@keyframes mdSpinnerLayer3FadeInOut":{" from":{opacity:0}," 40%":{opacity:0}," 50%":{opacity:.99}," 75%":{opacity:.99}," 76%":{opacity:0}},"@keyframes mdSpinnerLayer4FadeInOut":{" from":{opacity:0}," 65%":{opacity:0}," 75%":{opacity:.99}," 90%":{opacity:.99}," 100%":{opacity:0}}," .pe-md-spinner__animation":{position:"relative",width:"100%",height:"100%",direction:"ltr"}," .pe-md-spinner__gap-patch":{position:"absolute",boxSizing:"border-box",top:0,left:"45%",width:"10%",height:"100%",overflow:"hidden",borderColor:"inherit"}," .pe-md-spinner__gap-patch .pe-md-spinner__circle":{width:"1000%",left:"-450%"}," .pe-md-spinner__circle-clipper":{display:"inline-block",fontSize:0,lineHeight:0,position:"relative",width:"50%",height:"100%",overflow:"hidden",borderColor:"inherit"}," .pe-md-spinner__circle-clipper .pe-md-spinner__circle":{width:"200%"}," .pe-md-spinner__circle":[Xu(),{animation:"none",boxSizing:"border-box",height:"100%",borderStyle:"solid",borderColor:"inherit",borderRadius:"50%",borderBottomColor:"transparent !important"}]," .pe-md-spinner__circle-clipper-left .pe-md-spinner__circle":{transform:"rotate(129deg)",borderRightColor:"transparent !important"}," .pe-md-spinner__circle-clipper-right .pe-md-spinner__circle":{transform:"rotate(-129deg)",left:"-100%",borderLeftColor:"transparent !important"}," .pe-md-spinner__layer":[[1,2,3,4].map((function(e){return function(e,t){return lm({},".pe-md-spinner__layer-"+t,{animation:"mdSpinnerFillUnfillRotate "+4*e.arc_time+"s "+pm+", mdSpinnerLayer"+t+"FadeInOut "+4*e.arc_time+"s "+pm})}(t,e)})),{position:"absolute",width:"100%",height:"100%",whiteSpace:"nowrap"}]})]},rotation_duration:function(e,t){return[cd(e,{" .pe-md-spinner__animation":{animation:"mdSpinnerRotate "+t.rotation_duration+"s linear infinite"}})]},border_width_small:function(e,t){return[cd(e,{".pe-spinner--small":{" .pe-md-spinner__circle":{borderWidth:t.border_width_small+"px"}}})]},border_width_regular:function(e,t){return[cd(e,{".pe-spinner--regular":{" .pe-md-spinner__circle":{borderWidth:t.border_width_regular+"px"}}})]},border_width_medium:function(e,t){return[cd(e,{".pe-spinner--medium":{" .pe-md-spinner__circle":{borderWidth:t.border_width_medium+"px"}}})]},border_width_large:function(e,t){return[cd(e,{".pe-spinner--large":{" .pe-md-spinner__circle":{borderWidth:t.border_width_large+"px"}}})]},border_width_fab:function(e,t){return[cd(e,{".pe-spinner--fab":{" .pe-md-spinner__circle":{borderWidth:t.border_width_fab+"px"}}})]},arc_size:function(e,t){return[cd(e,{"@keyframes mdSpinnerFillUnfillRotate":(n=t.arc_size,{" 12.5%":{transform:"rotate("+.5*n+"deg)"}," 25%":{transform:"rotate("+1*n+"deg)"}," 37.5%":{transform:"rotate("+1.5*n+"deg)"}," 50%":{transform:"rotate("+2*n+"deg)"}," 62.5%":{transform:"rotate("+2.5*n+"deg)"}," 75%":{transform:"rotate("+3*n+"deg)"}," 87.5%":{transform:"rotate("+3.5*n+"deg)"}," to":{transform:"rotate("+4*n+"deg)"}})})];var n},arc_time:function(e,t){return[cd(e,{" .pe-md-spinner__circle-clipper-left .pe-md-spinner__circle":{animation:"mdSpinnerLeftSpin "+t.arc_time+"s "+pm}," .pe-md-spinner__circle-clipper-right .pe-md-spinner__circle":{animation:"mdSpinnerRightSpin "+t.arc_time+"s "+pm}," .pe-md-spinner__layer":{animation:"mdSpinnerFillUnfillRotate "+4*t.arc_time+"s "+pm}})]}},superLayout:Sd}),hm={general_styles:!0,arc_size:270,arc_start_degrees:216,arc_time:1.333,border_width_fab:Pd.size_fab/Pd.size_regular*3,border_width_large:Pd.size_large/Pd.size_regular*3,border_width_medium:Pd.size_medium/Pd.size_regular*3,border_width_regular:3,border_width_small:Pd.size_small/Pd.size_regular*3,rotation_duration:479.88/306,color_light_single:ud(le.color_primary),color_light_1:"#42a5f5",color_light_2:"#f44336",color_light_3:"#fdd835",color_light_4:"#4caf50",color_dark_single:ud(le.color_primary),color_dark_1:"#42a5f5",color_dark_2:"#f44336",color_dark_3:"#fdd835",color_dark_4:"#4caf50"},mm=[_m,dm],gm=".".concat("pe-md-spinner");function bm(){return(bm=Object.assign||function(e){for(var t=1;t *":[Mu.layoutVertical,Mu.selfCenter],".pe-search--inset":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{padding:0}}}])]},font_size_input:function(e,t){return[cd(e,{" .pe-textfield":{" .pe-textfield__input, .pe-textfield__label":{fontSize:t.font_size_input+"px"}}})]},line_height_input:function(e,t){return[cd(e,{" .pe-textfield__input, .pe-textfield__label":{lineHeight:t.line_height_input+"px"}}),zg(e,t)]},inset_border_radius:function(e,t){return[cd(e,{".pe-search--inset":{"border-radius":t.inset_border_radius+"px"}})]},inset_side_padding:function(e,t){return[cd(e,{".pe-search--inset":{padding:"0 "+t.inset_side_padding+"px"}})]},inset_height:function(e,t){return[cd(e,{".pe-search--inset":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{padding:0,height:t.inset_height+"px"}}}),zg(e,t)]},full_width_height:function(e,t){return[cd(e,{".pe-search--full-width":{"&, .pe-textfield__input-area, .pe-textfield__input, .pe-textfield__label":{height:t.full_width_height+"px"}}}),Ng(e,t)]},inset_input_indent:function(e,t){return[cd(e,{".pe-search--inset":{" .pe-textfield__input, .pe-textfield__label":{paddingLeft:t.inset_input_indent+"px"}}})]},inset_input_right_padding:function(e,t){return[cd(e,{".pe-search--inset":{" .pe-textfield__input, .pe-textfield__label":{paddingRight:t.inset_input_right_padding+"px"}}})]},full_width_side_padding:function(e,t){var n=le.unit_indent-t.full_width_side_padding-le.grid_unit_icon_button;return cd(e,{".pe-search--full-width":{padding:"0 "+t.full_width_side_padding+"px"," .pe-textfield__input, .pe-textfield__label":{paddingLeft:n+"px"}},".pe-search--full-width + .pe-list .pe-list-tile":{"> :first-child":{paddingLeft:t.full_width_side_padding+"px"},"> :last-child":{paddingRight:t.full_width_side_padding+"px"}}})},full_width_border_radius:function(e,t){return[cd(e,{".pe-search--full-width":{borderRadius:t.full_width_border_radius+"px"}})]},full_width_input_right_padding:function(e,t){return[cd(e,{".pe-search--full-width":{" .pe-textfield__input, .pe-textfield__label":{paddingRight:t.full_width_input_right_padding+"px"}}})]}}}),Eg={general_styles:!0,font_size_input:20,full_width_border_radius:0,full_width_height:56,full_width_input_right_padding:0,full_width_side_margin:0,full_width_side_padding:8,inset_border_radius:le.unit_block_border_radius,inset_height:48,inset_input_indent:16,inset_input_right_padding:0,inset_side_padding:0,line_height_input:20,color_light_label_text:ud(le.color_light_foreground,le.blend_light_text_disabled),color_light_input_text:ud(le.color_light_foreground,le.blend_light_text_primary),color_light_background:ud(le.color_light_background),color_dark_label_text:ud(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_input_text:ud(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_background:ud(le.color_dark_background)},Cg=[Ig,Pg],Rg=".".concat("pe-search");function Dg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tg(){return(Tg=Object.assign||function(e){for(var t=1;t .pe-icon":Mu.layoutCenter," .pe-slider__track":[Mu.layoutHorizontal,Mu.flexGrow(1),{userSelect:"none","-moz-user-select":"none",position:"relative",outline:0}]," .pe-slider__control":[Mu.selfCenter,Zu("transform, background",".200s"),{transform:"scale(1)",userSelect:"none","-moz-user-select":"none",lineHeight:0,borderRadius:"50%",outline:0,zIndex:1,position:"relative",":before":{content:'""',position:"absolute",borderRadius:"50%"},":after":{content:'""',position:"absolute",borderRadius:"50%",borderStyle:"solid"}}]," .pe-slider__thumb":[Xu(),{"&, .pe-icon":{width:"inherit",height:"inherit"}}]," .pe-slider__label":{minWidth:le.unit_icon_size+"px",textAlign:"center",fontSize:"16px",fontWeight:le.font_weight_medium}," .pe-slider__track-part":[Mu.flex(),{userSelect:"none","-moz-user-select":"none",overflow:"hidden"}]," .pe-slider__track-value, .pe-slider__track-rest":Mu.layoutHorizontal," .pe-slider__track-bar":[Mu.flex(),{position:"relative",overflow:"hidden"}]," .pe-slider__track-bar-value":Mu.flex()," .pe-slider__ticks":[Mu.layoutJustified,{userSelect:"none","-moz-user-select":"none",position:"absolute",left:0,pointerEvents:"none"}]," .pe-slider__pin":[Zu("transform",".11s"),{transform:"translateZ(0) scale(0) translate(0, 0)",transformOrigin:"bottom",position:"absolute",zIndex:1,height:0,left:0,top:0,pointerEvents:"none","&::before, &::after":{position:"absolute",top:0,left:0},"::before":{transform:"rotate(-45deg)",content:'""',borderRadius:"50% 50% 50% 0"},"::after":{content:"attr(value)",textAlign:"center"}}],".pe-slider--pin.pe-slider--active, &.pe-slider--pin.pe-slider--focus":{" .pe-slider__pin":{transform:"translateZ(0) scale(1) translate(0, -24px)"}},":not(.pe-slider--disabled)":{" .pe-slider__control":{cursor:"pointer"},".pe-slider--track":{" .pe-slider__track":{cursor:"pointer"}}},".pe-slider--disabled":{" .pe-slider__control":{borderWidth:0}}}])]},thumb_size:function(e,t){var n=Lg(t),r=n.normalThumbSize,o=n.barOffset,i=n.stepsOffset;return[cd(e,{" .pe-slider__control":{width:r+"px",height:r+"px"}," .pe-slider__track-value .pe-slider__track-bar":{marginLeft:o+"px"}," .pe-slider__track-rest .pe-slider__track-bar":{marginRight:o+"px"}," .pe-slider__ticks":{width:"calc(100% - "+2*i+"px)",margin:"0 "+i+"px"}}),Mg(e,t),Vg(e,t),Jg(e,t),$g(e,t)]},active_thumb_scale:function(e,t){return[cd(e,{".pe-slider--active:not(.pe-slider--ticks)":{" .pe-slider__control":{transform:"scale("+t.active_thumb_scale+")"}}}),Jg(e,t)]},thumb_touch_size:function(e,t){return[cd(e,{" .pe-slider__control":{":before":{width:t.thumb_touch_size+"px",height:t.thumb_touch_size+"px"}}}),Vg(e,t)]},thumb_border_width:function(e,t){return[cd(e,{}),Mg(e,t)]},disabled_thumb_scale:function(e,t){return[cd(e,{".pe-slider--disabled":{" .pe-slider__control":{transform:"scale("+t.disabled_thumb_scale+")"}}}),Mg(e,t)]},active_pin_thumb_scale:function(e,t){return[cd(e,{".pe-slider--pin.pe-slider--active, &.pe-slider--pin.pe-slider--focus":{" .pe-slider__control":{transform:"scale("+t.active_pin_thumb_scale+")"}}})]},height:function(e,t){return[cd(e,{height:t.height+"px"," > .pe-icon":{height:t.height+"px"}," .pe-slider__label":{height:t.height+"px",lineHeight:t.height+"px"}," .pe-slider__ticks":{top:t.height/2-1+"px"}}),Hg(e,t)]},track_height:function(e,t){return[cd(e,{" .pe-slider__track":{height:t.track_height+"px"}}),Hg(e,t),Wg(e,t)]},animation_duration:function(e,t){return[cd(e,{" .pe-slider__track":Zu("transform",t.animation_duration)," .pe-slider__control:before":Zu("background-color",t.animation_duration)," .pe-slider__control:after":Zu("border",t.animation_duration)," .pe-slider__thumb":Zu("opacity",t.animation_duration)," .pe-slider__track-bar-value":Zu("transform, background-color",t.animation_duration)})]},side_spacing:function(e,t){return[cd(e,{" .pe-slider__track":{margin:"0 "+t.side_spacing+"px"}})]},horizontal_layout_side_spacing:function(e,t){return[cd(e,{" div + .pe-slider__track":{margin:"0 "+t.horizontal_layout_side_spacing+"px"}})]},bar_height:function(e,t){return[cd(e,{" .pe-slider__track-part, .pe-slider__track-bar-value, .pe-slider__ticks, .pe-slider__tick":{height:t.bar_height+"px"}}),Wg(e,t)]},step_width:function(e,t){return[cd(e,{" .pe-slider__tick":{width:t.step_width+"px"}})]},pin_width:function(e,t){return[cd(e,{" .pe-slider__pin":{width:t.pin_width+"px","::before":{width:t.pin_width+"px",height:t.pin_width+"px"},"::after":{width:t.pin_width+"px",height:t.pin_height+"px",lineHeight:t.pin_width+"px"}}}),$g(e,t)]},pin_font_size:function(e,t){return[cd(e,{" .pe-slider__pin::after":{fontSize:t.pin_font_size+"px"}})]}}}),Gg=le.color_light_foreground,Xg=le.color_dark_foreground,Yg=le.color_primary,Qg=Math.max(40,12),Ug=Math.max(Qg,18),Kg=Math.max(52,18),eb=Math.max(10,Ug/2-6),tb={general_styles:!0,active_pin_thumb_scale:2/6,active_thumb_scale:1.5,animation_duration:le.animation_duration,bar_height:2,disabled_thumb_scale:.5,height:Kg,horizontal_layout_side_spacing:eb+4,pin_font_size:10,pin_height:32,pin_width:26,side_spacing:eb,step_width:2,thumb_border_width:2,thumb_size:12,thumb_touch_size:Qg,track_height:Kg,color_light_track_active:ud(Gg,.38),color_light_track_inactive:ud(Gg,.26),color_light_track_value:"currentColor",color_light_thumb_off:ud(Gg,.26),color_light_thumb_off_focus:ud(Gg),color_light_thumb_off_focus_opacity:.08,color_light_thumb_on:ud(Yg),color_light_thumb_on_focus_opacity:.11,color_light_thumb_inactive:ud(Gg,.26),color_light_tick:ud(Gg,1),color_light_tick_value:ud(Gg,1),color_light_icon:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled_icon:ud(le.color_light_foreground,le.blend_light_text_disabled),color_light_label:ud(le.color_light_foreground,le.blend_light_text_secondary),color_light_disabled_label:ud(le.color_light_foreground,le.blend_light_text_disabled),color_light_pin_label:"#fff",color_light_pin_background:"currentColor",color_dark_track_active:ud(Xg,.3),color_dark_track_inactive:ud(Xg,.2),color_dark_track_value:"currentColor",color_dark_thumb_off:ud(Xg,.2),color_dark_thumb_off_focus:ud(Xg),color_dark_thumb_off_focus_opacity:.08,color_dark_thumb_on:ud(Yg),color_dark_thumb_on_focus_opacity:.11,color_dark_thumb_inactive:ud(Xg,.2),color_dark_tick:ud(Xg,1),color_dark_tick_value:ud(Xg,1),color_dark_icon:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled_icon:ud(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_label:ud(le.color_dark_foreground,le.blend_dark_text_secondary),color_dark_disabled_label:ud(le.color_dark_foreground,le.blend_dark_text_disabled),color_dark_pin_label:"#fff",color_dark_pin_background:"currentColor"},nb=[Zg,qg],rb=".".concat("pe-slider");function ob(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ib(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ab,lb=function(e){for(var t=1;t div, svg":{width:"inherit",height:"inherit"}})]}}}),xb={general_styles:!0,color_light:"currentcolor",color_dark:"currentcolor"},kb=[wb,vb],Ob=".".concat("pe-svg");function jb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sb(){return(Sb=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:e.animation_duration;return Zu(t,n,"ease-out")},Eb=function(e,t){var n=t/le.unit_icon_size,r=2*Math.floor(.5*e.thumb_size*n),o=2*Math.floor(.5*e.track_height*n),i=2*Math.floor(.5*e.track_length*n),a=2*Math.floor(.5*e.thumb_size*n),l=(e.label_height*n-o)/2,c=e.icon_button_padding,s=(t-a)/2,u=-(t+2*c)/2+r/2;return{factor:n,scaledThumbSize:a,scaledTrackHeight:o,scaledTrackWidth:i,size:t,thumbMargin:s,thumbOffsetMax:u+i-r,thumbOffsetMin:u,thumbOffsetY:u+s,thumbPadding:c,trackTop:l,trackVisualOffset:.3}},Cb=function(e,t){var n=t.scaledThumbSize,r=t.scaledTrackHeight,o=t.scaledTrackWidth,i=t.size,a=t.thumbMargin,l=t.thumbOffsetY,c=t.thumbPadding,s=t.trackTop;return{" .pe-control__form-label":{height:i+"px",minWidth:o+"px"}," .pe-switch-control__track":{height:r+"px",width:o-2*t.trackVisualOffset+"px",top:s+"px",borderRadius:r+"px"}," .pe-switch-control__thumb":{top:l+"px"}," .pe-switch-control__knob":{width:n+"px",height:n+"px",margin:a+"px"}," .pe-button__content":{padding:c+"px"}}},Rb=function(e,t,n){var r,o,i,a,l=t.factor,c=t.scaledTrackWidth,s=t.thumbOffsetMax,u=t.thumbOffsetMin,d=t.trackVisualOffset;return{" .pe-control__label":(r={},jb(r,n?"paddingRight":"paddingLeft",e.padding*l+8+c+"px"),jb(r,n?"paddingLeft":"paddingRight",0),r)," .pe-switch-control__track":(o={},jb(o,n?"right":"left",d+"px"),jb(o,n?"left":"right","auto"),o)," .pe-switch-control__thumb":(i={},jb(i,n?"right":"left",u+"px"),jb(i,n?"left":"right","auto"),i),".pe-control--on":{" .pe-switch-control__thumb":(a={},jb(a,n?"right":"left",s+"px"),jb(a,n?"left":"right","auto"),a)}}},Db=function(e){return function(){var t;return{" .pe-switch-control__track":(t={},jb(t,e?"right":"left",0),jb(t,e?"left":"right","auto"),t)}}},Tb=Db(!1),Fb=Db(!0),Ab=pd({varFns:{general_styles:function(e){return[cd(e,[Tb(),{" .pe-switch-control__track":[{position:"absolute"}]," .pe-switch-control__thumb":{position:"absolute",zIndex:1,color:"inherit",":focus":{outline:0}}," .pe-switch-control__knob":{position:"relative",borderRadius:"50%"}," .pe-icon-button .pe-button__content":{transition:"none"," .pe-switch-control__knob .pe-icon":[Xu(),{width:"100%",height:"100%"}]}}]),jb({},"_:-ms-fullscreen, :root ".concat(e),{" input":{position:"absolute",zIndex:1,width:"100%",height:"100%",left:0,top:0,right:0,bottom:0,display:"block",opacity:0,cursor:"pointer"}," label":{cursor:"auto"}})]},animation_duration:function(e,t){return[cd(e,{" .pe-switch-control__track, .pe-switch-control__thumb, .pe-control__label":Ib(t,"all")})]},createSize:function(e,t){var n={small:Eb(t,le.unit_icon_size_small),regular:Eb(t,le.unit_icon_size),medium:Eb(t,le.unit_icon_size_medium),large:Eb(t,le.unit_icon_size_large)};return[cd(e,{".pe-control--small":[Cb(0,n.small),Rb(t,n.small,!1)],".pe-control--regular":[Cb(0,n.regular),Rb(t,n.regular,!1)],".pe-control--medium":[Cb(0,n.medium),Rb(t,n.medium,!1)],".pe-control--large":[Cb(0,n.large),Rb(t,n.large,!1)]}),jb({},"*[dir=rtl] ".concat(e,", .pe-rtl ").concat(e),[Fb(),{".pe-control--small":[Rb(t,n.small,!0)],".pe-control--regular":[Rb(t,n.regular,!0)],".pe-control--medium":[Rb(t,n.medium,!0)],".pe-control--large":[Rb(t,n.large,!0)]}])]}},superLayout:wf,varMixin:function(e){return e.thumb_size||e.track_height||e.track_length||e.label_height||e.icon_button_padding?Sb({},e,{createSize:!0}):e}}),qb={general_styles:!0,animation_duration:le.animation_duration,hit_area_padding:(le.grid_unit_icon_button-le.unit_icon_size)/2,icon_button_padding:ph.padding,padding:le.grid_unit_component,thumb_size:20,track_height:14,track_length:36,label_height:xf.label_height,color_light_thumb_on:ud(le.color_primary),color_light_thumb_off:"#f1f1f1",color_light_thumb_disabled:"#eee",color_light_wash_on:ud(le.color_primary,le.blend_light_background_active),color_light_wash_off:ph.color_light_wash_background,color_light_track_on:ud(le.color_primary_faded),color_light_track_on_opacity:.55,color_light_track_off:ud(le.color_light_foreground,le.blend_light_text_regular),color_light_track_off_opacity:.55,color_light_track_disabled:ud(le.color_light_foreground,le.blend_light_background_disabled),color_light_track_disabled_opacity:1,color_dark_thumb_on:ud(le.color_primary),color_dark_thumb_off:"#bdbdbd",color_dark_thumb_disabled:"#555",color_dark_wash_on:ud(le.color_primary,le.blend_dark_background_active),color_dark_wash_off:ph.color_dark_wash_background,color_dark_track_on:ud(le.color_primary_faded,le.blend_dark_text_tertiary),color_dark_track_on_opacity:9,color_dark_track_off:"#717171",color_dark_track_off_opacity:.55,color_dark_track_disabled:"#717171",color_dark_track_disabled_opacity:.3},Lb=[Ab,Nb],Bb=".".concat("pe-switch-control"),Mb="pe-tabs",Hb="pe-tab";function Wb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vb(){return(Vb=Object.assign||function(e){for(var t=1;t span, .pe-toolbar__title":(t={},Iy(t,o?"marginLeft":"marginRight",0),Iy(t,o?"marginRight":"marginLeft",a+"px"),t)," .pe-toolbar__title--center":{marginLeft:a+"px",marginRight:a+"px"}})},qy=function(e){var t,n=e.selector,r=e.vars,o=e.isRTL,i=e.isLarge,a=i?r.title_after_icon_padding_large:r.title_after_icon_padding;return(i?By:cd)(n,{" > :not(.pe-toolbar__title):first-child:not(.pe-toolbar__title--indent):first-child":(t={},Iy(t,o?"marginRight":"marginLeft",0),Iy(t,o?"marginLeft":"marginRight",a+"px"),t)})},Ly=Ty("@media (min-width: ".concat(le.breakpoint_for_phone_only,"px) and (orientation: landscape)")),By=Ty("@media (min-width: ".concat(le.breakpoint_for_tablet_portrait_up,"px)")),My=pd({varFns:{general_styles:function(e){return[cd(e,[Mu.layout,Mu.layoutHorizontal,Mu.layoutCenter,{position:"relative",zIndex:le.z_toolbar," > a":{textDecoration:"none"},".pe-toolbar--fullbleed":{padding:0},".pe-toolbar--border":{borderWidth:"1px",borderStyle:"none none solid none"}," > *":{flexShrink:0}," > span, .pe-toolbar__title, .pe-toolbar__title--indent":{width:"100%",display:"block",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexShrink:1}," .pe-toolbar__title--center":{textAlign:"center",justifyContent:"center"}," > .pe-action":{paddingLeft:"12px",paddingRight:"12px"}," .pe-fit":[Xu(),{margin:0}]}])]},height:function(e,t){return[cd(e,{height:t.height+"px"})]},height_compact:function(e,t){return[cd(e,{".pe-toolbar--compact":{height:t.height_compact+"px"}}),Ly(e,{height:t.height+"px"})]},line_height:function(e,t){return[cd(e,{lineHeight:t.line_height+"em"," > span, .pe-toolbar__title, .pe-toolbar__title--indent":{lineHeight:t.line_height}})]},font_size:function(e,t){return[cd(e,{" > span, .pe-toolbar__title, .pe-toolbar__title--indent, .pe-action":{fontSize:t.font_size+"px"}})]},font_weight:function(e,t){return[cd(e,{" > span, .pe-toolbar__title, .pe-toolbar__title--indent":{fontWeight:t.font_weight}})]},padding_side:function(e,t){return[cd(e,{padding:"0 "+t.padding_side+"px"}),Fy({selector:e,vars:t}),Fy({selector:sd(e),vars:t,isRTL:!0})]},indent:function(e,t){return[Fy({selector:e,vars:t}),Fy({selector:sd(e),vars:t,isRTL:!0})]},indent_large:function(e,t){return[Fy({selector:e,vars:t,isLarge:!0}),Fy({selector:sd(e),vars:t,isRTL:!0,isLarge:!0})]},title_padding:function(e,t){return[Ay({selector:e,vars:t}),Ay({selector:sd(e),vars:t,isRTL:!0})]},title_padding_large:function(e,t){return[Ay({selector:e,vars:t,isLarge:!0}),Ay({selector:sd(e),vars:t,isRTL:!0,isLarge:!0})]},title_after_icon_padding:function(e,t){return[qy({selector:e,vars:t}),qy({selector:sd(e),vars:t,isRTL:!0})]},title_after_icon_padding_large:function(e,t){return[qy({selector:e,vars:t,isLarge:!0}),qy({selector:sd(e),vars:t,isRTL:!0,isLarge:!0})]},height_large:function(e,t){return[By(e,{height:t.height_large+"px"})]},padding_side_large:function(e,t){return[By(e,{padding:"0 "+t.padding_side_large+"px"})]}}}),Hy=2*le.grid_unit_component-12,Wy=3*le.grid_unit_component-12,Vy={general_styles:!0,font_size:20,font_weight:400,height:7*le.grid_unit_component,height_compact:6*le.grid_unit_component,height_large:8*le.grid_unit_component,line_height:le.line_height,padding_side:Hy,padding_side_large:Wy,indent:le.unit_indent-Hy,indent_large:le.unit_indent_large-Wy,title_after_icon_padding:4,title_after_icon_padding_large:12,title_padding:16,title_padding_large:8,color_light_text:ud(le.color_light_foreground,le.blend_light_text_primary),color_light_border:ud(le.color_light_foreground,le.blend_light_border_light),color_light_background:ud(le.color_light_background),color_dark_text:ud(le.color_dark_foreground,le.blend_dark_text_primary),color_dark_border:ud(le.color_dark_foreground,le.blend_dark_border_light),color_dark_background:ud(le.color_dark_background)},Jy=[My,Dy],$y=".".concat("pe-toolbar"),Zy=[function(){return[{" html":{"box-sizing":"border-box"}," *, *:before, *:after":{"box-sizing":"inherit"}," *":[{"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},{"-webkit-tap-highlight-color":"transparent"}]," a, a:active, a:focus, input:active, *:focus":{outline:0}," input:disabled":{opacity:1}}]}],Gy={},Xy=[function(){return[{"html, body, button, input, select, textarea":{fontFamily:"Roboto, Helvetica, Arial, sans-serif"}}]},function(){return[{" h1, h2, h3, h4, h5, h6, p":{margin:0,padding:0}},{" h1, h2, h3, h4, h5, h6":{" small":{"font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"-0.02em","font-size":"0.6em"}}},{" h1":{"font-size":"56px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h2":{"font-size":"45px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h3":{"font-size":"34px","font-weight":le.font_weight_normal,"line-height":le.line_height,"margin-top":"24px","margin-bottom":"24px"}},{" h4":{"font-size":"24px","font-weight":le.font_weight_normal,"line-height":le.line_height,"-moz-osx-font-smoothing":"grayscale","margin-top":"24px","margin-bottom":"16px"}},{" h5":{"font-size":"20px","font-weight":le.font_weight_medium,"line-height":le.line_height,"letter-spacing":"-0.02em","margin-top":"24px","margin-bottom":"16px"}},{" h6":{"font-size":"16px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"0.04em","margin-top":"24px","margin-bottom":"16px"}},{" html, body":{"font-size":"14px","line-height":le.line_height,"font-weight":le.font_weight_normal}," p":{"font-size":"14px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":"0","margin-bottom":"16px"}," blockquote":{position:"relative","font-size":"24px","font-weight":le.font_weight_normal,"font-style":"italic","line-height":le.line_height,"letter-spacing":"0.08em","margin-top":"24px","margin-bottom":"16px"}," ul, ol":{"font-size":"14px","font-weight":le.font_weight_normal,"line-height":le.line_height,"letter-spacing":0}," b, strong":{"font-weight":le.font_weight_medium}}]}],Yy=function(){!function(e,t){if(!k){if(!window.WebFontConfig){var n=function(n){var r=n.name,o=n.familyName,i=n.fvd;return A("webfontloader",{name:r,familyName:o,fvd:i,vendor:e,config:t})};window.WebFontConfig={loading:function(){return n({name:"loading"})},active:function(){return n({name:"active"})},inactive:function(){return n({name:"inactive"})},fontloading:function(e,t){return n({name:"fontloading",familyName:e,fvd:t})},fontactive:function(e,t){return n({name:"fontactive",familyName:e,fvd:t})},fontinactive:function(e,t){return n({name:"fontinactive",familyName:e,fvd:t})}},function(){var e=document.createElement("script");e.src=("https:"===document.location.protocol?"https":"http")+"://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js",e.type="text/javascript",e.async=!0;var t=document.getElementsByTagName("script")[0];t&&t.parentNode&&t.parentNode.insertBefore(e,t)}()}var r=window.WebFontConfig[e]||{};t&&ki(r,t),window.WebFontConfig[e]=r}}("google",{families:["Roboto:400,500,700,400italic:latin"]})};ld({selectors:[Nd],fns:zd,vars:Pd}),ld({selectors:[Sp],fns:Op,vars:bp}),ld({selectors:[wp],fns:vp,vars:mp}),ld({selectors:[xp],fns:yp,vars:mp}),ld({selectors:[Ep],fns:Ip,vars:Np}),ld({selectors:[nf],fns:lf,vars:tf}),ld({selectors:[of],fns:cf,vars:tf}),ld({selectors:[rf],fns:sf,vars:tf}),ld({selectors:[af],fns:sf,vars:tf}),ld({selectors:[Nf],fns:zf,vars:Pf}),ld({selectors:[o_],fns:r_,vars:Kf}),ld({selectors:[Hf],fns:Mf,vars:Bf}),ld({selectors:[F_],fns:T_,vars:D_}),ld({selectors:[J_],fns:V_,vars:W_}),ld({selectors:[eh],fns:K_,vars:U_}),ld({selectors:[_h],fns:fh,vars:ph}),ld({selectors:[Oh],fns:kh,vars:xh}),ld({selectors:[Th],fns:Dh,vars:Rh}),ld({selectors:[am],fns:im,vars:om}),ld({selectors:[jm],fns:Om,vars:km}),ld({selectors:[gm],fns:mm,vars:hm}),ld({selectors:[$m],fns:Jm,vars:Fm}),ld({selectors:[cg],fns:lg,vars:og}),ld({selectors:[ag],fns:ig,vars:og}),ld({selectors:[fg],fns:pg,vars:dg}),ld({selectors:[xg],fns:wg,vars:vg}),ld({selectors:[Rg],fns:Cg,vars:Eg}),ld({selectors:[Of],fns:kf,vars:xf}),ld({selectors:[Jd],fns:Vd,vars:Wd}),ld({selectors:[rb],fns:nb,vars:tb}),ld({selectors:[mb],fns:hb,vars:pb}),ld({selectors:[_b],fns:fb,vars:pb}),ld({selectors:[Ob],fns:kb,vars:xb}),ld({selectors:[Bb],fns:Lb,vars:qb}),ld({selectors:[sy],fns:ly,vars:ay}),ld({selectors:[dy],fns:cy,vars:ay}),ld({selectors:[Ny],fns:zy,vars:Py}),ld({selectors:[$y],fns:Jy,vars:Vy}),ld({identifier:"pe-core",selectors:[""],fns:Zy,vars:Gy}),Yy(),ad("pe-material-design-typography",Xy.map((function(e){return e()}))),ad("pe-layout",gd,bd),e.Button=bt,e.ButtonGroup=zt,e.Card=hn,e.Checkbox=nr,e.Dialog=Wr,e.DialogInstance=Br,e.DialogPane=Fr,e.Drawer=co,e.FAB=vo,e.IOSSpinner=ii,e.Icon=Ue,e.IconButton=Un,e.List=xi,e.ListTile=dn,e.MaterialDesignProgressSpinner=Yi,e.MaterialDesignSpinner=ma,e.Menu=La,e.Notification=al,e.NotificationInstance=ol,e.RadioButton=Ol,e.RadioGroup=Ll,e.RaisedButton=Vl,e.Ripple=je,e.SVG=Ve,e.Search=Oc,e.Shadow=at,e.Slider=Wc,e.Snackbar=cs,e.SnackbarInstance=as,e.Switch=zs,e.Tabs=Ks,e.TextField=mc,e.Toolbar=du,e.ToolbarTitle=pu,e.subscribe=T,e.unsubscribe=F,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=polythene-mithril-standalone.js.map diff --git a/packages/polythene-mithril/dist/polythene-mithril-standalone.js.map b/packages/polythene-mithril/dist/polythene-mithril-standalone.js.map index aae0b494a..a6984aeb8 100644 --- a/packages/polythene-mithril/dist/polythene-mithril-standalone.js.map +++ b/packages/polythene-mithril/dist/polythene-mithril-standalone.js.map @@ -1 +1 @@ -{"version":3,"file":"polythene-mithril-standalone.js","sources":["../../polythene-core/dist/polythene-core.mjs","../../polythene-core-shadow/dist/polythene-core-shadow.mjs","../../polythene-core-button/dist/polythene-core-button.mjs","../../polythene-style/dist/polythene-style.mjs","../../polythene-core-ripple/dist/polythene-core-ripple.mjs","../../polythene-mithril-ripple/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-ripple/dist/polythene-mithril-ripple.mjs","../../polythene-core-icon/dist/polythene-core-icon.mjs","../../polythene-core-svg/dist/polythene-core-svg.mjs","../../polythene-mithril-svg/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-icon/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-svg/dist/polythene-mithril-svg.mjs","../../polythene-mithril-shadow/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-icon/dist/polythene-mithril-icon.mjs","../../polythene-mithril-button/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-shadow/dist/polythene-mithril-shadow.mjs","../../polythene-mithril-button-group/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-button/dist/polythene-mithril-button.mjs","../../polythene-core-button-group/dist/polythene-core-button-group.mjs","../../polythene-mithril-button-group/dist/polythene-mithril-button-group.mjs","../../polythene-core-card/dist/polythene-core-card.mjs","../../polythene-mithril-card/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-list-tile/dist/polythene-core-list-tile.mjs","../../polythene-mithril-list-tile/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-list-tile/dist/polythene-mithril-list-tile.mjs","../../polythene-mithril-card/dist/polythene-mithril-card.mjs","../../polythene-core-checkbox/dist/polythene-core-checkbox.mjs","../../polythene-core-selection-control/dist/polythene-core-selection-control.mjs","../../polythene-mithril-checkbox/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-icon-button/dist/polythene-core-icon-button.mjs","../../polythene-mithril-icon-button/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-icon-button/dist/polythene-mithril-icon-button.mjs","../../polythene-mithril-checkbox/dist/polythene-mithril-checkbox.mjs","../../polythene-mithril-dialog/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-dialog/dist/polythene-core-dialog.mjs","../../polythene-core-dialog-pane/dist/polythene-core-dialog-pane.mjs","../../polythene-mithril-dialog-pane/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-dialog-pane/dist/polythene-mithril-dialog-pane.mjs","../../polythene-mithril-dialog/dist/polythene-mithril-dialog.mjs","../../polythene-mithril-drawer/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-drawer/dist/polythene-core-drawer.mjs","../../polythene-mithril-drawer/dist/polythene-mithril-drawer.mjs","../../polythene-core-fab/dist/polythene-core-fab.mjs","../../polythene-mithril-fab/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-fab/dist/polythene-mithril-fab.mjs","../../polythene-core-base-spinner/dist/polythene-core-base-spinner.mjs","../../polythene-mithril-base-spinner/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-base-spinner/dist/polythene-mithril-base-spinner.mjs","../../polythene-core-ios-spinner/dist/polythene-core-ios-spinner.mjs","../../polythene-mithril-ios-spinner/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-ios-spinner/dist/polythene-mithril-ios-spinner.mjs","../../polythene-core-list/dist/polythene-core-list.mjs","../../polythene-mithril-list/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-list/dist/polythene-mithril-list.mjs","../../polythene-utilities/dist/polythene-utilities.mjs","../../polythene-core-material-design-progress-spinner/dist/polythene-core-material-design-progress-spinner.mjs","../../polythene-mithril-material-design-progress-spinner/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-material-design-progress-spinner/dist/polythene-mithril-material-design-progress-spinner.mjs","../../polythene-core-material-design-spinner/dist/polythene-core-material-design-spinner.mjs","../../polythene-mithril-material-design-spinner/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-material-design-spinner/dist/polythene-mithril-material-design-spinner.mjs","../../polythene-mithril-menu/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-menu/dist/polythene-core-menu.mjs","../../polythene-mithril-menu/dist/polythene-mithril-menu.mjs","../../polythene-mithril-notification/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-core-notification/dist/polythene-core-notification.mjs","../../polythene-mithril-notification/dist/polythene-mithril-notification.mjs","../../polythene-core-radio-button/dist/polythene-core-radio-button.mjs","../../polythene-mithril-radio-button/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-radio-button/dist/polythene-mithril-radio-button.mjs","../../polythene-core-radio-group/dist/polythene-core-radio-group.mjs","../../polythene-mithril-radio-group/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-radio-group/dist/polythene-mithril-radio-group.mjs","../../polythene-mithril-raised-button/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-raised-button/dist/polythene-mithril-raised-button.mjs","../../polythene-core-search/dist/polythene-core-search.mjs","../../polythene-core-textfield/dist/polythene-core-textfield.mjs","../../polythene-mithril-textfield/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-search/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-textfield/dist/polythene-mithril-textfield.mjs","../../polythene-mithril-search/dist/polythene-mithril-search.mjs","../../polythene-core-slider/dist/polythene-core-slider.mjs","../../polythene-mithril-slider/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-snackbar/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-slider/dist/polythene-mithril-slider.mjs","../../polythene-core-snackbar/dist/polythene-core-snackbar.mjs","../../polythene-mithril-snackbar/dist/polythene-mithril-snackbar.mjs","../../polythene-core-switch/dist/polythene-core-switch.mjs","../../polythene-mithril-switch/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-switch/dist/polythene-mithril-switch.mjs","../../polythene-core-tabs/dist/polythene-core-tabs.mjs","../../polythene-mithril-tabs/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-tabs/dist/polythene-mithril-tabs.mjs","../../polythene-core-toolbar/dist/polythene-core-toolbar.mjs","../../polythene-mithril-toolbar/node_modules/cyano-mithril/dist/cyano-mithril.mjs","../../polythene-mithril-toolbar/dist/polythene-mithril-toolbar.mjs","../../polythene-core-css/node_modules/j2c/dist/j2c.commonjs.js","../../polythene-core-css/dist/polythene-core-css.mjs","../../polythene-css-base-spinner/dist/polythene-css-base-spinner.mjs","../../polythene-css-shadow/dist/polythene-css-shadow.mjs","../../polythene-css-button/dist/polythene-css-button.mjs","../../polythene-css-button-group/dist/polythene-css-button-group.mjs","../../polythene-css-card/dist/polythene-css-card.mjs","../../polythene-css-selection-control/dist/polythene-css-selection-control.mjs","../../polythene-css-checkbox/dist/polythene-css-checkbox.mjs","../../polythene-css-dialog-pane/dist/polythene-css-dialog-pane.mjs","../../polythene-css-dialog/dist/polythene-css-dialog.mjs","../../polythene-css-drawer/dist/polythene-css-drawer.mjs","../../polythene-css-fab/dist/polythene-css-fab.mjs","../../polythene-css-icon/dist/polythene-css-icon.mjs","../../polythene-css-icon-button/dist/polythene-css-icon-button.mjs","../../polythene-css-ios-spinner/dist/polythene-css-ios-spinner.mjs","../../polythene-css-list/dist/polythene-css-list.mjs","../../polythene-css-list-tile/dist/polythene-css-list-tile.mjs","../../polythene-css-material-design-spinner/dist/polythene-css-material-design-spinner.mjs","../../polythene-css-material-design-progress-spinner/dist/polythene-css-material-design-progress-spinner.mjs","../../polythene-css-menu/dist/polythene-css-menu.mjs","../../polythene-css-notification/dist/polythene-css-notification.mjs","../../polythene-css-radio-button/dist/polythene-css-radio-button.mjs","../../polythene-css-ripple/dist/polythene-css-ripple.mjs","../../polythene-css-search/dist/polythene-css-search.mjs","../../polythene-css-slider/dist/polythene-css-slider.mjs","../../polythene-css-snackbar/dist/polythene-css-snackbar.mjs","../../polythene-css-svg/dist/polythene-css-svg.mjs","../../polythene-css-switch/dist/polythene-css-switch.mjs","../../polythene-css-tabs/dist/polythene-css-tabs.mjs","../../polythene-css-textfield/dist/polythene-css-textfield.mjs","../../polythene-css-toolbar/dist/polythene-css-toolbar.mjs","../../polythene-css-core/dist/polythene-css-core.mjs","../../polythene-css-typography/dist/polythene-css-typography.mjs"],"sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n// @ts-check\nvar modes = {\n hidden: \"hidden\",\n visible: \"visible\",\n exposing: \"exposing\",\n hiding: \"hiding\"\n};\nvar _Conditional = function _Conditional(_ref) {\n var h = _ref.h,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n props = _objectWithoutProperties(_ref, [\"h\", \"useState\", \"useEffect\"]);\n\n var initialMode = props.permanent ? modes.visible : props.permanent || props.show ? modes.visible : modes.hidden;\n\n var _useState = useState(initialMode),\n _useState2 = _slicedToArray(_useState, 2),\n mode = _useState2[0],\n setMode = _useState2[1];\n\n useEffect(function () {\n var newMode = mode;\n\n if (props.permanent) {\n if (mode === modes.visible && props.show) {\n newMode = modes.exposing;\n } else if (mode === modes.exposing && !props.show) {\n newMode = modes.hiding;\n }\n } else {\n // \"normal\" type\n if (mode === modes.hidden && props.show) {\n newMode = modes.visible;\n } else if (mode === modes.visible && !props.show) {\n newMode = modes.hiding;\n }\n }\n\n if (newMode !== mode) {\n setMode(newMode);\n }\n }, [props]);\n var placeholder = h(\"span\", {\n className: props.placeholderClassName\n }); // No didHide callback passed: use normal visibility evaluation\n\n if (!props.didHide) {\n return props.permanent || props.inactive || props.show ? h(props.instance, props) : placeholder;\n }\n\n var visible = mode !== modes.hidden;\n return visible ? h(props.instance, _objectSpread2({}, props, {\n didHide:\n /**\n * @param {any} args\n */\n function didHide(args) {\n return props.didHide(args), setMode(props.permanent ? modes.visible : modes.hidden);\n }\n }, mode === modes.hiding ? {\n show: true,\n hide: true\n } : undefined)) : placeholder;\n};\n\n// @ts-check\n\n/**\n * \n * @param {string} component \n * @param {object} params\n * @param {string} [params.option]\n * @param {string} [params.newOption]\n * @param {string} [params.newOption]\n * @param {string} [params.newComponent]\n * @param {string} [params.since]\n */\nvar deprecation = function deprecation(component, _ref) {\n var option = _ref.option,\n newOption = _ref.newOption,\n newComponent = _ref.newComponent,\n since = _ref.since;\n var version = since ? \"Since version \".concat(since, \".\") : \"\";\n return option && console.warn(\"\".concat(component, \": option '\").concat(option, \"' is deprecated and will be removed in later versions. Use '\").concat(newOption, \"' instead. \").concat(version)), // eslint-disable-line no-console\n newComponent && !newOption && console.warn(\"\".concat(component, \": this component is deprecated and will be removed in later versions. Use component '\").concat(newComponent, \"' instead. \").concat(version)), // eslint-disable-line no-console\n newComponent && newOption && console.warn(\"\".concat(component, \": this component is deprecated and will be removed in later versions. Use component '\").concat(newComponent, \"' with option '\").concat(newOption, \"' instead. \").concat(version)) // eslint-disable-line no-console\n ;\n};\n\n// @ts-check\n\n/**\n * Reducer helper function.\n * @param {object} acc \n * @param {string} p \n * @returns {object}\n */\nvar r = function r(acc, p) {\n return acc[p] = 1, acc;\n};\n/**\n * List of default attributes.\n * Separately handled:\n * - class\n * - element\n * @type Array defaultAttrs\n */\n\n\nvar defaultAttrs = [// Universal\n\"key\", \"style\", \"href\", \"id\", \"data-index\", // React\n\"tabIndex\", // Mithril\n\"tabindex\", \"oninit\", \"oncreate\", \"onupdate\", \"onbeforeremove\", \"onremove\", \"onbeforeupdate\"];\n/**\n * \n * @param {{[s: string]: string}} attrs \n * @param {object} [modifications] \n * @param {Array} [modifications.add]\n * @param {Array} [modifications.remove]\n * @returns {object}\n */\n\nvar filterSupportedAttributes = function filterSupportedAttributes(attrs) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n add = _ref.add,\n remove = _ref.remove;\n\n /**\n * @type {{[s: string]: string}} removeLookup \n */\n var removeLookup = remove ? remove.reduce(r, {}) : {};\n /**\n * @type {Array} attrsList \n */\n\n var attrsList = add ? defaultAttrs.concat(add) : defaultAttrs;\n var supported = attrsList.filter(function (item) {\n return !removeLookup[item];\n }).reduce(r, {});\n return Object.keys(attrs).reduce(\n /**\n * @param {object} acc\n * @param {string} key\n */\n function (acc, key) {\n return supported[key] ? acc[key] = attrs[key] : null, acc;\n }, {});\n};\n/**\n * \n * @param {object|function} attrs \n * @returns {object}\n */\n\nvar unpackAttrs = function unpackAttrs(attrs) {\n return typeof attrs === \"function\" ? attrs() : attrs;\n};\n/**\n * \n * @param {{[s: string]: string}} classes \n * @returns {{[s: string]: string}}\n */\n\nvar sizeClasses = function sizeClasses(classes) {\n return {\n small: classes.small,\n regular: classes.regular,\n medium: classes.medium,\n large: classes.large,\n fab: classes.fab\n };\n};\n/**\n * \n * @param {{[s: string]: string}} classes \n * @param {string} [size] \n * @returns {object}\n */\n\n\nvar classForSize = function classForSize(classes) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"regular\";\n return sizeClasses(classes)[size];\n};\n\nvar isClient = typeof document !== \"undefined\";\nvar isServer = !isClient;\n\n// @ts-check\n/**\n * @type {{[s: string]: string}} evts\n */\n\nvar evts = {\n \"animation\": \"animationend\",\n \"OAnimation\": \"oAnimationEnd\",\n \"MozAnimation\": \"animationend\",\n \"WebkitAnimation\": \"webkitAnimationEnd\"\n};\nvar getAnimationEndEvent = function getAnimationEndEvent() {\n if (isClient) {\n var el = document.createElement(\"fakeelement\");\n /**\n * @type {string} a\n */\n\n for (var a in evts) {\n /**\n * @type {object} style\n */\n var style = el.style;\n\n if (style[a] !== undefined) {\n return evts[a];\n }\n }\n }\n};\n\n// @ts-check\n\n/**\n * @param {object} params\n * @param {object} params.element\n * @param {string} [params.selector]\n * @param {string} [params.pseudoSelector]\n * @param {string} params.prop\n * @returns {object|undefined}\n */\nvar getStyle = function getStyle(_ref) {\n var element = _ref.element,\n selector = _ref.selector,\n pseudoSelector = _ref.pseudoSelector,\n prop = _ref.prop;\n var el = selector ? element.querySelector(selector) : element;\n\n if (!el) {\n return undefined;\n }\n\n if (el.currentStyle) {\n return el.currentStyle;\n }\n\n if (window.getComputedStyle) {\n var defaultView = document.defaultView;\n\n if (defaultView) {\n var style = defaultView.getComputedStyle(el, pseudoSelector);\n\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n }\n\n return undefined;\n};\n/**\n * \n * @param {object} params\n * @param {object} params.element\n * @param {string} [params.selector]\n * @param {string} [params.pseudoSelector]\n * @param {string} params.prop\n * @param {string} [params.equals]\n * @param {string} [params.contains]\n * @returns {boolean}\n */\n\nvar stylePropCompare = function stylePropCompare(_ref2) {\n var element = _ref2.element,\n selector = _ref2.selector,\n pseudoSelector = _ref2.pseudoSelector,\n prop = _ref2.prop,\n equals = _ref2.equals,\n contains = _ref2.contains;\n var el = selector ? element.querySelector(selector) : element;\n\n if (!el) {\n return false;\n }\n\n var defaultView = document.defaultView;\n\n if (defaultView) {\n if (equals !== undefined) {\n return equals === defaultView.getComputedStyle(el, pseudoSelector).getPropertyValue(prop);\n }\n\n if (contains !== undefined) {\n return defaultView.getComputedStyle(el, pseudoSelector).getPropertyValue(prop).indexOf(contains) !== -1;\n }\n }\n\n return false;\n};\n/**\n * \n * @param {object} params\n * @param {object} params.element\n * @param {string} params.selector\n * @returns {boolean}\n */\n\nvar isRTL = function isRTL(_ref3) {\n var _ref3$element = _ref3.element,\n element = _ref3$element === void 0 ? document : _ref3$element,\n selector = _ref3.selector;\n return stylePropCompare({\n element: element,\n selector: selector,\n prop: \"direction\",\n equals: \"rtl\"\n });\n};\n/**\n * \n * @param {string} durationStr \n * @returns {number}\n */\n\nvar styleDurationToMs = function styleDurationToMs(durationStr) {\n var parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1000 : 1);\n return isNaN(parsed) ? 0 : parsed;\n};\n\nvar iconDropdownUp = \"\";\nvar iconDropdownDown = \"\";\n\n// @ts-check\nvar isTouch = isServer ? false : \"ontouchstart\" in document.documentElement;\nvar pointerStartEvent = isTouch ? [\"touchstart\", \"click\"] : [\"click\"];\nvar pointerEndEvent = isTouch ? [\"click\", \"mouseup\"] : [\"mouseup\"];\nvar pointerStartDownEvent = isTouch ? [\"touchstart\", \"mousedown\"] : [\"mousedown\"];\nvar pointerMoveEvent = isTouch ? [\"touchmove\", \"mousemove\"] : [\"mousemove\"];\nvar pointerEndDownEvent = isTouch ? [\"touchend\", \"mouseup\"] : [\"mouseup\"];\n\nif (isClient) {\n var htmlElement = document.querySelector(\"html\");\n\n if (htmlElement) {\n htmlElement.classList.add(isTouch ? \"pe-touch\" : \"pe-no-touch\");\n }\n}\n\n// @ts-check\n/**\n * @type {{[s: string]: Array}} listeners\n */\n\nvar listeners = {};\n/**\n * @param {function} func\n * @param {number} [s]\n * @param {object} [context]\n * @returns {function}\n * @see https://gist.github.com/Eartz/fe651f2fadcc11444549\n */\n\nvar throttle = function throttle(func) {\n var s = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.05;\n var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isClient ? window : {};\n var wait = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var later = function later() {\n return func.apply(context, args);\n };\n\n if (!wait) {\n later();\n wait = true;\n setTimeout(function () {\n return wait = false;\n }, s);\n }\n };\n};\n/**\n * \n * @param {string} eventName \n * @param {object} listener \n * @param {number} [delay] \n */\n\nvar subscribe = function subscribe(eventName, listener, delay) {\n listeners[eventName] = listeners[eventName] || [];\n listeners[eventName].push(delay ? throttle(listener, delay) : listener);\n};\n/**\n * \n * @param {string} eventName \n * @param {object} listener \n */\n\nvar unsubscribe = function unsubscribe(eventName, listener) {\n if (!listeners[eventName]) {\n return;\n }\n\n var index = listeners[eventName].indexOf(listener);\n\n if (index > -1) {\n listeners[eventName].splice(index, 1);\n }\n};\n/**\n * \n * @param {string} eventName \n * @param {object} event \n */\n\nvar emit = function emit(eventName, event) {\n if (!listeners[eventName]) {\n return;\n }\n\n listeners[eventName].forEach(function (listener) {\n return listener(event);\n });\n};\n\nif (isClient) {\n window.addEventListener(\"resize\", function (e) {\n return emit(\"resize\", e);\n });\n window.addEventListener(\"scroll\", function (e) {\n return emit(\"scroll\", e);\n });\n window.addEventListener(\"keydown\", function (e) {\n return emit(\"keydown\", e);\n });\n pointerEndEvent.forEach(function (eventName) {\n return window.addEventListener(eventName, function (e) {\n return emit(eventName, e);\n });\n });\n}\n\n/**\n * @typedef {object} Item \n */\n\n/**\n * \n * @param {object} params\n * @param {object} params.options\n */\n\nvar Multi = function Multi(_ref) {\n var mOptions = _ref.options;\n\n /**\n * @type {Array} items\n */\n var items = []; // This is shared between all instances of a type (Dialog, Notification, ...)\n\n /*\n @param e: { id, eventName }\n */\n\n var onChange = function onChange(e) {\n emit(mOptions.name, e);\n };\n\n var itemIndex = function itemIndex(id) {\n var item = findItem(id);\n return items.indexOf(item);\n };\n\n var removeItem = function removeItem(id) {\n var index = itemIndex(id);\n\n if (index !== -1) {\n items.splice(index, 1);\n onChange({\n id: id,\n name: \"removeItem\"\n });\n }\n };\n\n var replaceItem = function replaceItem(id, newItem) {\n var index = itemIndex(id);\n\n if (index !== -1) {\n items[index] = newItem;\n }\n };\n\n var findItem = function findItem(id) {\n // traditional for loop for IE10\n for (var i = 0; i < items.length; i++) {\n if (items[i].instanceId === id) {\n return items[i];\n }\n }\n };\n\n var next = function next() {\n if (items.length) {\n items[0].show = true;\n }\n\n onChange({\n id: items.length ? items[0].instanceId : null,\n name: \"next\"\n });\n };\n\n var remove = function remove() {\n var instanceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : mOptions.defaultId;\n\n if (mOptions.queue) {\n items.shift();\n next();\n } else {\n removeItem(instanceId);\n }\n };\n\n var removeAll = function removeAll() {\n items.length = 0;\n onChange({\n id: null,\n name: \"removeAll\"\n });\n };\n\n var setPauseState = function setPauseState(pause, instanceId) {\n var item = findItem(instanceId);\n\n if (item) {\n item.pause = pause;\n item.unpause = !pause;\n onChange({\n id: instanceId,\n name: pause ? \"pause\" : \"unpause\"\n });\n }\n };\n\n var createItem = function createItem(itemAttrs, instanceId, spawn) {\n var resolveShow;\n var resolveHide;\n var props = unpackAttrs(itemAttrs);\n\n var didShow = function didShow() {\n if (props.didShow) {\n props.didShow(instanceId);\n }\n\n onChange({\n id: instanceId,\n name: \"didShow\"\n });\n return resolveShow(instanceId);\n };\n\n var showPromise = new Promise(function (resolve) {\n return resolveShow = resolve;\n });\n var hidePromise = new Promise(function (resolve) {\n return resolveHide = resolve;\n });\n\n var didHide = function didHide() {\n if (props.didHide) {\n props.didHide(instanceId);\n }\n\n onChange({\n id: instanceId,\n name: \"didHide\"\n });\n remove(instanceId);\n return resolveHide(instanceId);\n };\n\n return _objectSpread2({}, mOptions, {\n // keyId: mOptions.queue ? new Date().getTime() : undefined, // to force rendering a new component\n instanceId: instanceId,\n spawn: spawn,\n props: itemAttrs,\n show: mOptions.queue ? false : true,\n showPromise: showPromise,\n hidePromise: hidePromise,\n didShow: didShow,\n didHide: didHide\n });\n };\n\n var count = function count() {\n return items.length;\n };\n\n var pause = function pause() {\n var instanceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : mOptions.defaultId;\n return setPauseState(true, instanceId);\n };\n\n var unpause = function unpause() {\n var instanceId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : mOptions.defaultId;\n return setPauseState(false, instanceId);\n };\n\n var show = function show() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var spawnOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var instanceId = spawnOpts.id || mOptions.defaultId;\n var spawn = spawnOpts.spawn || mOptions.defaultId;\n var item = createItem(props, instanceId, spawn);\n onChange({\n id: instanceId,\n name: \"show\"\n });\n\n if (mOptions.queue) {\n items.push(item);\n\n if (items.length === 1) {\n next();\n }\n } else {\n var storedItem = findItem(instanceId);\n\n if (!storedItem) {\n items.push(item);\n } else {\n replaceItem(instanceId, item);\n }\n }\n\n return item.showPromise;\n };\n\n var hide = function hide() {\n var spawnOpts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var instanceId = spawnOpts.id || mOptions.defaultId;\n var item = mOptions.queue && items.length ? items[0] : findItem(instanceId);\n\n if (item) {\n item.hide = true;\n }\n\n onChange({\n id: instanceId,\n name: \"hide\"\n });\n return item ? item.hidePromise : Promise.resolve(instanceId);\n };\n\n var clear = removeAll;\n\n var render = function render(_ref2) {\n var h = _ref2.h,\n useState = _ref2.useState,\n useEffect = _ref2.useEffect,\n props = _objectWithoutProperties(_ref2, [\"h\", \"useState\", \"useEffect\"]);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n setCurrent = _useState2[1];\n\n useEffect(function () {\n subscribe(mOptions.name, setCurrent);\n return function () {\n unsubscribe(mOptions.name, setCurrent);\n };\n }, []);\n var spawn = props.spawn || mOptions.defaultId;\n var candidates = items.filter(function (item) {\n return item.show && item.spawn === spawn;\n });\n\n if (mOptions.htmlShowClass && isClient && document.documentElement) {\n document.documentElement.classList[candidates.length ? \"add\" : \"remove\"](mOptions.htmlShowClass);\n }\n\n return !candidates.length ? h(mOptions.placeholder) // placeholder because we cannot return null\n : h(mOptions.holderSelector, {\n className: props.position === \"container\" ? \"pe-multiple--container\" : \"pe-multiple--screen\"\n }, candidates.map(function (itemData) {\n return h(mOptions.instance, _objectSpread2({}, unpackAttrs(props), {\n fromMultipleClear: clear,\n spawnId: spawn,\n // from mOptions:\n fromMultipleClassName: mOptions.className,\n holderSelector: mOptions.holderSelector,\n transitions: mOptions.transitions,\n // from itemData:\n fromMultipleDidHide: itemData.didHide,\n fromMultipleDidShow: itemData.didShow,\n hide: itemData.hide,\n instanceId: itemData.instanceId,\n key: itemData.key !== undefined ? itemData.key : itemData.keyId,\n pause: itemData.pause,\n show: itemData.show,\n unpause: itemData.unpause\n }, unpackAttrs(itemData.props)));\n }));\n };\n\n return {\n clear: clear,\n count: count,\n hide: hide,\n pause: pause,\n remove: remove,\n show: show,\n unpause: unpause,\n render: render\n };\n};\nMulti[\"displayName\"] = \"Multi\";\n\nvar TRANSITION_TYPES = {\n SHOW: \"show\",\n HIDE: \"hide\",\n SHOW_DONE: \"show-done\",\n HIDE_DONE: \"hide-done\"\n};\nvar initialTransitionState = {\n isVisible: false,\n isTransitioning: false\n};\nvar transitionStateReducer = function transitionStateReducer(state, type) {\n switch (type) {\n case TRANSITION_TYPES.SHOW:\n return _objectSpread2({}, state, {\n isTransitioning: true,\n isVisible: true\n });\n\n case TRANSITION_TYPES.HIDE:\n return _objectSpread2({}, state, {\n isTransitioning: true\n });\n\n case TRANSITION_TYPES.SHOW_DONE:\n return _objectSpread2({}, state, {\n isTransitioning: false,\n isVisible: true\n });\n\n case TRANSITION_TYPES.HIDE_DONE:\n return _objectSpread2({}, state, {\n isTransitioning: false,\n isVisible: false\n });\n\n default:\n throw new Error(\"Unhandled action type: \".concat(type));\n }\n};\n/**\n * \n * @typedef {{ el?: HTMLElement, duration?: number, hasDuration?: boolean, delay?: number, hasDelay?: boolean, timingFunction?: string, transitionClass?: string, before?: () => void, after?: () => void, transition?: () => void, showClass?: string, showClassElement?: HTMLElement }} TransitionOpts\n */\n\nvar DEFAULT_DURATION = .240;\nvar DEFAULT_DELAY = 0;\n/**\n * \n * @param {TransitionOpts} opts \n * @returns {Promise}\n */\n\nvar show = function show(opts) {\n return transition(opts, \"show\");\n};\n/**\n * \n * @param {TransitionOpts} opts\n * @returns {Promise} \n */\n\nvar hide = function hide(opts) {\n return transition(opts, \"hide\");\n};\n/**\n * \n * @param {TransitionOpts} opts \n * @param {\"show\"|\"hide\"} state \n * @returns {Promise}\n */\n\nvar transition = function transition(opts, state) {\n var el = opts.el;\n\n if (!el) {\n return Promise.resolve();\n } else {\n return new Promise(function (resolve) {\n var style = el.style;\n /**\n * @type {object} computedStyle\n */\n\n var computedStyle = isClient ? window.getComputedStyle(el) : {};\n var duration = opts.hasDuration && opts.duration !== undefined ? opts.duration * 1000.0 : styleDurationToMs(computedStyle.transitionDuration);\n var delay = opts.hasDelay && opts.delay !== undefined ? opts.delay * 1000.0 : styleDurationToMs(computedStyle.transitionDelay);\n var timingFunction = opts.timingFunction || computedStyle.transitionTimingFunction;\n\n if (opts.transitionClass) {\n el.classList.add(opts.transitionClass);\n }\n\n var before = function before() {\n style.transitionDuration = \"0ms\";\n style.transitionDelay = \"0ms\";\n\n if (opts.before && typeof opts.before === \"function\") {\n opts.before();\n }\n };\n\n var maybeBefore = opts.before && state === \"show\" ? before : opts.before && state === \"hide\" ? before : null;\n\n var after = function after() {\n if (opts.after && typeof opts.after === \"function\") {\n opts.after();\n }\n };\n\n var applyTransition = function applyTransition() {\n style.transitionDuration = duration + \"ms\";\n style.transitionDelay = delay + \"ms\";\n\n if (timingFunction) {\n style.transitionTimingFunction = timingFunction;\n }\n\n if (opts.showClass) {\n var showClassElement = opts.showClassElement || el;\n showClassElement.classList[state === \"show\" ? \"add\" : \"remove\"](opts.showClass);\n }\n\n if (opts.transition) {\n opts.transition();\n }\n };\n\n var doTransition = function doTransition() {\n applyTransition();\n setTimeout(function () {\n if (after) {\n after();\n }\n\n if (opts.transitionClass) {\n el.classList.remove(opts.transitionClass);\n el.offsetHeight; // force reflow\n }\n\n resolve();\n }, duration + delay);\n };\n\n var maybeDelayTransition = function maybeDelayTransition() {\n if (duration === 0) {\n doTransition();\n } else {\n setTimeout(doTransition, 0);\n }\n };\n\n if (maybeBefore) {\n maybeBefore();\n el.offsetHeight; // force reflow\n\n setTimeout(function () {\n maybeDelayTransition();\n }, 0);\n } else {\n maybeDelayTransition();\n }\n });\n }\n};\n/**\n * \n * @param {object} params\n * @param {(string) => void} [params.dispatchTransitionState]\n * @param {boolean} [params.isShow]\n * @param {boolean} [params.isTransitioning]\n * @param {string} [params.instanceId]\n * @param {(boolean) => void} [params.setIsTransitioning]\n * @param {(boolean) => void} [params.setIsVisible]\n * @param {object} [params.props]\n * @param {object} [params.domElements]\n * @param {() => void} [params.beforeTransition]\n * @param {() => void} [params.afterTransition]\n * @param {string} [params.showClass]\n * @param {string} [params.transitionClass]\n * @param {string} [params.referrer]\n * @returns {Promise}\n */\n\n\nvar transitionComponent = function transitionComponent(_ref) {\n var dispatchTransitionState = _ref.dispatchTransitionState,\n isTransitioning = _ref.isTransitioning,\n instanceId = _ref.instanceId,\n isShow = _ref.isShow,\n props = _ref.props,\n domElements = _ref.domElements,\n beforeTransition = _ref.beforeTransition,\n afterTransition = _ref.afterTransition,\n showClass = _ref.showClass,\n transitionClass = _ref.transitionClass,\n referrer = _ref.referrer;\n\n if (isTransitioning) {\n return Promise.resolve();\n }\n\n dispatchTransitionState(isShow ? TRANSITION_TYPES.SHOW : TRANSITION_TYPES.HIDE);\n\n if (beforeTransition) {\n beforeTransition();\n }\n\n var duration = isShow ? props.showDuration : props.hideDuration;\n var delay = isShow ? props.showDelay : props.hideDelay;\n var timingFunction = isShow ? props.showTimingFunction : props.hideTimingFunction;\n var transitions = props.transitions;\n var fn = isShow ? show : hide;\n\n var opts1 = _objectSpread2({}, props, {}, domElements, {\n showClass: showClass,\n transitionClass: transitionClass,\n duration: duration,\n delay: delay,\n timingFunction: timingFunction\n });\n\n var opts2 = _objectSpread2({}, opts1, {}, transitions ? (isShow ? transitions.show : transitions.hide)(opts1) : undefined);\n\n var opts3 = _objectSpread2({}, opts2, {}, {\n duration: opts2.duration !== undefined ? opts2.duration : DEFAULT_DURATION,\n hasDuration: opts2.duration !== undefined,\n delay: opts2.delay !== undefined ? opts2.delay : DEFAULT_DELAY,\n hasDelay: opts2.delay !== undefined\n });\n\n return fn(opts3).then(function () {\n var id = instanceId;\n\n if (afterTransition) {\n afterTransition();\n } // Component may unmount after this point\n\n\n if (isShow ? props.fromMultipleDidShow : props.fromMultipleDidHide) {\n (isShow ? props.fromMultipleDidShow : props.fromMultipleDidHide)(id); // when used with Multiple; this will call props.didShow / props.didHide\n } else if (isShow ? props.didShow : props.didHide) {\n (isShow ? props.didShow : props.didHide)(id); // when used directly\n }\n\n dispatchTransitionState(isShow ? TRANSITION_TYPES.SHOW_DONE : TRANSITION_TYPES.HIDE_DONE);\n });\n};\n\nexport { Multi, _Conditional, classForSize, deprecation, emit, filterSupportedAttributes, getAnimationEndEvent, getStyle, hide, iconDropdownDown, iconDropdownUp, initialTransitionState, isClient, isRTL, isServer, isTouch, pointerEndDownEvent, pointerEndEvent, pointerMoveEvent, pointerStartDownEvent, pointerStartEvent, show, styleDurationToMs, stylePropCompare, subscribe, throttle, transitionComponent, transitionStateReducer, unpackAttrs, unsubscribe };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-shadow\",\n // elements \n bottomShadow: \"pe-shadow__bottom\",\n topShadow: \"pe-shadow__top\",\n // states\n animated: \"pe-shadow--animated\",\n depth_n: \"pe-shadow--depth-\",\n with_active_shadow: \"pe-with-active-shadow\"\n};\n\nvar DEFAULT_SHADOW_DEPTH = 1;\nvar getDepthClass = function getDepthClass(shadowDepth) {\n return shadowDepth !== undefined ? \"\".concat(classes.depth_n).concat(Math.min(5, shadowDepth)) : DEFAULT_SHADOW_DEPTH;\n};\nvar _Shadow = function _Shadow(_ref) {\n var h = _ref.h,\n a = _ref.a,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\"]);\n\n var depthClass = getDepthClass(props.shadowDepth);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, depthClass, props.animated && classes.animated, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var content = [props.before, props.content ? props.content : props.children, props.after];\n return h(props.element || \"div\", componentProps, [content, h(\"div\", {\n className: [classes.bottomShadow].join(\" \")\n }), h(\"div\", {\n className: [classes.topShadow].join(\" \")\n })]);\n};\n\nexport { _Shadow, getDepthClass };\n","import { filterSupportedAttributes, iconDropdownDown } from 'polythene-core';\nimport { getDepthClass } from 'polythene-core-shadow';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-text-button\",\n \"super\": \"pe-button\",\n row: \"pe-button-row\",\n // elements \n content: \"pe-button__content\",\n label: \"pe-button__label\",\n textLabel: \"pe-button__text-label\",\n wash: \"pe-button__wash\",\n washColor: \"pe-button__wash-color\",\n dropdown: \"pe-button__dropdown\",\n // states \n border: \"pe-button--border\",\n contained: \"pe-button--contained\",\n disabled: \"pe-button--disabled\",\n dropdownClosed: \"pe-button--dropdown-closed\",\n dropdownOpen: \"pe-button--dropdown-open\",\n extraWide: \"pe-button--extra-wide\",\n hasDropdown: \"pe-button--dropdown\",\n highLabel: \"pe-button--high-label\",\n inactive: \"pe-button--inactive\",\n raised: \"pe-button--raised\",\n selected: \"pe-button--selected\",\n separatorAtStart: \"pe-button--separator-start\",\n hasHover: \"pe-button--has-hover\"\n};\n\nvar shadowClasses = {\n component: \"pe-shadow\",\n // elements \n bottomShadow: \"pe-shadow__bottom\",\n topShadow: \"pe-shadow__top\",\n // states\n animated: \"pe-shadow--animated\",\n depth_n: \"pe-shadow--depth-\",\n with_active_shadow: \"pe-with-active-shadow\"\n};\n\nvar DEFAULT_SHADOW_DEPTH = 1;\nvar _Button = function _Button(_ref) {\n var _objectSpread3;\n\n var h = _ref.h,\n a = _ref.a,\n getRef = _ref.getRef,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n Ripple = _ref.Ripple,\n Shadow = _ref.Shadow,\n Icon = _ref.Icon,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"getRef\", \"useState\", \"useEffect\", \"useRef\", \"Ripple\", \"Shadow\", \"Icon\"]);\n\n var events = props.events || {};\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(props.inactive),\n _useState4 = _slicedToArray(_useState3, 2),\n isInactive = _useState4[0],\n setIsInactive = _useState4[1];\n\n var disabled = props.disabled;\n var inactive = props.inactive || isInactive;\n\n var onClickHandler = events[a.onclick] || function () {};\n\n var onKeyUpHandler = events[a.onkeyup] || onClickHandler;\n var shadowDepth = props.raised ? props.shadowDepth !== undefined ? props.shadowDepth : DEFAULT_SHADOW_DEPTH : 0;\n var animateOnTap = props.animateOnTap !== false ? true : false;\n\n var handleInactivate = function handleInactivate() {\n if (props.inactivate === undefined) {\n return;\n }\n\n setIsInactive(true);\n setTimeout(function () {\n return setIsInactive(false);\n }, props.inactivate * 1000);\n };\n\n var hasHover = !disabled && !props.selected && (props.raised ? props.wash : props.wash !== false);\n\n var handleMouseLeave = function handleMouseLeave(e) {\n domElement.blur();\n domElement.removeEventListener(\"mouseleave\", handleMouseLeave);\n };\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n add: [a.formaction, \"type\"],\n remove: [\"style\"]\n }), // Set style on content, not on component\n getRef(function (dom) {\n if (!dom || domElement) {\n return;\n }\n\n setDomElement(dom);\n\n if (props.getRef) {\n props.getRef(dom);\n }\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes[\"super\"], props.parentClassName || classes.component, props.contained ? classes.contained : null, // Raised button classes\n props.raised ? classes.contained : null, props.raised ? classes.raised : null, props.raised && animateOnTap ? shadowClasses.with_active_shadow : null, props.raised && animateOnTap ? getDepthClass(shadowDepth + 1) : null, //\n hasHover ? classes.hasHover : null, props.selected ? classes.selected : null, props.highLabel ? classes.highLabel : null, props.extraWide ? classes.extraWide : null, disabled ? classes.disabled : null, inactive ? classes.inactive : null, props.separatorAtStart ? classes.separatorAtStart : null, props.border || props.borders ? classes.border : null, props.dropdown ? classes.hasDropdown : null, props.dropdown ? props.dropdown.open ? classes.dropdownOpen : classes.dropdownClosed : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, inactive ? null : _objectSpread2(_defineProperty({}, a.tabindex, disabled || inactive ? -1 : props[a.tabindex] || 0), events, (_objectSpread3 = {}, _defineProperty(_objectSpread3, a.onmousedown, function (e) {\n return domElement && domElement.addEventListener && domElement.addEventListener(\"mouseleave\", handleMouseLeave), props.events && props.events[a.onmousedown] && props.events[a.onmousedown](e);\n }), _defineProperty(_objectSpread3, a.onclick, function (e) {\n return document.activeElement === domElement && document.activeElement.blur(), handleInactivate(), onClickHandler(e);\n }), _defineProperty(_objectSpread3, a.onkeyup, function (e) {\n if (e.keyCode === 13 && document.activeElement === domElement) {\n document.activeElement.blur();\n\n if (onKeyUpHandler) {\n onKeyUpHandler(e);\n }\n }\n\n props.events && props.events[a.onkeyup] && props.events[a.onkeyup](e);\n }), _objectSpread3)), props.url, disabled ? {\n disabled: true\n } : null);\n\n var noink = props.ink !== undefined && props.ink === false;\n var buttonContent = props.content ? props.content : props.label !== undefined ? _typeof(props.label) === \"object\" ? props.label : h(\"div\", {\n className: classes.label\n }, h(\"div\", {\n className: classes.textLabel,\n style: props.textStyle\n }, props.label)) : props.children;\n var componentContent = h(\"div\", {\n className: classes.content,\n style: props.style\n }, [h(Shadow, {\n shadowDepth: shadowDepth !== undefined ? shadowDepth : 0,\n animated: true\n }), disabled || noink ? null : h(Ripple, _extends({}, {\n target: domElement\n }, props.ripple)), h(\"div\", {\n className: classes.wash\n }, h(\"div\", {\n className: classes.washColor\n })), buttonContent, props.dropdown ? h(Icon, {\n className: classes.dropdown,\n svg: {\n content: h.trust(iconDropdownDown)\n }\n }) : null]);\n return h(props.element || \"a\", componentProps, [props.before, componentContent, props.after]);\n};\n\nexport { _Button };\n","// @ts-check\n// Global style variables\nvar grid_unit = 4;\nvar grid_unit_component = 8;\nvar increment = 7 * grid_unit_component; // 7 * 8 = 56\n\nvar increment_large = 8 * grid_unit_component; // 8 * 8 = 64\n\nvar vars = {\n // grid\n grid_unit: grid_unit,\n grid_unit_component: grid_unit_component,\n increment: increment,\n increment_large: increment_large,\n grid_unit_menu: 56,\n grid_unit_icon_button: 6 * grid_unit_component,\n // 48\n // common sizes\n unit_block_border_radius: 4,\n unit_item_border_radius: 4,\n unit_indent: 72,\n unit_indent_large: 80,\n unit_side_padding: 16,\n // buttons\n unit_touch_height: 48,\n unit_icon_size_small: 2 * grid_unit_component,\n // 16\n unit_icon_size: 3 * grid_unit_component,\n // 24\n unit_icon_size_medium: 4 * grid_unit_component,\n // 32\n unit_icon_size_large: 5 * grid_unit_component,\n // 40\n // screen dimensions\n unit_screen_size_extra_large: 1280,\n unit_screen_size_large: 960,\n unit_screen_size_medium: 480,\n unit_screen_size_small: 320,\n // transitions\n animation_duration: \".18s\",\n animation_curve_slow_in_fast_out: \"cubic-bezier(.4, 0, .2, 1)\",\n animation_curve_slow_in_linear_out: \"cubic-bezier(0, 0, .2, 1)\",\n animation_curve_linear_in_fast_out: \"cubic-bezier(.4, 0, 1, 1)\",\n animation_curve_default: \"ease-out\",\n // font\n font_weight_light: 300,\n font_weight_normal: 400,\n font_weight_medium: 500,\n font_weight_bold: 700,\n font_size_title: 20,\n line_height: 1.5,\n // base colors\n color_primary: \"33, 150, 243\",\n // blue 500\n color_primary_active: \"30, 136, 229\",\n // blue 600\n color_primary_dark: \"25, 118, 210\",\n // blue 700\n color_primary_faded: \"100, 181, 249\",\n // blue 300\n color_primary_foreground: \"255, 255, 255\",\n color_light_background: \"255, 255, 255\",\n color_light_foreground: \"0, 0, 0\",\n color_dark_background: \"34, 34, 34\",\n color_dark_foreground: \"255, 255, 255\",\n // blends\n blend_light_text_primary: .87,\n blend_light_text_regular: .73,\n blend_light_text_secondary: .54,\n blend_light_text_tertiary: .40,\n blend_light_text_disabled: .26,\n blend_light_border_medium: .24,\n blend_light_border_light: .11,\n blend_light_background_active: .14,\n blend_light_background_hover: .06,\n blend_light_background_hover_medium: .12,\n // for the lighter tinted icon buttons\n blend_light_background_disabled: .09,\n blend_light_overlay_background: .3,\n blend_dark_text_primary: 1,\n blend_dark_text_regular: .87,\n blend_dark_text_secondary: .70,\n blend_dark_text_tertiary: .40,\n blend_dark_text_disabled: .26,\n blend_dark_border_medium: .22,\n blend_dark_border_light: .10,\n blend_dark_background_active: .14,\n blend_dark_background_hover: .08,\n blend_dark_background_hoverMedium: .12,\n // for the lighter tinted icon buttons\n blend_dark_background_disabled: .12,\n blend_dark_overlay_background: .3,\n\n /*\n Breakpoints\n Specs: https://material.io/guidelines/layout/responsive-ui.html#responsive-ui-breakpoints\n Breakbpoint naming: inspiration from\n https://medium.freecodecamp.org/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862\n */\n breakpoint_for_phone_only: 599,\n // set max-width cols: 4, gutter: 16\n breakpoint_for_tablet_portrait_up: 600,\n // set min-width cols: 8, gutter: 24\n breakpoint_for_tablet_landscape_up: 840,\n // etc. cols: 12, gutter: 24\n breakpoint_for_desktop_up: 1280,\n breakpoint_for_big_desktop_up: 1600,\n breakpoint_for_tv_up: 1920,\n // z-index\n z_toolbar: 100,\n z_menu: 1000,\n z_app_bar: 2000,\n z_drawer: 3000,\n z_notification: 5000,\n z_dialog: 7000\n};\n\nexport { vars };\n","import { isTouch, getAnimationEndEvent, isServer, pointerEndEvent, filterSupportedAttributes } from 'polythene-core';\nimport { vars } from 'polythene-theme';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar ANIMATION_END_EVENT = getAnimationEndEvent();\nvar DEFAULT_START_OPACITY = 0.2;\nvar DEFAULT_END_OPACITY = 0.0;\nvar DEFAULT_START_SCALE = 0.1;\nvar DEFAULT_END_SCALE = 2.0;\nvar OPACITY_DECAY_VELOCITY = 0.35;\n\nvar addStyleToHead = function addStyleToHead(id, stylesheet) {\n if (isServer) return;\n var documentRef = window.document;\n var styleEl = documentRef.createElement(\"style\");\n styleEl.setAttribute(\"id\", id);\n styleEl.appendChild(documentRef.createTextNode(stylesheet));\n documentRef.head.appendChild(styleEl);\n};\n\nvar removeStyleFromHead = function removeStyleFromHead(id) {\n if (isServer) return;\n var el = document.getElementById(id);\n\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n};\n\nvar rippleAnimation = (function (_ref) {\n var e = _ref.e,\n id = _ref.id,\n el = _ref.el,\n props = _ref.props,\n classes = _ref.classes;\n return new Promise(function (resolve) {\n var container = document.createElement(\"div\");\n container.setAttribute(\"class\", classes.mask);\n el.appendChild(container);\n var waves = document.createElement(\"div\");\n waves.setAttribute(\"class\", classes.waves);\n container.appendChild(waves);\n var rect = el.getBoundingClientRect();\n var x = isTouch && e.touches ? e.touches[0].pageX : e.clientX;\n var y = isTouch && e.touches ? e.touches[0].pageY : e.clientY;\n var w = el.offsetWidth;\n var h = el.offsetHeight;\n var waveRadius = Math.sqrt(w * w + h * h);\n var mx = props.center ? rect.left + rect.width / 2 : x;\n var my = props.center ? rect.top + rect.height / 2 : y;\n var rx = mx - rect.left - waveRadius / 2;\n var ry = my - rect.top - waveRadius / 2;\n var startOpacity = props.startOpacity !== undefined ? props.startOpacity : DEFAULT_START_OPACITY;\n var opacityDecayVelocity = props.opacityDecayVelocity !== undefined ? props.opacityDecayVelocity : OPACITY_DECAY_VELOCITY;\n var endOpacity = props.endOpacity || DEFAULT_END_OPACITY;\n var startScale = props.startScale || DEFAULT_START_SCALE;\n var endScale = props.endScale || DEFAULT_END_SCALE;\n var duration = props.duration ? props.duration : 1 / opacityDecayVelocity * 0.2;\n var color = window.getComputedStyle(el).color;\n var style = waves.style;\n style.width = style.height = waveRadius + \"px\";\n style.top = ry + \"px\";\n style.left = rx + \"px\";\n style[\"animation-duration\"] = style[\"-webkit-animation-duration\"] = style[\"-moz-animation-duration\"] = style[\"-o-animation-duration\"] = duration + \"s\";\n style.backgroundColor = color;\n style.opacity = startOpacity;\n style.animationName = id;\n style.animationTimingFunction = props.animationTimingFunction || vars.animation_curve_default;\n var rippleStyleSheet = \"@keyframes \".concat(id, \" {\\n 0% {\\n transform:scale(\").concat(startScale, \");\\n opacity: \").concat(startOpacity, \"\\n }\\n 100% {\\n transform:scale(\").concat(endScale, \");\\n opacity: \").concat(endOpacity, \";\\n }\\n }\");\n addStyleToHead(id, rippleStyleSheet);\n\n var animationDone = function animationDone(evt) {\n removeStyleFromHead(id);\n waves.removeEventListener(ANIMATION_END_EVENT, animationDone, false);\n\n if (props.persistent) {\n style.opacity = endOpacity;\n style.transform = \"scale(\" + endScale + \")\";\n } else {\n waves.classList.remove(classes.wavesAnimating);\n container.removeChild(waves);\n el.removeChild(container);\n }\n\n resolve(evt);\n };\n\n waves.addEventListener(ANIMATION_END_EVENT, animationDone, false);\n waves.classList.add(classes.wavesAnimating);\n });\n});\n\nvar classes = {\n component: \"pe-ripple\",\n // elements\n mask: \"pe-ripple__mask\",\n waves: \"pe-ripple__waves\",\n // states\n unconstrained: \"pe-ripple--unconstrained\",\n wavesAnimating: \"pe-ripple__waves--animating\"\n};\n\nvar _Ripple = function _Ripple(_ref) {\n var h = _ref.h,\n a = _ref.a,\n getRef = _ref.getRef,\n useRef = _ref.useRef,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"getRef\", \"useRef\", \"useState\", \"useEffect\"]);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var animationCountRef = useRef();\n var triggerEl = props.target || (domElement ? domElement.parentElement : undefined);\n\n var tap = function tap(e) {\n if (props.disabled || !domElement || !props.multi && animationCountRef.current > 0) {\n return;\n }\n\n if (props.start) {\n props.start(e);\n }\n\n var id = \"ripple_animation_\".concat(new Date().getTime());\n rippleAnimation({\n e: e,\n id: id,\n el: domElement,\n props: props,\n classes: classes\n }).then(function (evt) {\n if (props.end) {\n props.end(evt);\n }\n\n animationCountRef.current--;\n });\n animationCountRef.current++;\n }; // count\n\n\n useEffect(function () {\n animationCountRef.current = 0;\n }, []); // triggerEl\n\n useEffect(function () {\n if (triggerEl && triggerEl.addEventListener) {\n pointerEndEvent.forEach(function (evt) {\n return triggerEl.addEventListener(evt, tap, false);\n });\n return function () {\n pointerEndEvent.forEach(function (evt) {\n return triggerEl.removeEventListener(evt, tap, false);\n });\n };\n }\n }, [triggerEl]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), getRef(function (dom) {\n return dom && !domElement && setDomElement(dom);\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.unconstrained ? classes.unconstrained : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var content = [props.before, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Ripple, rippleAnimation };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Ripple } from 'polythene-core-ripple';\nimport { cast, h, a, getRef, useRef, useState, useEffect } from 'cyano-mithril';\n\nvar Ripple = cast(_Ripple, {\n h: h,\n a: a,\n getRef: getRef,\n useRef: useRef,\n useState: useState,\n useEffect: useEffect\n});\nRipple[\"displayName\"] = \"Ripple\";\n\nexport { Ripple };\n","import { filterSupportedAttributes, classForSize } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-icon\",\n // states\n avatar: \"pe-icon--avatar\",\n large: \"pe-icon--large\",\n medium: \"pe-icon--medium\",\n regular: \"pe-icon--regular\",\n small: \"pe-icon--small\"\n};\n\nvar _Icon = function _Icon(_ref) {\n var h = _ref.h,\n a = _ref.a,\n SVG = _ref.SVG,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"SVG\"]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, classForSize(classes, props.size), props.avatar ? classes.avatar : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var content = [props.before, props.content ? props.content : props.svg ? h(SVG, props.svg) : props.src ? h(\"img\", {\n src: props.src\n }) : props.children, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Icon };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-svg\"\n};\n\nvar _SVG = function _SVG(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useEffect = _ref.useEffect,\n useState = _ref.useState,\n getRef = _ref.getRef,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useEffect\", \"useState\", \"getRef\"]);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n useEffect(function () {\n if (!domElement) {\n return;\n } // Prevent that SVG gets keyboard focus\n\n\n var svgElement = domElement.querySelector(\"svg\");\n\n if (svgElement) {\n svgElement.setAttribute(\"focusable\", \"false\");\n }\n }, [domElement]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.getRef && props.getRef(dom));\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var content = [props.before, props.content ? props.content : props.children, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _SVG };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _SVG } from 'polythene-core-svg';\nimport { cast, h, a, useEffect, useState, getRef } from 'cyano-mithril';\n\nvar SVG = cast(_SVG, {\n h: h,\n a: a,\n useEffect: useEffect,\n useState: useState,\n getRef: getRef\n});\n\nexport { SVG };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Icon } from 'polythene-core-icon';\nimport { SVG } from 'polythene-mithril-svg';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar Icon = cast(_Icon, {\n h: h,\n a: a,\n SVG: SVG\n});\nIcon[\"displayName\"] = \"Icon\";\n\nexport { Icon };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Shadow } from 'polythene-core-shadow';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar Shadow = cast(_Shadow, {\n h: h,\n a: a\n});\nShadow[\"displayName\"] = \"Shadow\";\n\nexport { Shadow };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Button } from 'polythene-core-button';\nimport { Ripple } from 'polythene-mithril-ripple';\nimport { Icon } from 'polythene-mithril-icon';\nimport { Shadow } from 'polythene-mithril-shadow';\nimport { cast, h, a, getRef, useState, useEffect, useRef } from 'cyano-mithril';\n\nvar Button = cast(_Button, {\n h: h,\n a: a,\n getRef: getRef,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n Ripple: Ripple,\n Shadow: Shadow,\n Icon: Icon\n});\n\nexport { Button };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-button-group\"\n};\n\nvar _ButtonGroup = function _ButtonGroup(_ref) {\n var h = _ref.h,\n a = _ref.a,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\"]);\n\n var componentProps = _extends({}, props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n return h(props.element || \"div\", componentProps, props.children);\n};\n\nexport { _ButtonGroup };\n","import { cast, h, a } from 'cyano-mithril';\nimport { _ButtonGroup } from 'polythene-core-button-group';\n\nvar ButtonGroup = cast(_ButtonGroup, {\n h: h,\n a: a\n});\nButtonGroup[\"displayName\"] = \"ButtonGroup\";\n\nexport { ButtonGroup };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-card\",\n // elements\n actions: \"pe-card__actions\",\n any: \"pe-card__any\",\n content: \"pe-card__content\",\n header: \"pe-card__header\",\n headerTitle: \"pe-card__header-title\",\n media: \"pe-card__media\",\n mediaDimmer: \"pe-card__media__dimmer\",\n overlay: \"pe-card__overlay\",\n overlayContent: \"pe-card__overlay__content\",\n primary: \"pe-card__primary\",\n primaryMedia: \"pe-card__primary-media\",\n subtitle: \"pe-card__subtitle\",\n text: \"pe-card__text\",\n title: \"pe-card__title\",\n // states\n actionsBorder: \"pe-card__actions--border\",\n actionsHorizontal: \"pe-card__actions--horizontal\",\n actionsJustified: \"pe-card__actions--justified\",\n actionsTight: \"pe-card__actions--tight\",\n actionsVertical: \"pe-card__actions--vertical\",\n mediaCropX: \"pe-card__media--crop-x\",\n mediaCropY: \"pe-card__media--crop-y\",\n mediaOriginStart: \"pe-card__media--origin-start\",\n mediaOriginCenter: \"pe-card__media--origin-center\",\n mediaOriginEnd: \"pe-card__media--origin-end\",\n mediaLarge: \"pe-card__media--large\",\n mediaMedium: \"pe-card__media--medium\",\n mediaRatioLandscape: \"pe-card__media--landscape\",\n mediaRatioSquare: \"pe-card__media--square\",\n mediaRegular: \"pe-card__media--regular\",\n mediaSmall: \"pe-card__media--small\",\n overlaySheet: \"pe-card__overlay--sheet\",\n primaryHasMedia: \"pe-card__primary--media\",\n primaryTight: \"pe-card__primary--tight\",\n textTight: \"pe-card__text--tight\"\n};\n\nvar createOverlay = function createOverlay(_ref) {\n var dispatcher = _ref.dispatcher,\n props = _ref.props,\n h = _ref.h,\n a = _ref.a;\n var element = props.element || \"div\";\n var content = props.content.map(dispatcher);\n return h(\"div\", {\n style: props.style,\n className: [classes.overlay, props.sheet ? classes.overlaySheet : null, props.tone === \"light\" ? null : \"pe-dark-tone\", // default dark tone\n props.tone === \"light\" ? \"pe-light-tone\" : null].join(\" \")\n }, [h(element, {\n className: [classes.overlayContent, props.className || props[a[\"class\"]]].join(\" \")\n }, content), h(\"div\", {\n className: classes.mediaDimmer\n })]);\n};\n\nvar createAny = function createAny(_ref2) {\n var props = _ref2.props,\n h = _ref2.h,\n a = _ref2.a;\n var element = props.element || \"div\";\n return h(element, _extends({}, filterSupportedAttributes(props), {\n className: [classes.any, props.tight ? classes.textTight : null, props.className || props[a[\"class\"]]].join(\" \")\n }), props.content);\n};\n\nvar createText = function createText(_ref3) {\n var props = _ref3.props,\n h = _ref3.h,\n a = _ref3.a;\n var element = props.element || \"div\";\n return h(element, _extends({}, filterSupportedAttributes(props), {\n className: [classes.text, props.tight ? classes.textTight : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events), props.content);\n};\n\nvar createHeader = function createHeader(_ref4) {\n var props = _ref4.props,\n h = _ref4.h,\n a = _ref4.a,\n Icon = _ref4.Icon,\n ListTile = _ref4.ListTile;\n return h(ListTile, _extends({}, props, {\n className: [classes.header, props.className || props[a[\"class\"]]].join(\" \")\n }, props.icon ? {\n front: h(Icon, props.icon)\n } : null));\n};\n\nvar _Card = function _Card(_ref5) {\n var h = _ref5.h,\n a = _ref5.a,\n CardActions = _ref5.CardActions,\n CardMedia = _ref5.CardMedia,\n CardPrimary = _ref5.CardPrimary,\n Icon = _ref5.Icon,\n ListTile = _ref5.ListTile,\n Shadow = _ref5.Shadow,\n props = _objectWithoutProperties(_ref5, [\"h\", \"a\", \"CardActions\", \"CardMedia\", \"CardPrimary\", \"Icon\", \"ListTile\", \"Shadow\"]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.url, props.events);\n\n var dispatcher = function dispatcher(block) {\n var blockName = Object.keys(block)[0];\n\n var props = _extends({}, block[blockName], {\n dispatcher: dispatcher,\n key: undefined\n });\n\n switch (blockName) {\n case \"actions\":\n return h(CardActions, props);\n\n case \"header\":\n return createHeader({\n props: props,\n h: h,\n a: a,\n Icon: Icon,\n ListTile: ListTile\n });\n\n case \"media\":\n return h(CardMedia, props);\n\n case \"overlay\":\n return createOverlay({\n dispatcher: dispatcher,\n props: props,\n h: h,\n a: a\n });\n\n case \"primary\":\n return h(CardPrimary, props);\n\n case \"text\":\n return createText({\n props: props,\n h: h,\n a: a\n });\n\n case \"any\":\n return createAny({\n props: props,\n h: h,\n a: a\n });\n\n default:\n throw \"Content type \\\"\".concat(blockName, \"\\\" does not exist\");\n }\n };\n\n var blocks = Array.isArray(props.content) ? props.content.map(dispatcher) : [props.content]; // deprecated;\n\n var componentContent = [props.before].concat(_toConsumableArray(blocks), [props.after]);\n var shadowDepth = props.shadowDepth !== undefined ? props.shadowDepth : props.z; // deprecated\n\n var content = [h(Shadow, {\n shadowDepth: shadowDepth !== undefined ? shadowDepth : 1,\n animated: true\n }), h(\"div\", {\n className: classes.content\n }, componentContent), props.children];\n var element = props.element || props.url ? \"a\" : \"div\";\n return h(element, componentProps, content);\n};\n\nvar imageRatios = {\n landscape: 16 / 9,\n square: 1\n};\nvar mediaSizeClasses = {\n small: classes.mediaSmall,\n regular: classes.mediaRegular,\n medium: classes.mediaMedium,\n large: classes.mediaLarge\n};\n\nvar mediaSizeClass = function mediaSizeClass() {\n var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"regular\";\n return mediaSizeClasses[size];\n};\n\nvar initImage = function initImage(_ref) {\n var dom = _ref.dom,\n src = _ref.src,\n ratio = _ref.ratio,\n origin = _ref.origin;\n var img = new Image();\n\n img.onload = function () {\n // use a background image on the image container\n if (img.tagName === \"IMG\") {\n dom.style.backgroundImage = \"url(\".concat(img.src, \")\");\n }\n\n var naturalRatio = this.naturalWidth / this.naturalHeight; // crop-x: crop over x axis\n // crop-y: crop over y axis\n\n var cropClass = naturalRatio < imageRatios[ratio] ? classes.mediaCropX : classes.mediaCropY;\n dom.classList.add(cropClass);\n var originClass = origin === \"start\" ? classes.mediaOriginStart : origin === \"end\" ? classes.mediaOriginEnd : classes.mediaOriginCenter;\n dom.classList.add(originClass);\n };\n\n img.src = src;\n};\n\nvar _CardMedia = function _CardMedia(_ref2) {\n var h = _ref2.h,\n a = _ref2.a,\n useEffect = _ref2.useEffect,\n useState = _ref2.useState,\n getRef = _ref2.getRef,\n props = _objectWithoutProperties(_ref2, [\"h\", \"a\", \"useEffect\", \"useState\", \"getRef\"]);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var ratio = props.ratio || \"landscape\";\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n var ratio = props.ratio || \"landscape\";\n var origin = props.origin || \"center\";\n var img = domElement.querySelector(\"img\") || domElement.querySelector(\"iframe\");\n initImage({\n dom: domElement,\n src: img.src,\n ratio: ratio,\n origin: origin\n });\n }, [domElement]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), getRef(function (dom) {\n return dom && !domElement && setDomElement(dom);\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.media, mediaSizeClass(props.size), ratio === \"landscape\" ? classes.mediaRatioLandscape : classes.mediaRatioSquare, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var dispatcher = props.dispatcher;\n var content = [props.content, props.overlay ? dispatcher({\n overlay: props.overlay\n }) : props.showDimmer && h(\"div\", {\n className: classes.mediaDimmer\n })];\n return h(props.element || \"div\", componentProps, content);\n};\n\nvar buttonClasses = {\n component: \"pe-text-button\",\n \"super\": \"pe-button\",\n row: \"pe-button-row\",\n // elements \n content: \"pe-button__content\",\n label: \"pe-button__label\",\n textLabel: \"pe-button__text-label\",\n wash: \"pe-button__wash\",\n washColor: \"pe-button__wash-color\",\n dropdown: \"pe-button__dropdown\",\n // states \n border: \"pe-button--border\",\n contained: \"pe-button--contained\",\n disabled: \"pe-button--disabled\",\n dropdownClosed: \"pe-button--dropdown-closed\",\n dropdownOpen: \"pe-button--dropdown-open\",\n extraWide: \"pe-button--extra-wide\",\n hasDropdown: \"pe-button--dropdown\",\n highLabel: \"pe-button--high-label\",\n inactive: \"pe-button--inactive\",\n raised: \"pe-button--raised\",\n selected: \"pe-button--selected\",\n separatorAtStart: \"pe-button--separator-start\",\n hasHover: \"pe-button--has-hover\"\n};\n\nvar actionLayoutClasses = {\n horizontal: classes.actionsHorizontal,\n vertical: classes.actionsVertical,\n justified: classes.actionsJustified\n};\n\nvar actionClassForLayout = function actionClassForLayout() {\n var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"horizontal\";\n return actionLayoutClasses[layout];\n};\n\nvar _CardActions = function _CardActions(_ref) {\n var h = _ref.h,\n a = _ref.a,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\"]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.actions, props.layout !== \"vertical\" ? buttonClasses.row : null, actionClassForLayout(props.layout), props.border || props.bordered ? classes.actionsBorder : null, props.tight ? classes.actionsTight : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var content = props.content || props.children;\n return h(props.element || \"div\", componentProps, content);\n};\n\nvar _CardPrimary = function _CardPrimary(_ref) {\n var h = _ref.h,\n a = _ref.a,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\"]);\n\n var primaryHasMedia = Array.isArray(props.content) ? props.content.reduce(function (total, current) {\n return Object.keys(current)[0] === \"media\" ? true : total;\n }, false) : props.media || false;\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.primary, props.tight ? classes.primaryTight : null, primaryHasMedia ? classes.primaryHasMedia : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var dispatcher = props.dispatcher;\n var primaryDispatch = {\n title: function title(pAttrs) {\n return pAttrs.attrs // Mithril\n || pAttrs.props // React\n ? pAttrs || pAttrs.props : h(\"div\", {\n className: classes.title,\n style: pAttrs.style\n }, [pAttrs.title, pAttrs.subtitle ? h(\"div\", {\n className: classes.subtitle\n }, pAttrs.subtitle) : null]);\n },\n media: function media(pAttrs) {\n return h(\"div\", {\n className: classes.primaryMedia,\n style: pAttrs.style\n }, dispatcher({\n media: pAttrs\n }));\n },\n actions: function actions(pAttrs) {\n return dispatcher({\n actions: pAttrs\n });\n }\n };\n var content = Array.isArray(props.content) ? props.content.map(function (block) {\n var key = Object.keys(block)[0];\n var pAttrs = block[key];\n return primaryDispatch[key] ? primaryDispatch[key](pAttrs) : block;\n }) : [props.title ? primaryDispatch.title({\n title: props.title,\n subtitle: props.subtitle\n }) : null, props.media ? primaryDispatch.media(props.media) : null, props.actions ? primaryDispatch.actions(props.actions) : null, props.content];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Card, _CardActions, _CardMedia, _CardPrimary };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar _ListTile = function _ListTile(_ref) {\n var h = _ref.h,\n a = _ref.a,\n Ripple = _ref.Ripple,\n Icon = _ref.Icon,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"Ripple\", \"Icon\"]);\n\n // Remove unused props\n delete props.key;\n var hasTabIndex = !props.header && !props.url && !(props.secondary && props.secondary.url);\n var heightClass = props.subtitle ? classes.hasSubtitle : props.highSubtitle ? classes.hasHighSubtitle : props.front || props.indent ? classes.hasFront : null;\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"tabindex\", \"tabIndex\"]\n }), // tabindex is set elsewhere\n props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.selected ? classes.selected : null, props.disabled ? classes.disabled : null, props.sticky ? classes.sticky : null, props.compact ? classes.compact : null, props.hoverable ? classes.hoverable : null, props.selectable ? classes.selectable : null, props.highlight ? classes.highlight : null, props.rounded ? classes.rounded : null, props.header ? classes.header : null, props.inset || props.insetH ? classes.insetH : null, props.inset || props.insetV ? classes.insetV : null, props.navigation ? classes.navigation : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, heightClass, props.className || props[a[\"class\"]]].join(\" \")\n }, hasTabIndex && _defineProperty({}, a.tabindex, props[a.tabindex] || 0) // events and url are attached to primary content to not interfere with controls\n );\n\n var primaryProps = props;\n delete primaryProps.id;\n delete primaryProps[a[\"class\"]];\n var componentContent = [props.ink && !props.disabled ? h(Ripple, _extends({}, props.ripple)) : null, primaryContent({\n h: h,\n a: a,\n props: primaryProps\n }), props.secondary ? secondaryContent({\n h: h,\n a: a,\n Icon: Icon,\n props: props.secondary\n }) : null];\n var content = [props.before].concat(componentContent, [props.after]);\n return h(\"div\", // because primary or secondary content can be an \"a\", the container is always defined as \"div\", and option `element` is passed to primary content\n componentProps, content);\n};\n\nvar primaryContent = function primaryContent(_ref3) {\n var h = _ref3.h,\n a = _ref3.a,\n props = _ref3.props;\n var url = props.keyboardControl ? null : props.url;\n var element = props.element ? props.element : url ? \"a\" : \"div\";\n var contentFrontClass = [classes.content, classes.contentFront, props.compactFront ? classes.compactFront : null].join(\" \");\n var frontComp = props.front || props.indent ? h(\"div\", _extends({}, {\n className: contentFrontClass\n }), props.front) : null;\n var hasTabIndex = !props.header && props.url;\n\n var elementProps = _extends({}, filterSupportedAttributes(props), props.events, {\n className: classes.primary,\n style: null\n }, hasTabIndex && _defineProperty({}, a.tabindex, props[a.tabindex] || 0), url);\n\n var content = props.content ? props.content : [frontComp, h(\"div\", {\n className: classes.content,\n style: props.style\n }, [props.title && !props.content ? h(\"div\", _extends({}, {\n className: classes.title\n }), props.title) : null, props.subtitle ? h(\"div\", _extends({}, {\n className: classes.subtitle\n }), props.subtitle) : null, props.highSubtitle ? h(\"div\", _extends({}, {\n className: classes.subtitle + \" \" + classes.highSubtitle\n }), props.highSubtitle) : null, props.subContent ? h(\"div\", _extends({}, {\n className: classes.subContent\n }), props.subContent) : null, props.children])];\n return h(element, elementProps, content);\n};\n\nvar secondaryContent = function secondaryContent(_ref5) {\n var h = _ref5.h,\n a = _ref5.a,\n Icon = _ref5.Icon,\n _ref5$props = _ref5.props,\n props = _ref5$props === void 0 ? {} : _ref5$props;\n var url = props.keyboardControl ? null : props.url;\n var element = props.element ? props.element : url ? \"a\" : \"div\";\n var hasTabIndex = props.url;\n return h(element, _extends({}, url, {\n className: classes.secondary\n }, props.events, filterSupportedAttributes(props), hasTabIndex && _defineProperty({}, a.tabindex, props[a.tabindex] || 0)), h(\"div\", {\n className: classes.content\n }, [props.icon ? h(Icon, props.icon) : null, props.content ? props.content : null]));\n};\n\nexport { _ListTile };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _ListTile } from 'polythene-core-list-tile';\nimport { Icon } from 'polythene-mithril-icon';\nimport { Ripple } from 'polythene-mithril-ripple';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar ListTile = cast(_ListTile, {\n h: h,\n a: a,\n Icon: Icon,\n Ripple: Ripple\n});\nListTile[\"displayName\"] = \"ListTile\";\n\nexport { ListTile };\n","import { _CardActions, _CardMedia, _CardPrimary, _Card } from 'polythene-core-card';\nimport { cast, h, a, useState, useEffect, getRef } from 'cyano-mithril';\nimport { Icon } from 'polythene-mithril-icon';\nimport { ListTile } from 'polythene-mithril-list-tile';\nimport { Shadow } from 'polythene-mithril-shadow';\n\nvar CardActions = cast(_CardActions, {\n h: h,\n a: a\n});\nCardActions[\"displayName\"] = \"CardActions\";\n\nvar CardMedia = cast(_CardMedia, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n getRef: getRef\n});\nCardMedia[\"displayName\"] = \"CardMedia\";\n\nvar CardPrimary = cast(_CardPrimary, {\n h: h,\n a: a\n});\nCardPrimary[\"displayName\"] = \"CardPrimary\";\n\nvar Card = cast(_Card, {\n h: h,\n a: a,\n CardActions: CardActions,\n CardMedia: CardMedia,\n CardPrimary: CardPrimary,\n Icon: Icon,\n ListTile: ListTile,\n Shadow: Shadow\n});\nCard[\"displayName\"] = \"Card\";\n\nexport { Card };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-checkbox-control\"\n};\n\nvar iconOn = \"\";\nvar iconOff = \"\";\nvar icons = {\n iconOff: iconOff,\n iconOn: iconOn\n};\nvar _Checkbox = function _Checkbox(_ref) {\n var h = _ref.h,\n SelectionControl = _ref.SelectionControl,\n props = _objectWithoutProperties(_ref, [\"h\", \"SelectionControl\"]);\n\n var componentProps = _extends({}, props, {\n icons: icons,\n selectable: props.selectable || function () {\n return true;\n },\n // default: always selectable, regardless the checked state\n instanceClass: classes.component,\n type: \"checkbox\"\n });\n\n return h(SelectionControl, componentProps);\n};\n\nexport { _Checkbox };\n","import { filterSupportedAttributes, classForSize } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-control\",\n // elements\n formLabel: \"pe-control__form-label\",\n input: \"pe-control__input\",\n label: \"pe-control__label\",\n // states\n disabled: \"pe-control--disabled\",\n inactive: \"pe-control--inactive\",\n large: \"pe-control--large\",\n medium: \"pe-control--medium\",\n off: \"pe-control--off\",\n on: \"pe-control--on\",\n regular: \"pe-control--regular\",\n small: \"pe-control--small\",\n // control view elements\n box: \"pe-control__box\",\n button: \"pe-control__button\",\n // control view states\n buttonOff: \"pe-control__button--off\",\n buttonOn: \"pe-control__button--on\"\n};\n\nvar _SelectionControl = function _SelectionControl(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n ViewControl = _ref.ViewControl,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"ViewControl\"]);\n\n // remove unused props\n delete props.key;\n var defaultChecked = props.defaultChecked !== undefined ? props.defaultChecked : props.checked || false;\n\n var _useState = useState(defaultChecked),\n _useState2 = _slicedToArray(_useState, 2),\n previousIsChecked = _useState2[0],\n setIsChecked = _useState2[1];\n\n var _useState3 = useState(props.selectable),\n _useState4 = _slicedToArray(_useState3, 2),\n isSelectable = _useState4[0],\n setIsSelectable = _useState4[1];\n\n var isChecked = props.checked !== undefined ? props.checked : previousIsChecked;\n var inactive = props.disabled || !isSelectable; // define isSelectable\n // This variable is set in the next tick to allow button interaction (e.g. ripples) to show\n // before the button is set to inactive state\n\n useEffect(function () {\n var selectable = props.selectable !== undefined ? props.selectable(isChecked) : false;\n\n if (selectable !== isSelectable) {\n setIsSelectable(selectable);\n }\n }, [props.selectable, isChecked]);\n\n var notifyChange = function notifyChange(e, isChecked) {\n if (props.onChange) {\n props.onChange({\n event: e,\n checked: isChecked,\n value: props.value\n });\n }\n };\n\n var onChange = function onChange(e) {\n var isChecked = e.currentTarget.checked;\n\n if (props.type === \"radio\") ; else {\n setIsChecked(isChecked);\n }\n\n notifyChange(e, isChecked);\n };\n\n var toggle = function toggle(e) {\n var newChecked = !isChecked;\n setIsChecked(newChecked);\n notifyChange(e, newChecked);\n };\n\n var viewControlClickHandler = props.events && props.events[a.onclick];\n var viewControlKeyDownHandler = props.events && props.events[a.onkeydown] ? props.events[a.onkeydown] : function (e) {\n if (e.key === \"Enter\" || e.keyCode === 32) {\n e.preventDefault();\n\n if (viewControlClickHandler) {\n viewControlClickHandler(e);\n } else {\n toggle(e);\n }\n }\n };\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"style\"]\n }), // Set style on view control\n props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.instanceClass, // for instance pe-checkbox-control\n isChecked ? classes.on : classes.off, props.disabled ? classes.disabled : null, inactive ? classes.inactive : null, classForSize(classes, props.size), props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var content = h(\"label\", _extends({}, {\n className: classes.formLabel\n }, viewControlClickHandler && _defineProperty({}, a.onclick, function (e) {\n return e.preventDefault(), viewControlClickHandler(e);\n })), [props.before, h(ViewControl, _extends({}, props, {\n inactive: inactive,\n checked: isChecked,\n events: _defineProperty({}, a.onkeydown, viewControlKeyDownHandler)\n })), props.label ? h(\".\".concat(classes.label), props.label) : null, h(\"input\", _extends({}, props.events, {\n name: props.name,\n type: props.type,\n value: props.value,\n checked: isChecked\n }, props.disabled || inactive ? _defineProperty({}, a.readonly, \"readonly\") : _defineProperty({}, a.onchange, onChange))), props.after]);\n return h(props.element || \"div\", componentProps, content);\n};\n\nvar CONTENT = [{\n iconType: \"iconOn\",\n className: classes.buttonOn\n}, {\n iconType: \"iconOff\",\n className: classes.buttonOff\n}];\n\nvar createIcon = function createIcon(h, iconType, props, className) {\n return (// if props.iconOn/props.iconOff is passed, use that icon options object and ignore size\n // otherwise create a new object\n _extends({}, {\n className: className\n }, props[iconType] ? props[iconType] : {\n svg: {\n content: h.trust(props.icons[iconType])\n }\n }, props.icon, props.size ? {\n size: props.size\n } : null)\n );\n};\n\nvar _ViewControl = function _ViewControl(_ref) {\n var h = _ref.h,\n Icon = _ref.Icon,\n IconButton = _ref.IconButton,\n props = _objectWithoutProperties(_ref, [\"h\", \"Icon\", \"IconButton\"]);\n\n var element = props.element || \".\".concat(classes.box);\n var content = h(IconButton, _extends({}, {\n element: \"div\",\n className: classes.button,\n style: props.style,\n content: CONTENT.map(function (o) {\n return h(Icon, createIcon(h, o.iconType, props, o.className));\n }),\n ripple: {\n center: true\n },\n disabled: props.disabled,\n events: props.events,\n inactive: props.inactive\n }, props.iconButton // for example for hover behaviour\n ));\n return h(element, null, content);\n};\n\nexport { _SelectionControl, _ViewControl };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-button pe-icon-button\",\n // elements\n content: \"pe-icon-button__content\",\n label: \"pe-icon-button__label\",\n // states\n compact: \"pe-icon-button--compact\"\n};\n\nvar _IconButton = function _IconButton(_ref) {\n var h = _ref.h,\n Icon = _ref.Icon,\n Button = _ref.Button,\n props = _objectWithoutProperties(_ref, [\"h\", \"Icon\", \"Button\"]);\n\n var content = props.content ? props.content : props.icon ? h(Icon, props.icon) : props.children;\n\n var buttonProps = _extends({}, {\n content: h(\"div\", {\n className: classes.content\n }, content),\n after: props.label && h(\"div\", {\n className: classes.label\n }, props.label),\n parentClassName: [props.parentClassName || classes.component, props.compact ? classes.compact : null].join(\" \"),\n // defaults\n wash: false,\n animateOnTap: false\n }, props);\n\n return h(Button, buttonProps);\n};\n\nexport { _IconButton };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _IconButton } from 'polythene-core-icon-button';\nimport { Icon } from 'polythene-mithril-icon';\nimport { Button } from 'polythene-mithril-button';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar IconButton = cast(_IconButton, {\n h: h,\n a: a,\n Icon: Icon,\n Button: Button\n});\n\nexport { IconButton };\n","import { _Checkbox } from 'polythene-core-checkbox';\nimport { _ViewControl, _SelectionControl } from 'polythene-core-selection-control';\nimport { cast, h, a, useState, useEffect } from 'cyano-mithril';\nimport { Icon } from 'polythene-mithril-icon';\nimport { IconButton } from 'polythene-mithril-icon-button';\n\nvar ViewControl = cast(_ViewControl, {\n h: h,\n a: a,\n Icon: Icon,\n IconButton: IconButton\n});\nViewControl[\"displayName\"] = \"ViewControl\";\nvar SelectionControl = cast(_SelectionControl, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n ViewControl: ViewControl\n});\nSelectionControl[\"displayName\"] = \"SelectionControl\";\nvar Checkbox = cast(_Checkbox, {\n h: h,\n a: a,\n SelectionControl: SelectionControl\n});\nCheckbox[\"displayName\"] = \"Checkbox\";\n\nexport { Checkbox };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { transitionStateReducer, initialTransitionState, subscribe, unsubscribe, transitionComponent, filterSupportedAttributes, stylePropCompare } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar menuClasses = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar classes = {\n component: \"pe-dialog\",\n // elements\n placeholder: \"pe-dialog__placeholder\",\n holder: \"pe-dialog__holder\",\n content: \"pe-dialog__content\",\n backdrop: \"pe-dialog__backdrop\",\n touch: \"pe-dialog__touch\",\n // states\n fullScreen: \"pe-dialog--full-screen\",\n modal: \"pe-dialog--modal\",\n open: \"pe-dialog--open\",\n // class set to html element\n visible: \"pe-dialog--visible\",\n // class set to dialog element\n showBackdrop: \"pe-dialog--backdrop\",\n transition: \"pe-dialog--transition\",\n // lookup\n menuContent: menuClasses.content\n};\n\nvar DEFAULT_SHADOW_DEPTH = 3;\nvar openDialogsSelector = \".\".concat(classes.component);\n\nvar createPane = function createPane(_ref) {\n var h = _ref.h,\n Pane = _ref.Pane,\n props = _ref.props;\n return h(Pane, {\n body: props.content || props.body || props.menu || props.children,\n element: props.element,\n borders: props.borders,\n className: props.className,\n footer: props.footer,\n footerButtons: props.footerButtons,\n formOptions: props.formOptions,\n fullBleed: props.fullBleed,\n header: props.header,\n style: props.style,\n title: props.title\n });\n};\n\nvar _Dialog = function _Dialog(_ref2) {\n var h = _ref2.h,\n a = _ref2.a,\n useState = _ref2.useState,\n useEffect = _ref2.useEffect,\n useRef = _ref2.useRef,\n getRef = _ref2.getRef,\n useReducer = _ref2.useReducer,\n Pane = _ref2.Pane,\n Shadow = _ref2.Shadow,\n openDialogsSelector = _ref2.openDialogsSelector,\n props = _objectWithoutProperties(_ref2, [\"h\", \"a\", \"useState\", \"useEffect\", \"useRef\", \"getRef\", \"useReducer\", \"Pane\", \"Shadow\", \"openDialogsSelector\"]);\n\n var _useReducer = useReducer(transitionStateReducer, initialTransitionState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n transitionState = _useReducer2[0],\n dispatchTransitionState = _useReducer2[1];\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var backdropElRef = useRef();\n var touchElRef = useRef();\n var contentElRef = useRef();\n var isVisible = (transitionState || initialTransitionState).isVisible;\n var isTransitioning = (transitionState || initialTransitionState).isTransitioning;\n\n var transitionOptions = function transitionOptions(_ref3) {\n var isShow = _ref3.isShow,\n _ref3$hideDelay = _ref3.hideDelay,\n hideDelay = _ref3$hideDelay === void 0 ? props.hideDelay : _ref3$hideDelay,\n referrer = _ref3.referrer;\n return {\n transitionState: transitionState,\n dispatchTransitionState: dispatchTransitionState,\n instanceId: props.instanceId,\n props: _extends({}, props, {\n hideDelay: hideDelay\n }),\n isShow: isShow,\n domElements: {\n el: domElement,\n contentEl: contentElRef.current,\n backdropEl: backdropElRef.current\n },\n showClass: classes.visible,\n transitionClass: classes.transition,\n referrer: referrer\n };\n };\n\n var showDialog = function showDialog() {\n return transitionComponent(transitionOptions({\n isShow: true\n }));\n };\n\n var hideDialog = function hideDialog() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n hideDelay = _ref4.hideDelay,\n referrer = _ref4.referrer;\n\n return transitionComponent(transitionOptions({\n isShow: false,\n hideDelay: hideDelay,\n referrer: referrer\n }));\n };\n\n var isModal = function isModal() {\n return props.modal || domElement && domElement.classList.contains(classes.modal) || stylePropCompare({\n element: domElement,\n pseudoSelector: \":before\",\n prop: \"content\",\n contains: \"\\\"\".concat(\"modal\", \"\\\"\")\n });\n };\n\n var isFullScreen = function isFullScreen() {\n return props.fullScreen || domElement && domElement.classList.contains(classes.fullScreen) || stylePropCompare({\n element: domElement,\n pseudoSelector: \":before\",\n prop: \"content\",\n contains: \"\\\"\".concat(\"full_screen\", \"\\\"\")\n });\n }; // DOM elements\n\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n backdropElRef.current = domElement.querySelector(\".\".concat(classes.backdrop));\n touchElRef.current = domElement.querySelector(\".\".concat(classes.touch));\n contentElRef.current = domElement.querySelector(\".\".concat(classes.content));\n }, [domElement]); // Handle Escape key\n\n useEffect(function () {\n if (!domElement || props.inactive) {\n return;\n }\n\n var handleEscape = function handleEscape(e) {\n if (props.disableEscape && (isFullScreen() || isModal())) return;\n\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n // \"Esc\" for IE11\n var openDialogs = document.querySelectorAll(openDialogsSelector);\n\n if (openDialogs[openDialogs.length - 1] === domElement) {\n hideDialog();\n unsubscribe(\"keydown\", handleEscape);\n }\n }\n };\n\n subscribe(\"keydown\", handleEscape);\n return function () {\n unsubscribe(\"keydown\", handleEscape);\n };\n }, [domElement, props.inactive]); // Show / hide logic\n\n useEffect(function () {\n if (!domElement || isTransitioning) {\n return;\n }\n\n if (props.hide) {\n if (isVisible) {\n hideDialog();\n }\n } else if (props.show) {\n if (!isVisible) {\n showDialog();\n }\n }\n }, [domElement, isTransitioning, isVisible, props.hide, props.show]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"style\"]\n }), // style set in content, and set by show/hide transition\n getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.ref && props.ref(dom));\n }), _defineProperty({\n className: [props.parentClassName || classes.component, props.fromMultipleClassName, props.fullScreen ? classes.fullScreen : null, props.modal ? classes.modal : null, props.backdrop ? classes.showBackdrop : null, // classes.visible is set in showDialog though transition\n props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \"),\n \"data-spawn-id\": props.spawnId,\n // received from Multi\n \"data-instance-id\": props.instanceId\n }, a.onclick, function (e) {\n if (e.target !== domElement && e.target !== backdropElRef.current && e.target !== touchElRef.current) {\n return;\n }\n\n if (isModal()) {\n // not allowed\n return;\n }\n\n hideDialog();\n }));\n\n var pane = props.panesOptions && props.panesOptions.length ? h(Pane, props.panesOptions[0]) : props.panes && props.panes.length ? props.panes[0] : createPane({\n h: h,\n Pane: Pane,\n props: props\n });\n var shadowDepth = props.shadowDepth;\n var content = [h(\"div\", {\n className: classes.backdrop\n }), h(\"div\", {\n className: classes.touch\n }), h(\"div\", {\n className: [classes.content, props.menu ? classes.menuContent : null].join(\" \")\n }, [props.fullScreen ? null : h(Shadow, {\n shadowDepth: shadowDepth !== undefined ? shadowDepth : DEFAULT_SHADOW_DEPTH,\n animated: true\n }), props.before, pane, props.after])];\n return h(\"div\", componentProps, content);\n};\n\nexport { _Dialog, openDialogsSelector };\n","import { unpackAttrs, subscribe, unsubscribe, filterSupportedAttributes } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-dialog-pane\",\n // elements\n actions: \"pe-dialog-pane__actions\",\n body: \"pe-dialog-pane__body\",\n content: \"pe-dialog-pane__content\",\n footer: \"pe-dialog-pane__footer\",\n header: \"pe-dialog-pane__header\",\n title: \"pe-dialog-pane__title\",\n // states\n withHeader: \"pe-dialog-pane--header\",\n withFooter: \"pe-dialog-pane--footer\",\n headerWithTitle: \"pe-dialog-pane__header--title\",\n footerWithButtons: \"pe-dialog-pane__footer--buttons\",\n footerHigh: \"pe-dialog-pane__footer--high\",\n borderBottom: \"pe-dialog-pane--border-bottom\",\n borderTop: \"pe-dialog-pane--border-top\",\n fullBleed: \"pe-dialog-pane--body-full-bleed\"\n};\n\nvar buttonClasses = {\n component: \"pe-text-button\",\n \"super\": \"pe-button\",\n row: \"pe-button-row\",\n // elements \n content: \"pe-button__content\",\n label: \"pe-button__label\",\n textLabel: \"pe-button__text-label\",\n wash: \"pe-button__wash\",\n washColor: \"pe-button__wash-color\",\n dropdown: \"pe-button__dropdown\",\n // states \n border: \"pe-button--border\",\n contained: \"pe-button--contained\",\n disabled: \"pe-button--disabled\",\n dropdownClosed: \"pe-button--dropdown-closed\",\n dropdownOpen: \"pe-button--dropdown-open\",\n extraWide: \"pe-button--extra-wide\",\n hasDropdown: \"pe-button--dropdown\",\n highLabel: \"pe-button--high-label\",\n inactive: \"pe-button--inactive\",\n raised: \"pe-button--raised\",\n selected: \"pe-button--selected\",\n separatorAtStart: \"pe-button--separator-start\",\n hasHover: \"pe-button--has-hover\"\n};\n\nvar SCROLL_WATCH_END_TIMER = 50;\nvar _DialogPane = function _DialogPane(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n getRef = _ref.getRef,\n unpackedProps = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"useRef\", \"getRef\"]);\n\n var props = unpackAttrs(unpackedProps);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isScrolling = _useState4[0],\n setIsScrolling = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n hasTopOverflow = _useState6[0],\n setHasTopOverflow = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n hasBottomOverflow = _useState8[0],\n setHasBottomOverflow = _useState8[1];\n\n var headerElRef = useRef();\n var footerElRef = useRef();\n var scrollElRef = useRef();\n var scrollWatchIdRef = useRef();\n\n var updateScrollOverflowState = function updateScrollOverflowState() {\n var scroller = scrollElRef.current;\n\n if (!scroller) {\n return;\n }\n\n setHasTopOverflow(scroller.scrollTop > 0);\n setHasBottomOverflow(scroller.scrollHeight - (scroller.scrollTop + scroller.getBoundingClientRect().height) > 0);\n };\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n headerElRef.current = domElement.querySelector(\".\".concat(classes.header));\n footerElRef.current = domElement.querySelector(\".\".concat(classes.footer));\n scrollElRef.current = domElement.querySelector(\".\".concat(classes.body));\n }, [domElement]);\n useEffect(function () {\n if (!scrollElRef.current) {\n return;\n }\n\n var update = function update() {\n updateScrollOverflowState();\n };\n\n subscribe(\"resize\", update);\n return function () {\n unsubscribe(\"resize\", update);\n };\n }, [scrollElRef.current]);\n useEffect(function () {\n updateScrollOverflowState();\n }, [scrollElRef.current, isScrolling]);\n var withHeader = props.header !== undefined || props.title !== undefined;\n var withFooter = props.footer !== undefined || props.footerButtons !== undefined;\n var borders = props.borders || \"overflow\";\n var showTopBorder = borders === \"always\" || withHeader && borders === \"overflow\" && hasTopOverflow;\n var showBottomBorder = borders === \"always\" || withFooter && borders === \"overflow\" && hasBottomOverflow;\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"style\"]\n }), // style set in content, and set by show/hide transition\n props.testId && {\n \"data-test-id\": props.testId\n }, getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.ref && props.ref(dom));\n }), {\n className: [classes.component, props.fullBleed ? classes.fullBleed : null, showTopBorder ? classes.borderTop : null, showBottomBorder ? classes.borderBottom : null, withHeader ? classes.withHeader : null, withFooter ? classes.withFooter : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.formOptions);\n\n var componentContent = h(\"div\", {\n className: [classes.content, props.menu ? classes.menuContent : null].join(\" \"),\n style: props.style\n }, [props.header ? props.header : props.title ? h(\"div\", {\n className: [classes.header, classes.headerWithTitle].join(\" \")\n }, h(\"div\", {\n className: classes.title\n }, props.title)) : null, h(\"div\", _defineProperty({\n className: classes.body\n }, a.onscroll, function () {\n setIsScrolling(true);\n clearTimeout(scrollWatchIdRef.current);\n scrollWatchIdRef.current = setTimeout(function () {\n setIsScrolling(false);\n }, SCROLL_WATCH_END_TIMER);\n }), props.content || props.body || props.menu), props.footer ? h(\"div\", {\n className: classes.footer\n }, props.footer) : props.footerButtons ? h(\"div\", {\n className: [classes.footer, classes.footerWithButtons, buttonClasses.row].join(\" \")\n }, h(\"div\", {\n className: classes.actions\n }, props.footerButtons)) : null]);\n var content = [props.before, componentContent, props.after];\n return h(props.element || \"form\", componentProps, content);\n};\n\nexport { _DialogPane };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _DialogPane } from 'polythene-core-dialog-pane';\nimport { cast, h, a, useState, useEffect, useRef, getRef } from 'cyano-mithril';\n\nvar DialogPane = cast(_DialogPane, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef\n});\nDialogPane[\"displayName\"] = \"DialogPane\";\n\nexport { DialogPane };\n","import { cast, h, a, useState, useEffect, useRef, getRef, useReducer } from 'cyano-mithril';\nimport { Multi } from 'polythene-core';\nimport { _Dialog, openDialogsSelector } from 'polythene-core-dialog';\nimport { DialogPane } from 'polythene-mithril-dialog-pane';\nimport { Shadow } from 'polythene-mithril-shadow';\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar menuClasses = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar classes = {\n component: \"pe-dialog\",\n // elements\n placeholder: \"pe-dialog__placeholder\",\n holder: \"pe-dialog__holder\",\n content: \"pe-dialog__content\",\n backdrop: \"pe-dialog__backdrop\",\n touch: \"pe-dialog__touch\",\n // states\n fullScreen: \"pe-dialog--full-screen\",\n modal: \"pe-dialog--modal\",\n open: \"pe-dialog--open\",\n // class set to html element\n visible: \"pe-dialog--visible\",\n // class set to dialog element\n showBackdrop: \"pe-dialog--backdrop\",\n transition: \"pe-dialog--transition\",\n // lookup\n menuContent: menuClasses.content\n};\n\nvar DialogInstance = cast(_Dialog, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef,\n useReducer: useReducer,\n Shadow: Shadow,\n Pane: DialogPane,\n openDialogsSelector: openDialogsSelector\n});\nDialogInstance[\"displayName\"] = \"DialogInstance\";\nvar options = {\n name: \"dialog\",\n htmlShowClass: classes.open,\n defaultId: \"default_dialog\",\n holderSelector: \"div.\".concat(classes.holder),\n instance: DialogInstance,\n placeholder: \"span.\".concat(classes.placeholder)\n};\nvar MultipleInstance = Multi({\n options: options\n});\nvar Dialog = cast(MultipleInstance.render, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nObject.getOwnPropertyNames(MultipleInstance).filter(function (p) {\n return p !== \"render\";\n}).forEach(function (p) {\n return Dialog[p] = MultipleInstance[p];\n});\nDialog[\"displayName\"] = \"Dialog\";\n\nexport { Dialog, DialogInstance };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar menuClasses = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar dialogClasses = {\n component: \"pe-dialog\",\n // elements\n placeholder: \"pe-dialog__placeholder\",\n holder: \"pe-dialog__holder\",\n content: \"pe-dialog__content\",\n backdrop: \"pe-dialog__backdrop\",\n touch: \"pe-dialog__touch\",\n // states\n fullScreen: \"pe-dialog--full-screen\",\n modal: \"pe-dialog--modal\",\n open: \"pe-dialog--open\",\n // class set to html element\n visible: \"pe-dialog--visible\",\n // class set to dialog element\n showBackdrop: \"pe-dialog--backdrop\",\n transition: \"pe-dialog--transition\",\n // lookup\n menuContent: menuClasses.content\n};\n\nvar classes = {\n component: \"pe-dialog pe-drawer\",\n // states\n cover: \"pe-drawer--cover\",\n push: \"pe-drawer--push\",\n mini: \"pe-drawer--mini\",\n permanent: \"pe-drawer--permanent\",\n border: \"pe-drawer--border\",\n floating: \"pe-drawer--floating\",\n fixed: \"pe-drawer--fixed\",\n anchorEnd: \"pe-drawer--anchor-end\",\n visible: dialogClasses.visible\n};\n\nvar openDialogsSelector = \".\".concat(classes.component, \".\").concat(classes.visible, \":not(.\").concat(classes.permanent, \"),.\").concat(classes.component, \".\").concat(classes.visible, \".\").concat(classes.mini, \",.\").concat(classes.component, \".\").concat(classes.cover, \",.\").concat(classes.component, \".\").concat(classes.permanent, \".\").concat(classes.visible).replace(/ /g, \".\");\nvar _Drawer = function _Drawer(_ref) {\n var h = _ref.h,\n Dialog = _ref.Dialog,\n props = _objectWithoutProperties(_ref, [\"h\", \"Dialog\"]);\n\n var isCover = !(props.push || props.permanent || props.mini);\n\n var componentProps = _extends({}, props, {\n fullBleed: true,\n className: null,\n parentClassName: [props.className, classes.component, isCover ? classes.cover : null, props.push ? classes.push : null, props.permanent ? classes.permanent : null, props.border ? classes.border : null, props.mini ? classes.mini : null, props.floating ? classes.floating : null, props.fixed ? classes.fixed : null, props.anchor === \"end\" ? classes.anchorEnd : null].join(\" \"),\n inactive: props.permanent && !props.mini,\n shadowDepth: props.shadowDepth !== undefined ? props.shadowDepth : 0\n });\n\n return h(Dialog, componentProps, props.children);\n};\n\nexport { _Drawer, openDialogsSelector };\n","import { _Conditional } from 'polythene-core';\nimport { cast, h, useState, useEffect } from 'cyano-mithril';\nimport { _Drawer, openDialogsSelector } from 'polythene-core-drawer';\nimport { DialogInstance } from 'polythene-mithril-dialog';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar menuClasses = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar dialogClasses = {\n component: \"pe-dialog\",\n // elements\n placeholder: \"pe-dialog__placeholder\",\n holder: \"pe-dialog__holder\",\n content: \"pe-dialog__content\",\n backdrop: \"pe-dialog__backdrop\",\n touch: \"pe-dialog__touch\",\n // states\n fullScreen: \"pe-dialog--full-screen\",\n modal: \"pe-dialog--modal\",\n open: \"pe-dialog--open\",\n // class set to html element\n visible: \"pe-dialog--visible\",\n // class set to dialog element\n showBackdrop: \"pe-dialog--backdrop\",\n transition: \"pe-dialog--transition\",\n // lookup\n menuContent: menuClasses.content\n};\n\nvar classes = {\n component: \"pe-dialog pe-drawer\",\n // states\n cover: \"pe-drawer--cover\",\n push: \"pe-drawer--push\",\n mini: \"pe-drawer--mini\",\n permanent: \"pe-drawer--permanent\",\n border: \"pe-drawer--border\",\n floating: \"pe-drawer--floating\",\n fixed: \"pe-drawer--fixed\",\n anchorEnd: \"pe-drawer--anchor-end\",\n visible: dialogClasses.visible\n};\n\nvar DrawerInstance = cast(_Drawer, {\n h: h,\n Dialog: DialogInstance,\n openDialogsSelector: openDialogsSelector\n});\nDrawerInstance[\"displayName\"] = \"DrawerInstance\";\nvar DrawerToggle = cast(_Conditional, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nDrawerToggle[\"displayName\"] = \"DrawerToggle\";\nvar Drawer = {\n view: function view(vnode) {\n return h(DrawerToggle, _objectSpread2({}, vnode.attrs, {\n placeholderClassName: classes.placeholder,\n instance: DrawerInstance,\n permanent: vnode.attrs.permanent || vnode.attrs.mini // passed to Conditional\n\n }));\n }\n};\nDrawer[\"displayName\"] = \"Drawer\";\n\nexport { Drawer };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-fab\",\n // elements\n content: \"pe-fab__content\",\n // states\n mini: \"pe-fab--mini\"\n};\n\nvar _FAB = function _FAB(_ref) {\n var h = _ref.h,\n a = _ref.a,\n Button = _ref.Button,\n Icon = _ref.Icon,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"Button\", \"Icon\"]);\n\n var content = props.content ? props.content : props.icon ? h(Icon, props.icon) : props.children;\n\n var componentProps = _extends({}, props, {\n content: h(\"div\", {\n className: classes.content\n }, content),\n parentClassName: [classes.component, props.mini ? classes.mini : null, props.className || props[a[\"class\"]]].join(\" \"),\n className: null,\n // defaults\n ripple: {\n center: true,\n opacityDecayVelocity: 0.24\n },\n shadow: {\n increase: 5\n },\n ink: true,\n wash: true,\n raised: true,\n animateOnTap: props.animateOnTap !== undefined ? props.animateOnTap : true\n });\n\n return h(Button, componentProps, content);\n};\n\nexport { _FAB };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _FAB } from 'polythene-core-fab';\nimport { Icon } from 'polythene-mithril-icon';\nimport { Button } from 'polythene-mithril-button';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar FAB = cast(_FAB, {\n h: h,\n a: a,\n Button: Button,\n Icon: Icon\n});\nFAB[\"displayName\"] = \"FAB\";\n\nexport { FAB };\n","import { transitionStateReducer, transitionComponent, filterSupportedAttributes, classForSize } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-spinner\",\n // elements\n animation: \"pe-spinner__animation\",\n placeholder: \"pe-spinner__placeholder\",\n // states\n animated: \"pe-spinner--animated\",\n fab: \"pe-spinner--fab\",\n large: \"pe-spinner--large\",\n medium: \"pe-spinner--medium\",\n permanent: \"pe-spinner--permanent\",\n raised: \"pe-spinner--raised\",\n regular: \"pe-spinner--regular\",\n singleColor: \"pe-spinner--single-color\",\n small: \"pe-spinner--small\",\n visible: \"pe-spinner--visible\"\n};\n\nvar showSpinner = function showSpinner(opts) {\n return transitionComponent(_objectSpread2({}, opts, {\n isShow: true\n }));\n}; // const hideSpinner = opts =>\n// transitionComponent({\n// ...opts,\n// isShow: false\n// });\n\n\nvar initialTransitionState = {\n isVisible: false,\n isTransitioning: false,\n isHiding: false\n};\nvar _BaseSpinner = function _BaseSpinner(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useReducer = _ref.useReducer,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n getRef = _ref.getRef,\n Shadow = _ref.Shadow,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useReducer\", \"useState\", \"useEffect\", \"getRef\", \"Shadow\"]);\n\n var _useReducer = useReducer(transitionStateReducer, initialTransitionState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n transitionState = _useReducer2[0],\n dispatchTransitionState = _useReducer2[1];\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var isVisible = (transitionState || initialTransitionState).isVisible;\n var transitionOptions = {\n dispatchTransitionState: dispatchTransitionState,\n props: props,\n domElements: {\n el: domElement\n },\n showClass: classes.visible\n };\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n if (!props.permanent) {\n showSpinner(transitionOptions);\n }\n }, [domElement]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.ref && props.ref(dom));\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.instanceClass, classForSize(classes, props.size), props.singleColor ? classes.singleColor : null, props.raised ? classes.raised : null, props.animated ? classes.animated : null, props.permanent ? classes.permanent : null, isVisible ? classes.visible : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var content = [props.before, props.content, props.after];\n\n if (props.raised && content.length > 0) {\n content.push(h(Shadow, {\n shadowDepth: props.shadowDepth\n }));\n }\n\n return h(\"div\", componentProps, content);\n};\n\nexport { _BaseSpinner };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _BaseSpinner } from 'polythene-core-base-spinner';\nimport { Shadow } from 'polythene-mithril-shadow';\nimport { cast, h, a, useReducer, useState, useEffect, getRef } from 'cyano-mithril';\n\nvar classes = {\n component: \"pe-spinner\",\n // elements\n animation: \"pe-spinner__animation\",\n placeholder: \"pe-spinner__placeholder\",\n // states\n animated: \"pe-spinner--animated\",\n fab: \"pe-spinner--fab\",\n large: \"pe-spinner--large\",\n medium: \"pe-spinner--medium\",\n permanent: \"pe-spinner--permanent\",\n raised: \"pe-spinner--raised\",\n regular: \"pe-spinner--regular\",\n singleColor: \"pe-spinner--single-color\",\n small: \"pe-spinner--small\",\n visible: \"pe-spinner--visible\"\n};\n\nvar BaseSpinner = cast(_BaseSpinner, {\n h: h,\n a: a,\n useReducer: useReducer,\n useState: useState,\n useEffect: useEffect,\n getRef: getRef,\n Shadow: Shadow\n});\nBaseSpinner[\"displayName\"] = \"BaseSpinner\";\nBaseSpinner[\"classes\"] = classes;\n\nexport { BaseSpinner };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-ios-spinner\",\n // elements\n blades: \"pe-ios-spinner__blades\",\n blade: \"pe-ios-spinner__blade\"\n};\n\nvar blade = function blade(num, h) {\n return h(\"div\", {\n // key: `blade-${num}`,\n className: classes.blade\n });\n};\n\nvar _Spinner = function _Spinner(_ref) {\n var h = _ref.h,\n BaseSpinner = _ref.BaseSpinner,\n props = _objectWithoutProperties(_ref, [\"h\", \"BaseSpinner\"]);\n\n var content = props.content || h(\"div\", {\n // key: \"content\",\n className: classes.blades\n }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map(function (num) {\n return blade(num, h);\n }));\n\n var componentProps = _extends({}, props, {\n className: [classes.component, props.className].join(\" \"),\n content: content\n });\n\n return h(BaseSpinner, componentProps);\n};\n\nexport { _Spinner };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { BaseSpinner } from 'polythene-mithril-base-spinner';\nimport { _Spinner } from 'polythene-core-ios-spinner';\nimport { cast, h, useState, useEffect } from 'cyano-mithril';\nimport { _Conditional } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-ios-spinner\",\n // elements\n blades: \"pe-ios-spinner__blades\",\n blade: \"pe-ios-spinner__blade\"\n};\n\nvar baseSpinnerClasses = {\n component: \"pe-spinner\",\n // elements\n animation: \"pe-spinner__animation\",\n placeholder: \"pe-spinner__placeholder\",\n // states\n animated: \"pe-spinner--animated\",\n fab: \"pe-spinner--fab\",\n large: \"pe-spinner--large\",\n medium: \"pe-spinner--medium\",\n permanent: \"pe-spinner--permanent\",\n raised: \"pe-spinner--raised\",\n regular: \"pe-spinner--regular\",\n singleColor: \"pe-spinner--single-color\",\n small: \"pe-spinner--small\",\n visible: \"pe-spinner--visible\"\n};\n\nvar Spinner = cast(_Spinner, {\n h: h,\n BaseSpinner: BaseSpinner\n});\nvar SpinnerToggle = cast(_Conditional, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nSpinnerToggle[\"displayName\"] = \"IOSSpinnerToggle\";\nvar IOSSpinner = {\n view: function view(vnode) {\n return h(SpinnerToggle, _objectSpread2({}, vnode.attrs, {\n placeholderClassName: baseSpinnerClasses.placeholder,\n instance: Spinner\n }));\n }\n};\nIOSSpinner[\"classes\"] = classes;\nIOSSpinner[\"displayName\"] = \"IOSSpinner\";\n\nexport { IOSSpinner };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar classes = {\n component: \"pe-list\",\n // states\n border: \"pe-list--border\",\n compact: \"pe-list--compact\",\n hasHeader: \"pe-list--header\",\n indentedBorder: \"pe-list--indented-border\",\n padding: \"pe-list--padding\",\n paddingTop: \"pe-list--padding-top\",\n paddingBottom: \"pe-list--padding-bottom\",\n // lookup\n header: listTileClasses.header\n};\n\nvar paddingClasses = {\n both: classes.padding,\n bottom: classes.paddingBottom,\n top: classes.paddingTop,\n none: null\n};\n\nvar paddingClass = function paddingClass() {\n var attr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"both\";\n return paddingClasses[attr];\n};\n\nvar _List = function _List(_ref) {\n var h = _ref.h,\n a = _ref.a,\n ListTile = _ref.ListTile,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"ListTile\"]);\n\n // Remove unused props\n delete props.key;\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.border || props.borders ? classes.border : null, props.indentedBorder || props.indentedBorders ? classes.indentedBorder : null, props.header ? classes.hasHeader : null, props.compact ? classes.compact : null, paddingClass(props.padding), props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var headerOpts;\n\n if (props.header) {\n headerOpts = _extends({}, props.header);\n headerOpts[a[\"class\"]] = [classes.header, headerOpts[a[\"class\"]] || null].join(\" \");\n }\n\n var tiles = props.tiles ? props.tiles : props.content ? props.content : props.children;\n var componentContent = [headerOpts ? h(ListTile, _objectSpread2({}, props.all, {}, headerOpts, {\n header: true\n })) : undefined].concat(_toConsumableArray(props.all ? tiles.map(function (tileOpts) {\n return h(ListTile, _objectSpread2({}, props.all, {}, tileOpts));\n }) : tiles));\n var content = [props.before].concat(_toConsumableArray(componentContent), [props.after]);\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _List };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _List } from 'polythene-core-list';\nimport { ListTile } from 'polythene-mithril-list-tile';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar List = cast(_List, {\n h: h,\n a: a,\n ListTile: ListTile\n});\nList[\"displayName\"] = \"List\";\n\nexport { List };\n","import { isServer, emit, isClient } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar addWebFont = function addWebFont(vendor, config) {\n if (isServer) return;\n\n if (!window[\"WebFontConfig\"]) {\n /**\n * @param {object} params\n * @param {string} [params.name]\n * @param {string} [params.familyName]\n * @param {any} [params.fvd]\n */\n var emitEvent = function emitEvent(_ref) {\n var name = _ref.name,\n familyName = _ref.familyName,\n fvd = _ref.fvd;\n return emit(\"webfontloader\", {\n name: name,\n familyName: familyName,\n fvd: fvd,\n vendor: vendor,\n config: config\n });\n };\n\n window[\"WebFontConfig\"] = {\n loading: function loading() {\n return emitEvent({\n name: \"loading\"\n });\n },\n active: function active() {\n return emitEvent({\n name: \"active\"\n });\n },\n inactive: function inactive() {\n return emitEvent({\n name: \"inactive\"\n });\n },\n fontloading: function fontloading(familyName, fvd) {\n return emitEvent({\n name: \"fontloading\",\n familyName: familyName,\n fvd: fvd\n });\n },\n fontactive: function fontactive(familyName, fvd) {\n return emitEvent({\n name: \"fontactive\",\n familyName: familyName,\n fvd: fvd\n });\n },\n fontinactive: function fontinactive(familyName, fvd) {\n return emitEvent({\n name: \"fontinactive\",\n familyName: familyName,\n fvd: fvd\n });\n }\n };\n\n (function () {\n var wf = document.createElement(\"script\");\n wf.src = (document.location.protocol === \"https:\" ? \"https\" : \"http\") + \"://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js\";\n wf.type = \"text/javascript\";\n wf.async = true;\n var s = document.getElementsByTagName(\"script\")[0];\n\n if (s && s.parentNode) {\n s.parentNode.insertBefore(wf, s);\n }\n })();\n }\n\n var vendorCfg = window[\"WebFontConfig\"][vendor] || {};\n\n if (config) {\n _extends(vendorCfg, config);\n }\n\n window[\"WebFontConfig\"][vendor] = vendorCfg;\n};\n\n/*\nhttps://gist.github.com/gre/1650294\nEasing Functions - inspired from http://gizma.com/easing/\nOnly considering the t value for the range [0, 1] => [0, 1]\n*/\nvar easing = {\n // no easing, no acceleration\n linear: function linear(t) {\n return t;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(t) {\n return t * t;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(t) {\n return t * (2 - t);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(t) {\n return t < .5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n },\n // accelerating from zero velocity\n easeInCubic: function easeInCubic(t) {\n return t * t * t;\n },\n // decelerating to zero velocity\n easeOutCubic: function easeOutCubic(t) {\n return --t * t * t + 1;\n },\n // acceleration until halfway, then deceleration\n easeInOutCubic: function easeInOutCubic(t) {\n return t < .5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;\n },\n // accelerating from zero velocity\n easeInQuart: function easeInQuart(t) {\n return t * t * t * t;\n },\n // decelerating to zero velocity\n easeOutQuart: function easeOutQuart(t) {\n return 1 - --t * t * t * t;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(t) {\n return t < .5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(t) {\n return t * t * t * t * t;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(t) {\n return 1 + --t * t * t * t * t;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuint: function easeInOutQuint(t) {\n return t < .5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t;\n }\n};\n\n/*\n Animated scroll to a position.\n Derived from https://github.com/madebysource/animated-scrollto\n Adapted to Mithril and rewritten to es6.\n*/\nvar scrollTo = function scrollTo(opts) {\n if (isServer) {\n return;\n }\n\n var element = opts.element;\n var which = opts.direction === \"horizontal\" ? \"scrollLeft\" : \"scrollTop\";\n var to = opts.to;\n var duration = opts.duration * 1000;\n var easingFn = opts.easing || easing.easeInOutCubic;\n var start = element[which];\n var change = to - start;\n var animationStart = new Date().getTime();\n var animating = true;\n return new Promise(function (resolve) {\n var animateScroll = function animateScroll() {\n if (!animating) {\n return;\n }\n\n requestAnimFrame(animateScroll);\n var now = new Date().getTime();\n var percentage = (now - animationStart) / duration;\n var val = start + change * easingFn(percentage);\n element[which] = val;\n\n if (percentage >= 1) {\n element[which] = to;\n animating = false;\n resolve();\n }\n };\n\n requestAnimFrame(animateScroll);\n });\n};\nvar requestAnimFrame = isServer ? function () {} : function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window[\"mozRequestAnimationFrame\"] || function (callback) {\n return window.setTimeout(callback, 1000 / 60);\n };\n}();\n\n// @ts-check\nvar Timer = function Timer() {\n /** @type {number} */\n var timerId;\n /** @type {number} */\n\n var startTime;\n /** @type {number} */\n\n var remaining;\n /** @type {() => any} */\n\n var cb;\n\n var stop = function stop() {\n if (isClient) {\n window.clearTimeout(timerId);\n }\n };\n\n var pause = function pause() {\n return stop(), remaining -= new Date().getTime() - startTime;\n };\n\n var startTimer = function startTimer() {\n if (isClient) {\n stop();\n startTime = new Date().getTime();\n timerId = window.setTimeout(cb, remaining);\n }\n };\n\n var start = function start(callback, duration) {\n return cb = callback, remaining = duration * 1000, startTimer();\n };\n\n var resume = function resume() {\n return startTimer();\n };\n\n return {\n start: start,\n pause: pause,\n resume: resume,\n stop: stop\n };\n};\n\nexport { Timer, addWebFont, easing, scrollTo };\n","import { getStyle, unpackAttrs, styleDurationToMs } from 'polythene-core';\nimport { easing } from 'polythene-utilities';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-md-progress-spinner\",\n // elements\n animation: \"pe-md-progress-spinner__animation\",\n circle: \"pe-md-progress-spinner__circle\",\n circleRight: \"pe-md-progress-spinner__circle-right\",\n circleLeft: \"pe-md-progress-spinner__circle-left\"\n};\n\nvar percentageValue = function percentageValue(min, max) {\n var percentage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return min + (max - min) * percentage;\n};\n\nvar rotateCircle = function rotateCircle(domElement, min, max, percentage) {\n var style = domElement.style;\n style[\"transform\"] = style[\"-webkit-transform\"] = style[\"-moz-transform\"] = style[\"-ms-transform\"] = style[\"-o-transform\"] = \"rotate(\" + percentageValue(min, max, percentage) + \"deg)\";\n};\n\nvar animate = function animate(stateEl, size, percentage) {\n var animationEl = stateEl.querySelector(\".\" + classes.animation);\n var animationElStyle = animationEl.style;\n\n if (percentage < 0.5) {\n animationElStyle.clip = \"rect(0px, \" + size + \"px, \" + size + \"px, \" + size / 2 + \"px)\";\n } else {\n animationElStyle.clip = \"rect(auto, auto, auto, auto)\";\n }\n\n var leftCircle = stateEl.querySelector(\".\" + classes.circleLeft);\n var rightCircle = stateEl.querySelector(\".\" + classes.circleRight);\n leftCircle.style.clip = rightCircle.style.clip = \"rect(0px, \" + size / 2 + \"px, \" + size + \"px, \" + \"0px)\";\n rotateCircle(rightCircle, 0, 180, Math.min(1, percentage * 2));\n rotateCircle(leftCircle, 0, 360, percentage);\n};\n\nvar updateWithPercentage = function updateWithPercentage(_ref) {\n var domElement = _ref.domElement,\n isAnimating = _ref.isAnimating,\n setIsAnimating = _ref.setIsAnimating,\n percentage = _ref.percentage,\n setPercentage = _ref.setPercentage,\n size = _ref.size,\n props = _ref.props;\n\n if (!domElement || isAnimating || size === undefined || props.percentage === undefined) {\n return;\n }\n\n var currentPercentage = unpackAttrs(props.percentage);\n var previousPercentage = percentage;\n\n if (previousPercentage !== currentPercentage) {\n var easingFn = props.animated ? easing.easeInOutQuad : function (v) {\n return v;\n };\n\n if (props.animated) {\n var animationDuration = props.updateDuration !== undefined ? props.updateDuration * 1000 : styleDurationToMs(getStyle({\n element: domElement.querySelector(\".\".concat(classes.animation)),\n prop: \"animation-duration\"\n }));\n var start = null;\n\n var step = function step(timestamp) {\n if (!start) start = timestamp;\n var progress = timestamp - start;\n var stepPercentage = 1.0 / animationDuration * progress;\n var newPercentage = previousPercentage + stepPercentage * (currentPercentage - previousPercentage);\n animate(domElement, size, easingFn(newPercentage));\n\n if (start && progress < animationDuration) {\n window.requestAnimationFrame(step);\n } else {\n start = null;\n setPercentage(currentPercentage);\n setIsAnimating(false);\n }\n };\n\n setIsAnimating(true);\n window.requestAnimationFrame(step);\n } else {\n animate(domElement, size, easingFn(currentPercentage));\n setPercentage(currentPercentage);\n }\n }\n};\n\nvar getSize = function getSize(element) {\n return Math.round(element ? parseFloat(getStyle({\n element: element,\n prop: \"height\"\n })) - 2 * parseFloat(getStyle({\n element: element,\n prop: \"padding\"\n })) : 0);\n};\n\nvar _Spinner = function _Spinner(_ref2) {\n var h = _ref2.h,\n useState = _ref2.useState,\n useEffect = _ref2.useEffect,\n BaseSpinner = _ref2.BaseSpinner,\n props = _objectWithoutProperties(_ref2, [\"h\", \"useState\", \"useEffect\", \"BaseSpinner\"]);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n percentage = _useState2[0],\n setPercentage = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isAnimating = _useState4[0],\n setIsAnimating = _useState4[1];\n\n var _useState5 = useState(),\n _useState6 = _slicedToArray(_useState5, 2),\n domElement = _useState6[0],\n setDomElement = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n size = _useState8[0],\n setSize = _useState8[1];\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n setSize(getSize(domElement));\n }, [domElement]);\n updateWithPercentage({\n domElement: domElement,\n isAnimating: isAnimating,\n percentage: percentage,\n setPercentage: setPercentage,\n setIsAnimating: setIsAnimating,\n size: size,\n props: props\n });\n var content = props.content || h(\"div\", {\n className: classes.animation,\n style: {\n width: size + \"px\",\n height: size + \"px\"\n }\n }, [h(\"div\", {\n className: [classes.circle, classes.circleLeft].join(\" \")\n }), h(\"div\", {\n className: [classes.circle, classes.circleRight].join(\" \")\n })]);\n\n var componentProps = _extends({}, props, {\n ref: function ref(dom) {\n return dom && !domElement && setDomElement(dom);\n },\n className: [classes.component, props.className].join(\" \"),\n content: content\n });\n\n return h(BaseSpinner, componentProps);\n};\n\nexport { _Spinner };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { BaseSpinner } from 'polythene-mithril-base-spinner';\nimport { _Spinner } from 'polythene-core-material-design-progress-spinner';\nimport { cast, h, useState, useRef, useEffect } from 'cyano-mithril';\nimport { _Conditional } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-md-progress-spinner\",\n // elements\n animation: \"pe-md-progress-spinner__animation\",\n circle: \"pe-md-progress-spinner__circle\",\n circleRight: \"pe-md-progress-spinner__circle-right\",\n circleLeft: \"pe-md-progress-spinner__circle-left\"\n};\n\nvar baseSpinnerClasses = {\n component: \"pe-spinner\",\n // elements\n animation: \"pe-spinner__animation\",\n placeholder: \"pe-spinner__placeholder\",\n // states\n animated: \"pe-spinner--animated\",\n fab: \"pe-spinner--fab\",\n large: \"pe-spinner--large\",\n medium: \"pe-spinner--medium\",\n permanent: \"pe-spinner--permanent\",\n raised: \"pe-spinner--raised\",\n regular: \"pe-spinner--regular\",\n singleColor: \"pe-spinner--single-color\",\n small: \"pe-spinner--small\",\n visible: \"pe-spinner--visible\"\n};\n\nvar Spinner = cast(_Spinner, {\n h: h,\n useState: useState,\n useRef: useRef,\n useEffect: useEffect,\n BaseSpinner: BaseSpinner\n});\nvar SpinnerToggle = cast(_Conditional, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nSpinnerToggle[\"displayName\"] = \"MaterialDesignProgressSpinnerToggle\";\nvar MaterialDesignProgressSpinner = {\n view: function view(vnode) {\n return h(SpinnerToggle, _objectSpread2({}, vnode.attrs, {\n placeholderClassName: baseSpinnerClasses.placeholder,\n instance: Spinner\n }));\n }\n};\nMaterialDesignProgressSpinner[\"classes\"] = classes;\nMaterialDesignProgressSpinner[\"displayName\"] = \"MaterialDesignProgressSpinner\";\n\nexport { MaterialDesignProgressSpinner };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-md-spinner\",\n // elements\n animation: \"pe-md-spinner__animation\",\n circle: \"pe-md-spinner__circle\",\n circleClipper: \"pe-md-spinner__circle-clipper\",\n circleClipperLeft: \"pe-md-spinner__circle-clipper-left\",\n circleClipperRight: \"pe-md-spinner__circle-clipper-right\",\n gapPatch: \"pe-md-spinner__gap-patch\",\n layer: \"pe-md-spinner__layer\",\n layerN: \"pe-md-spinner__layer-\"\n};\n\nvar layer = function layer(num, h) {\n return h(\"div\", {\n key: num,\n className: [classes.layer, classes.layerN + num].join(\" \")\n }, [h(\"div\", {\n // key: \"clipper-left\",\n className: [classes.circleClipper, classes.circleClipperLeft].join(\" \")\n }, h(\"div\", {\n // key: \"circle\",\n className: classes.circle\n })), h(\"div\", {\n // key: \"gap-patch\",\n className: classes.gapPatch\n }, h(\"div\", {\n className: classes.circle\n })), h(\"div\", {\n // key: \"clipper-right\",\n className: [classes.circleClipper, classes.circleClipperRight].join(\" \")\n }, h(\"div\", {\n className: classes.circle\n }))]);\n};\n\nvar _Spinner = function _Spinner(_ref) {\n var h = _ref.h,\n BaseSpinner = _ref.BaseSpinner,\n props = _objectWithoutProperties(_ref, [\"h\", \"BaseSpinner\"]);\n\n var content = props.content || h(\"div\", {\n // key: \"content\",\n className: classes.animation\n }, [1, 2, 3, 4].map(function (num) {\n return layer(num, h);\n }));\n\n var componentProps = _extends({}, props, {\n className: [classes.component, props.className].join(\" \"),\n content: content\n });\n\n return h(BaseSpinner, componentProps);\n};\n\nexport { _Spinner };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { BaseSpinner } from 'polythene-mithril-base-spinner';\nimport { _Spinner } from 'polythene-core-material-design-spinner';\nimport { cast, h, useState, useEffect } from 'cyano-mithril';\nimport { _Conditional } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-md-spinner\",\n // elements\n animation: \"pe-md-spinner__animation\",\n circle: \"pe-md-spinner__circle\",\n circleClipper: \"pe-md-spinner__circle-clipper\",\n circleClipperLeft: \"pe-md-spinner__circle-clipper-left\",\n circleClipperRight: \"pe-md-spinner__circle-clipper-right\",\n gapPatch: \"pe-md-spinner__gap-patch\",\n layer: \"pe-md-spinner__layer\",\n layerN: \"pe-md-spinner__layer-\"\n};\n\nvar baseSpinnerClasses = {\n component: \"pe-spinner\",\n // elements\n animation: \"pe-spinner__animation\",\n placeholder: \"pe-spinner__placeholder\",\n // states\n animated: \"pe-spinner--animated\",\n fab: \"pe-spinner--fab\",\n large: \"pe-spinner--large\",\n medium: \"pe-spinner--medium\",\n permanent: \"pe-spinner--permanent\",\n raised: \"pe-spinner--raised\",\n regular: \"pe-spinner--regular\",\n singleColor: \"pe-spinner--single-color\",\n small: \"pe-spinner--small\",\n visible: \"pe-spinner--visible\"\n};\n\nvar Spinner = cast(_Spinner, {\n h: h,\n BaseSpinner: BaseSpinner\n});\nvar SpinnerToggle = cast(_Conditional, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nSpinnerToggle[\"displayName\"] = \"MaterialDesignSpinnerToggle\";\nvar MaterialDesignSpinner = {\n view: function view(vnode) {\n return h(SpinnerToggle, _objectSpread2({}, vnode.attrs, {\n placeholderClassName: baseSpinnerClasses.placeholder,\n instance: Spinner\n }));\n }\n};\nMaterialDesignSpinner[\"classes\"] = classes;\nMaterialDesignSpinner[\"displayName\"] = \"MaterialDesignSpinner\";\n\nexport { MaterialDesignSpinner };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { transitionStateReducer, initialTransitionState, subscribe, transitionComponent, unsubscribe, filterSupportedAttributes, isServer, stylePropCompare, pointerEndDownEvent } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar classes = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar DEFAULT_OFFSET_H = 0;\nvar DEFAULT_OFFSET_V = \"79%\";\nvar DEFAULT_TYPE = \"floating\";\nvar MIN_WIDTH = 1.5;\nvar DEFAULT_SHADOW_DEPTH = 1;\n\nvar unifyWidth = function unifyWidth(width) {\n return width < MIN_WIDTH ? MIN_WIDTH : width;\n};\n\nvar widthClass = function widthClass(size) {\n return classes.width_n + size.toString().replace(\".\", \"-\");\n};\n\nvar _Menu = function _Menu(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useReducer = _ref.useReducer,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n getRef = _ref.getRef,\n Shadow = _ref.Shadow,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useReducer\", \"useState\", \"useEffect\", \"useRef\", \"getRef\", \"Shadow\"]);\n\n var _useReducer = useReducer(transitionStateReducer, initialTransitionState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n dispatchTransitionState = _useReducer2[1];\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(!!props.permanent),\n _useState4 = _slicedToArray(_useState3, 2),\n setIsVisible = _useState4[1];\n\n var panelElRef = useRef();\n var contentElRef = useRef();\n\n var update = function update() {\n positionMenu();\n scrollContent();\n };\n\n var transitionOptions = function transitionOptions(_ref2) {\n var isShow = _ref2.isShow,\n _ref2$hideDelay = _ref2.hideDelay,\n hideDelay = _ref2$hideDelay === void 0 ? props.hideDelay : _ref2$hideDelay;\n return {\n dispatchTransitionState: dispatchTransitionState,\n setIsVisible: setIsVisible,\n props: _extends({}, props, {\n hideDelay: hideDelay\n }),\n isShow: isShow,\n beforeTransition: isShow ? function () {\n return update();\n } : null,\n domElements: {\n el: panelElRef.current,\n showClassElement: domElement\n },\n showClass: classes.visible\n };\n };\n\n var isTopMenu = function isTopMenu() {\n return props.topMenu || stylePropCompare({\n element: domElement,\n pseudoSelector: \":before\",\n prop: \"content\",\n contains: \"\\\"\".concat(\"top_menu\", \"\\\"\")\n });\n };\n\n var positionMenu = function positionMenu() {\n if (isServer) {\n return;\n }\n\n if (!props.target) {\n return;\n }\n\n var panelEl = panelElRef.current;\n var contentEl = contentElRef.current;\n var targetEl = document.querySelector(props.target);\n\n if (!targetEl) {\n return;\n }\n\n if (!panelEl) {\n return;\n } // Don't set the position or top offset if the menu position is fixed\n\n\n var hasStylePositionFixed = stylePropCompare({\n element: panelEl,\n prop: \"position\",\n equals: \"fixed\"\n });\n\n if (hasStylePositionFixed && !isTopMenu()) {\n _extends(panelEl.style, {});\n\n panelEl.offsetHeight; // force reflow\n\n return;\n }\n\n var parentRect = panelEl.parentNode.getBoundingClientRect();\n var targetRect = targetEl.getBoundingClientRect();\n var attrsOffsetH = props.offsetH !== undefined ? props.offsetH : props.offset !== undefined ? props.offset // deprecated\n : DEFAULT_OFFSET_H;\n var attrsOffsetV = props.offsetV !== undefined ? props.offsetV : DEFAULT_OFFSET_V;\n var offsetH = attrsOffsetH.toString().indexOf(\"%\") !== -1 ? Math.round(parseFloat(attrsOffsetH) * 0.01 * targetRect.width) : Math.round(parseFloat(attrsOffsetH));\n var offsetV = attrsOffsetV.toString().indexOf(\"%\") !== -1 ? Math.round(parseFloat(attrsOffsetV) * 0.01 * targetRect.height) : Math.round(parseFloat(attrsOffsetV));\n var positionOffsetV = offsetV;\n var attrsOrigin = props.origin || \"top\";\n var origin = attrsOrigin.split(/\\W+/).reduce(function (acc, curr) {\n return acc[curr] = true, acc;\n }, {});\n var firstItem = contentEl.querySelectorAll(\".\" + classes.listTile)[0];\n\n if (props.reposition) {\n // get the first List Tile to calculate the top position \n var selectedItem = contentEl.querySelector(\".\" + classes.selectedListTile);\n\n if (firstItem && selectedItem) {\n // calculate v position: menu should shift upward relative to the first item\n var firstItemRect = firstItem.getBoundingClientRect();\n var selectedItemRect = selectedItem.getBoundingClientRect();\n positionOffsetV = firstItemRect.top - selectedItemRect.top;\n } // align to middle of target\n\n\n var alignEl = selectedItem || firstItem;\n var alignRect = alignEl.getBoundingClientRect();\n\n var _targetRect = targetEl.getBoundingClientRect();\n\n var heightDiff = _targetRect.height - alignRect.height;\n positionOffsetV += Math.abs(heightDiff) / 2;\n } else if (props.origin && !hasStylePositionFixed) {\n if (origin.top) {\n positionOffsetV += targetRect.top - parentRect.top;\n } else if (origin.bottom) {\n positionOffsetV += targetRect.top - parentRect.bottom;\n }\n }\n\n if (props.height) {\n var firstItemHeight = firstItem ? firstItem.clientHeight : 48; // default List Tile height\n\n if (props.height === \"max\") {\n var topMargin = positionOffsetV;\n var bottomMargin = firstItemHeight;\n panelEl.style.height = \"calc(100% - \".concat(topMargin + bottomMargin, \"px)\");\n } else {\n var height = /^\\d+$/.test(props.height.toString()) ? \"\".concat(props.height, \"px\") : props.height;\n panelEl.style.height = height;\n }\n } // prevent animated changes\n\n\n var transitionDuration = panelEl.style.transitionDuration;\n panelEl.style.transitionDuration = \"0ms\";\n\n if (panelEl.parentNode && !hasStylePositionFixed) {\n if (origin.right) {\n panelEl.style.right = targetRect.right - parentRect.right + offsetH + \"px\";\n } else {\n panelEl.style.left = targetRect.left - parentRect.left + offsetH + \"px\";\n }\n\n if (origin.bottom) {\n panelEl.style.bottom = positionOffsetV + \"px\";\n } else {\n panelEl.style.top = positionOffsetV + \"px\";\n }\n\n panelEl.style.transformOrigin = attrsOrigin.split(/\\W+/).join(\" \");\n }\n\n panelEl.offsetHeight; // force reflow\n\n panelEl.style.transitionDuration = transitionDuration;\n };\n\n var scrollContent = function scrollContent() {\n if (isServer) {\n return;\n }\n\n if (!props.scrollTarget) {\n return;\n }\n\n var scrollTargetEl = document.querySelector(props.scrollTarget);\n\n if (!scrollTargetEl) {\n return;\n }\n\n contentElRef.current.scrollTop = scrollTargetEl.offsetTop;\n };\n\n var showMenu = function showMenu() {\n return transitionComponent(transitionOptions({\n isShow: true\n }));\n };\n\n var hideMenu = function hideMenu() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n hideDelay = _ref3.hideDelay;\n\n return transitionComponent(transitionOptions({\n isShow: false,\n hideDelay: hideDelay\n }));\n };\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n panelElRef.current = domElement.querySelector(\".\".concat(classes.panel));\n\n _extends(panelElRef.current.style, props.style);\n\n contentElRef.current = domElement.querySelector(\".\".concat(classes.content));\n\n var handleEscape = function handleEscape(e) {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n hideMenu({\n hideDelay: 0\n });\n }\n };\n\n var handleDismissTap = function handleDismissTap(e) {\n if (e.target === panelElRef.current) {\n return;\n }\n\n hideMenu();\n };\n\n var activateDismissTap = function activateDismissTap() {\n pointerEndDownEvent.forEach(function (evt) {\n return document.addEventListener(evt, handleDismissTap);\n });\n };\n\n var deActivateDismissTap = function deActivateDismissTap() {\n pointerEndDownEvent.forEach(function (evt) {\n return document.removeEventListener(evt, handleDismissTap);\n });\n };\n\n if (!props.permanent) {\n subscribe(\"resize\", update);\n subscribe(\"keydown\", handleEscape);\n setTimeout(function () {\n activateDismissTap();\n showMenu();\n }, 0);\n }\n\n return function () {\n if (!props.permanent) {\n unsubscribe(\"resize\", update);\n unsubscribe(\"keydown\", handleEscape);\n deActivateDismissTap();\n }\n };\n }, [domElement]);\n var type = props.type || DEFAULT_TYPE;\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"style\"]\n }), props.testId && {\n \"data-test-id\": props.testId\n }, getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.getRef && props.getRef(dom));\n }), {\n className: [classes.component, props.permanent ? classes.permanent : null, props.origin ? classes.origin : null, props.backdrop ? classes.showBackdrop : null, props.topMenu ? classes.isTopMenu : null, type === \"floating\" && !props.permanent ? classes.floating : null, props.width || props.size ? widthClass(unifyWidth(props.width || props.size)) : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var shadowDepth = props.shadowDepth !== undefined ? props.shadowDepth : DEFAULT_SHADOW_DEPTH;\n var componentContent = [h(\"div\", {\n className: classes.backdrop\n }), h(\"div\", {\n className: classes.panel\n }, [h(Shadow, {\n shadowDepth: shadowDepth,\n animated: true\n }), h(\"div\", {\n className: classes.content\n }, props.content || props.children)])];\n var content = [props.before].concat(componentContent, [props.after]);\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Menu };\n","import { _Conditional } from 'polythene-core';\nimport { cast, h, a, useReducer, useState, useEffect, useRef, getRef } from 'cyano-mithril';\nimport { _Menu } from 'polythene-core-menu';\nimport { Shadow } from 'polythene-mithril-shadow';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar listTileClasses = {\n component: \"pe-list-tile\",\n // elements\n content: \"pe-list-tile__content\",\n highSubtitle: \"pe-list-tile__high-subtitle\",\n primary: \"pe-list-tile__primary\",\n secondary: \"pe-list-tile__secondary\",\n subtitle: \"pe-list-tile__subtitle\",\n title: \"pe-list-tile__title\",\n contentFront: \"pe-list-tile__content-front\",\n // states \n compact: \"pe-list-tile--compact\",\n compactFront: \"pe-list-tile--compact-front\",\n disabled: \"pe-list-tile--disabled\",\n hasFront: \"pe-list-tile--front\",\n hasHighSubtitle: \"pe-list-tile--high-subtitle\",\n hasSubtitle: \"pe-list-tile--subtitle\",\n header: \"pe-list-tile--header\",\n hoverable: \"pe-list-tile--hoverable\",\n insetH: \"pe-list-tile--inset-h\",\n insetV: \"pe-list-tile--inset-v\",\n selectable: \"pe-list-tile--selectable\",\n selected: \"pe-list-tile--selected\",\n rounded: \"pe-list-tile--rounded\",\n highlight: \"pe-list-tile--highlight\",\n sticky: \"pe-list-tile--sticky\",\n navigation: \"pe-list-tile--navigation\"\n};\n\nvar classes = {\n component: \"pe-menu\",\n // elements\n panel: \"pe-menu__panel\",\n content: \"pe-menu__content\",\n placeholder: \"pe-menu__placeholder\",\n backdrop: \"pe-menu__backdrop\",\n // states\n floating: \"pe-menu--floating\",\n origin: \"pe-menu--origin\",\n permanent: \"pe-menu--permanent\",\n showBackdrop: \"pe-menu--backdrop\",\n visible: \"pe-menu--visible\",\n width_auto: \"pe-menu--width-auto\",\n width_n: \"pe-menu--width-\",\n isTopMenu: \"pe-menu--top-menu\",\n // lookup\n listTile: listTileClasses.component,\n selectedListTile: listTileClasses.selected\n};\n\nvar MenuInstance = cast(_Menu, {\n h: h,\n a: a,\n useReducer: useReducer,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef,\n Shadow: Shadow\n});\nvar MenuToggle = cast(_Conditional, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nMenuToggle[\"displayName\"] = \"MenuToggle\";\nvar Menu = {\n view: function view(vnode) {\n return h(MenuToggle, _objectSpread2({}, vnode.attrs, {\n placeholderClassName: classes.placeholder,\n instance: MenuInstance\n }));\n }\n};\nMenu[\"displayName\"] = \"Menu\";\n\nexport { Menu };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { transitionStateReducer, initialTransitionState, isClient, transitionComponent, filterSupportedAttributes, isServer } from 'polythene-core';\nimport { Timer } from 'polythene-utilities';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-notification\",\n // elements\n action: \"pe-notification__action\",\n content: \"pe-notification__content\",\n holder: \"pe-notification__holder\",\n placeholder: \"pe-notification__placeholder\",\n title: \"pe-notification__title\",\n // states\n hasContainer: \"pe-notification--container\",\n horizontal: \"pe-notification--horizontal\",\n multilineTitle: \"pe-notification__title--multi-line\",\n vertical: \"pe-notification--vertical\",\n visible: \"pe-notification--visible\"\n};\n\nvar DEFAULT_TIME_OUT = 3;\n\nvar setTitleStyles = function setTitleStyles(titleEl) {\n if (isServer) return;\n var height = titleEl.getBoundingClientRect().height;\n var lineHeight = parseInt(window.getComputedStyle(titleEl).lineHeight, 10);\n var paddingTop = parseInt(window.getComputedStyle(titleEl).paddingTop, 10);\n var paddingBottom = parseInt(window.getComputedStyle(titleEl).paddingBottom, 10);\n\n if (height > lineHeight + paddingTop + paddingBottom) {\n titleEl.classList.add(classes.multilineTitle);\n }\n};\n\nvar _Notification = function _Notification(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n getRef = _ref.getRef,\n useReducer = _ref.useReducer,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"useRef\", \"getRef\", \"useReducer\"]);\n\n var _useReducer = useReducer(transitionStateReducer, initialTransitionState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n transitionState = _useReducer2[0],\n dispatchTransitionState = _useReducer2[1];\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isPaused = _useState4[0],\n setIsPaused = _useState4[1];\n\n var containerElRef = useRef();\n var titleElRef = useRef();\n var timerRef = useRef();\n var isVisible = (transitionState || initialTransitionState).isVisible;\n var isTransitioning = (transitionState || initialTransitionState).isTransitioning;\n var isHiding = (transitionState || initialTransitionState).isHiding;\n\n var transitionOptions = function transitionOptions(_ref2) {\n var isShow = _ref2.isShow,\n referrer = _ref2.referrer;\n return {\n dispatchTransitionState: dispatchTransitionState,\n instanceId: props.instanceId,\n props: props,\n isShow: isShow,\n beforeTransition: stopTimer,\n afterTransition: isShow ? function () {\n // set timer to hide in a few seconds\n var timeout = props.timeout;\n\n if (timeout === 0) ; else {\n var timeoutSeconds = timeout !== undefined ? timeout : DEFAULT_TIME_OUT;\n timerRef.current.start(function () {\n return hideNotification();\n }, timeoutSeconds);\n }\n } : null,\n domElements: {\n el: domElement,\n containerEl: containerElRef.current\n },\n showClass: classes.visible,\n referrer: referrer\n };\n };\n\n var showNotification = function showNotification() {\n return transitionComponent(transitionOptions({\n isShow: true\n }));\n };\n\n var hideNotification = function hideNotification() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n referrer = _ref3.referrer;\n\n return transitionComponent(transitionOptions({\n isShow: false,\n referrer: referrer\n }));\n };\n\n var pause = function pause() {\n setIsPaused(true);\n\n if (timerRef.current) {\n timerRef.current.pause();\n }\n };\n\n var unpause = function unpause() {\n setIsPaused(false);\n\n if (timerRef.current) {\n timerRef.current.resume();\n }\n };\n\n var stopTimer = function stopTimer() {\n if (timerRef.current) {\n timerRef.current.stop();\n }\n };\n\n useEffect(function () {\n return function () {\n stopTimer();\n };\n }, []); // Timer\n\n useEffect(function () {\n timerRef.current = new Timer();\n }, []); // DOM elements\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n if (isClient) {\n // props.holderSelector is passed as option to Multiple\n containerElRef.current = document.querySelector(props.containerSelector || props.holderSelector);\n\n if (!containerElRef.current) {\n console.error(\"No container element found\"); // eslint-disable-line no-console\n }\n\n if (props.containerSelector && containerElRef.current) {\n containerElRef.current.classList.add(classes.hasContainer);\n }\n }\n\n titleElRef.current = domElement.querySelector(\".\".concat(classes.title));\n\n if (titleElRef.current) {\n setTitleStyles(titleElRef.current);\n }\n }, [domElement]); // Show / hide logic\n\n useEffect(function () {\n if (!domElement || isTransitioning || isHiding) {\n return;\n }\n\n if (props.hide) {\n if (isVisible) {\n hideNotification();\n }\n } else if (props.show) {\n if (!isVisible) {\n showNotification();\n }\n }\n }, [domElement, isTransitioning, isVisible, isHiding, props.hide, props.show]); // Pause logic\n\n useEffect(function () {\n if (!domElement || isTransitioning || isHiding) {\n return;\n }\n\n if (props.unpause) {\n if (isPaused) {\n unpause();\n }\n } else if (props.pause) {\n if (!isPaused) {\n pause();\n }\n }\n }, [domElement, isTransitioning, isHiding, props.pause, props.unpause]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props, {\n remove: [\"style\"]\n }), // style set in content, and set by show/hide transition\n getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.ref && props.ref(dom));\n }), props.testId && {\n \"data-test-id\": props.testId\n }, _defineProperty({\n className: [classes.component, props.fromMultipleClassName, // classes.visible is set in showNotification though transition\n props.tone === \"light\" ? null : \"pe-dark-tone\", // default dark tone\n props.containerSelector ? classes.hasContainer : null, props.layout === \"vertical\" ? classes.vertical : classes.horizontal, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, a.onclick, function (e) {\n return e.preventDefault();\n }));\n\n var contents = h(\"div\", {\n className: classes.content,\n style: props.style\n }, props.content || [props.title ? h(\"div\", {\n className: classes.title\n }, props.title) : null, props.action ? h(\"div\", {\n className: classes.action\n }, props.action) : null]);\n var content = [props.before, contents, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Notification };\n","import { cast, h, a, useState, useEffect, useRef, getRef, useReducer } from 'cyano-mithril';\nimport { Multi } from 'polythene-core';\nimport { _Notification } from 'polythene-core-notification';\n\nvar classes = {\n component: \"pe-notification\",\n // elements\n action: \"pe-notification__action\",\n content: \"pe-notification__content\",\n holder: \"pe-notification__holder\",\n placeholder: \"pe-notification__placeholder\",\n title: \"pe-notification__title\",\n // states\n hasContainer: \"pe-notification--container\",\n horizontal: \"pe-notification--horizontal\",\n multilineTitle: \"pe-notification__title--multi-line\",\n vertical: \"pe-notification--vertical\",\n visible: \"pe-notification--visible\"\n};\n\nvar NotificationInstance = cast(_Notification, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef,\n useReducer: useReducer\n});\nNotificationInstance[\"displayName\"] = \"NotificationInstance\";\nvar options = {\n name: \"notification\",\n className: classes.component,\n htmlShowClass: classes.open,\n defaultId: \"default_notification\",\n holderSelector: \".\".concat(classes.holder),\n instance: NotificationInstance,\n placeholder: \"span.\".concat(classes.placeholder),\n queue: true\n};\nvar MultipleInstance = Multi({\n options: options\n});\nvar Notification = cast(MultipleInstance.render, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nObject.getOwnPropertyNames(MultipleInstance).filter(function (p) {\n return p !== \"render\";\n}).forEach(function (p) {\n return Notification[p] = MultipleInstance[p];\n});\nNotification[\"displayName\"] = \"Notification\";\n\nexport { Notification, NotificationInstance };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-radio-control\"\n};\n\nvar iconOn = \"\";\nvar iconOff = \"\";\nvar icons = {\n iconOff: iconOff,\n iconOn: iconOn\n};\nvar _RadioButton = function _RadioButton(_ref) {\n var h = _ref.h,\n SelectionControl = _ref.SelectionControl,\n props = _objectWithoutProperties(_ref, [\"h\", \"SelectionControl\"]);\n\n var componentProps = _extends({}, props, {\n icons: icons,\n selectable: props.selectable || function (selected) {\n return !selected;\n },\n // default: only selectable when not checked\n instanceClass: classes.component,\n type: \"radio\"\n });\n\n return h(SelectionControl, componentProps);\n};\n\nexport { _RadioButton };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _RadioButton } from 'polythene-core-radio-button';\nimport { _ViewControl, _SelectionControl } from 'polythene-core-selection-control';\nimport { cast, h, a, useState, useEffect } from 'cyano-mithril';\nimport { Icon } from 'polythene-mithril-icon';\nimport { IconButton } from 'polythene-mithril-icon-button';\n\nvar ViewControl = cast(_ViewControl, {\n h: h,\n a: a,\n Icon: Icon,\n IconButton: IconButton\n});\nViewControl[\"displayName\"] = \"ViewControl\";\nvar SelectionControl = cast(_SelectionControl, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n ViewControl: ViewControl\n});\nSelectionControl[\"displayName\"] = \"SelectionControl\";\nvar RadioButton = cast(_RadioButton, {\n h: h,\n a: a,\n SelectionControl: SelectionControl\n});\nRadioButton[\"displayName\"] = \"RadioButton\";\n\nexport { RadioButton };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-radio-group\"\n};\n\nvar _RadioGroup = function _RadioGroup(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n RadioButton = _ref.RadioButton,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"RadioButton\"]);\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n checkedIndex = _useState2[0],\n setCheckedIndex = _useState2[1];\n\n var buttons = props.content || props.buttons || props.children;\n useEffect(function () {\n var index = buttons.reduce(function (acc, buttonOpts, index) {\n if (buttonOpts.value === undefined) {\n console.error(\"Option 'value' not set for radio button\"); // eslint-disable-line no-console\n }\n\n return acc !== null ? acc : buttonOpts.defaultChecked !== undefined || props.defaultCheckedValue !== undefined && buttonOpts.value === props.defaultCheckedValue || props.defaultSelectedValue !== undefined && buttonOpts.value === props.defaultSelectedValue // deprecated\n ? index : acc;\n }, null);\n setCheckedIndex(index);\n }, []);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var groupCheckedValue = props.checkedValue;\n var contents = buttons.length ? buttons.map(function (buttonOpts, index) {\n if (!buttonOpts) {\n return null;\n }\n\n var isChecked = buttonOpts.checked !== undefined ? buttonOpts.checked : groupCheckedValue !== undefined ? buttonOpts.value === groupCheckedValue : checkedIndex === index;\n return h(RadioButton, _extends({}, {\n /* group attributes that may be overwritten by individual buttons */\n name: props.name\n }, props.all,\n /* individual button options */\n buttonOpts, {\n /* this component's options */\n onChange: function onChange(_ref2) {\n var value = _ref2.value;\n return setCheckedIndex(index), props.onChange && props.onChange({\n value: value\n });\n },\n checked: isChecked,\n key: buttonOpts.value // required for proper selection\n\n }));\n }) : null;\n var content = [props.before, contents, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _RadioGroup };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _RadioGroup } from 'polythene-core-radio-group';\nimport { RadioButton } from 'polythene-mithril-radio-button';\nimport { cast, h, a, useState, useEffect } from 'cyano-mithril';\n\nvar RadioGroup = cast(_RadioGroup, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n RadioButton: RadioButton\n});\nRadioGroup[\"displayName\"] = \"RadioGroup\";\n\nexport { RadioGroup };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { Button } from 'polythene-mithril-button';\nimport { h } from 'cyano-mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar RaisedButton = {\n view: function view(vnode) {\n return h(Button, _objectSpread2({\n raised: true\n }, vnode.attrs), vnode.children);\n }\n};\nRaisedButton[\"displayName\"] = \"RaisedButton\";\n\nexport { RaisedButton };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-search\",\n // elements\n content: \"pe-search__content\",\n // states\n searchFullWidth: \"pe-search--full-width\",\n searchInset: \"pe-search--inset\"\n};\n\nvar getNameOfState = function getNameOfState(searchState) {\n return searchState.focus && searchState.dirty ? \"focus_dirty\" : searchState.focus ? \"focus\" : searchState.dirty ? \"dirty\" : \"none\";\n};\n\nvar _Search = function _Search(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n TextField = _ref.TextField,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"TextField\"]);\n\n delete props.key;\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n searchState = _useState2[0],\n setSearchState = _useState2[1];\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.fullWidth ? classes.searchFullWidth : classes.searchInset, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var searchStateName = getNameOfState(searchState);\n var buttons = (props.buttons || {})[searchStateName] || {};\n var textfieldAttrs = props.textfield || {};\n var componentContent = h(\"div\", {\n className: classes.content\n }, [buttons.before, h(TextField, _extends({}, textfieldAttrs, {\n onChange: function onChange(newState) {\n setSearchState(newState);\n\n if (textfieldAttrs.onChange) {\n textfieldAttrs.onChange(newState);\n }\n }\n })), buttons.after]);\n var content = [props.before, componentContent, props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Search };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-textfield\",\n // elements\n counter: \"pe-textfield__counter\",\n error: \"pe-textfield__error\",\n errorPlaceholder: \"pe-textfield__error-placeholder\",\n focusHelp: \"pe-textfield__help-focus\",\n help: \"pe-textfield__help\",\n input: \"pe-textfield__input\",\n inputArea: \"pe-textfield__input-area\",\n label: \"pe-textfield__label\",\n optionalIndicator: \"pe-textfield__optional-indicator\",\n requiredIndicator: \"pe-textfield__required-indicator\",\n // states\n hasCounter: \"pe-textfield--counter\",\n hasFloatingLabel: \"pe-textfield--floating-label\",\n hasFullWidth: \"pe-textfield--full-width\",\n hideClear: \"pe-textfield--hide-clear\",\n hideSpinner: \"pe-textfield--hide-spinner\",\n hideValidation: \"pe-textfield--hide-validation\",\n isDense: \"pe-textfield--dense\",\n isRequired: \"pe-textfield--required\",\n stateDirty: \"pe-textfield--dirty\",\n stateDisabled: \"pe-textfield--disabled\",\n stateFocused: \"pe-textfield--focused\",\n stateInvalid: \"pe-textfield--invalid\",\n stateReadonly: \"pe-textfield--readonly\"\n};\n\nvar DEFAULT_VALID_STATE = {\n invalid: false,\n message: undefined\n};\n\nvar ignoreEvent = function ignoreEvent(props, name) {\n return props.ignoreEvents && props.ignoreEvents.indexOf(name) !== -1;\n};\n\nvar _TextField = function _TextField(_ref) {\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n getRef = _ref.getRef,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"useRef\", \"getRef\"]);\n\n var defaultValue = props.defaultValue !== undefined && props.defaultValue !== null ? props.defaultValue.toString() : props.value !== undefined && props.value !== null ? props.value.toString() : \"\";\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isInvalid = _useState4[0],\n setIsInvalid = _useState4[1];\n\n var _useState5 = useState(defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n value = _useState6[0],\n setValue = _useState6[1];\n\n var inputElRef = useRef();\n var previousValueRef = useRef();\n var previousStatusRef = useRef();\n var isDirtyRef = useRef();\n var hasFocusRef = useRef();\n var isTouchedRef = useRef();\n var errorRef = useRef();\n var inputType = props.multiLine ? \"textarea\" : \"input\";\n var showErrorPlaceholder = !!(props.valid !== undefined || props.validate || props.min || props.max || props[a.minlength] || props[a.maxlength] || props.required || props.pattern);\n\n var handleStateUpdate = function handleStateUpdate() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref2.type,\n focus = _ref2.focus,\n value = _ref2.value;\n\n if (!inputElRef.current) {\n return;\n }\n\n if (value !== undefined) {\n inputElRef.current.value = value;\n }\n\n if (focus !== undefined) {\n hasFocusRef.current = focus;\n\n if (focus) {\n inputElRef.current.focus();\n } else {\n inputElRef.current.blur();\n }\n }\n\n if (type === \"input\" && (props.validateOnInput || props.counter)) {\n isTouchedRef.current = inputElRef.current.value !== defaultValue;\n }\n\n if (type !== \"input\") {\n isTouchedRef.current = inputElRef.current.value !== defaultValue;\n }\n\n if (type === \"onblur\") {\n isTouchedRef.current = true;\n }\n\n isDirtyRef.current = inputElRef.current.value !== \"\";\n checkValidity();\n notifyState();\n\n if (previousValueRef.current !== inputElRef.current.value) {\n setValue(inputElRef.current.value); // force update\n }\n };\n\n var validateCustom = function validateCustom() {\n if (!inputElRef.current) {\n return DEFAULT_VALID_STATE;\n }\n\n var validState = props.validate(inputElRef.current.value);\n return {\n invalid: validState && !validState.valid,\n message: validState && validState.error\n };\n };\n\n var validateCounter = function validateCounter() {\n return {\n invalid: inputElRef.current.value.length > props.counter,\n message: props.error\n };\n };\n\n var validateHTML = function validateHTML() {\n return {\n invalid: !inputElRef.current.checkValidity(),\n message: props.error\n };\n };\n\n var getValidStatus = function getValidStatus() {\n var status = DEFAULT_VALID_STATE; // props.validateResetOnClear: reset validation when field is cleared\n\n if (isTouchedRef.current && isInvalid && inputElRef.current.value.length === 0 && props.validateResetOnClear) {\n isTouchedRef.current = false;\n setIsInvalid(false);\n errorRef.current = undefined;\n }\n\n if (props.counter) {\n status = validateCounter();\n }\n\n if (!status.invalid && inputElRef.current.checkValidity) {\n status = validateHTML();\n }\n\n if (!status.invalid && props.validate) {\n status = validateCustom();\n }\n\n return status;\n };\n\n var checkValidity = function checkValidity() {\n // default\n var status = props.valid !== undefined ? {\n invalid: !props.valid,\n message: props.error\n } : !isTouchedRef.current && !props.validateAtStart ? DEFAULT_VALID_STATE : getValidStatus();\n var previousInvalid = isInvalid;\n errorRef.current = status.message;\n\n if (status.invalid !== previousInvalid) {\n setIsInvalid(status.invalid);\n }\n\n if (!status.invalid) {\n errorRef.current = undefined;\n }\n };\n\n var notifyState = function notifyState() {\n if (props.onChange) {\n var validStatus = getValidStatus();\n var status = {\n focus: hasFocusRef.current,\n dirty: isDirtyRef.current,\n invalid: validStatus.invalid,\n error: validStatus.error,\n value: inputElRef.current.value\n };\n\n if (JSON.stringify(status) !== JSON.stringify(previousStatusRef.current)) {\n props.onChange(_objectSpread2({}, status, {\n el: inputElRef.current,\n setInputState: function setInputState(newState) {\n var hasNewValue = newState.value !== undefined && newState.value !== inputElRef.current.value;\n var hasNewFocus = newState.focus !== undefined && newState.focus !== hasFocusRef.current;\n\n if (hasNewValue || hasNewFocus) {\n handleStateUpdate(newState);\n }\n }\n }));\n previousStatusRef.current = status;\n }\n }\n }; // State refs\n\n\n useEffect(function () {\n isDirtyRef.current = defaultValue !== \"\";\n hasFocusRef.current = false;\n isTouchedRef.current = false;\n errorRef.current = props.error;\n }, []); // Input DOM element\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n inputElRef.current = domElement.querySelector(inputType);\n inputElRef.current.value = defaultValue;\n handleStateUpdate();\n checkValidity(); // handle `validateAtStart`\n\n notifyState();\n }, [domElement]); // Handle value updates\n\n useEffect(function () {\n if (!inputElRef.current) {\n return;\n }\n\n var value = props.value !== undefined && props.value !== null ? props.value : inputElRef.current ? inputElRef.current.value : previousValueRef.current;\n var valueStr = value === undefined || value === null ? \"\" : value.toString();\n\n if (inputElRef.current && previousValueRef.current !== valueStr) {\n inputElRef.current.value = valueStr;\n previousValueRef.current = valueStr;\n handleStateUpdate({\n type: \"input\"\n });\n }\n }, [inputElRef.current, props.value]); // Handle error state updates\n\n useEffect(function () {\n if (!inputElRef.current) {\n return;\n }\n\n checkValidity();\n notifyState();\n }, [props, inputElRef.current && inputElRef.current.value]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, getRef(function (dom) {\n return dom && !domElement && (setDomElement(dom), props.ref && props.ref(dom));\n }), {\n className: [classes.component, isInvalid ? classes.stateInvalid : \"\", hasFocusRef.current ? classes.stateFocused : \"\", isDirtyRef.current ? classes.stateDirty : \"\", props.floatingLabel ? classes.hasFloatingLabel : \"\", props.disabled ? classes.stateDisabled : \"\", props.readonly ? classes.stateReadonly : \"\", props.dense ? classes.isDense : \"\", props.required ? classes.isRequired : \"\", props.fullWidth ? classes.hasFullWidth : \"\", props.counter ? classes.hasCounter : \"\", props.hideSpinner !== false && props.hideSpinner !== undefined ? classes.hideSpinner : \"\", props.hideClear !== false && props.hideClear !== undefined ? classes.hideClear : \"\", props.hideValidation ? classes.hideValidation : \"\", props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var allProps = _objectSpread2({}, props, {}, props.domAttributes);\n\n var errorMessage = props.error || errorRef.current;\n var type = allProps.multiLine ? null : !allProps.type || allProps.type === \"submit\" || allProps.type === \"search\" ? \"text\" : allProps.type;\n var showError = isInvalid && errorMessage !== undefined;\n var inactive = allProps.disabled || allProps[a.readonly];\n var requiredIndicator = allProps.required && allProps.requiredIndicator !== \"\" ? h(\"span\", {\n className: classes.requiredIndicator\n }, allProps.requiredIndicator || \"*\") : null;\n var optionalIndicator = !allProps.required && allProps.optionalIndicator ? h(\"span\", {\n className: classes.optionalIndicator\n }, allProps.optionalIndicator) : null;\n var label = allProps.label ? [allProps.label, requiredIndicator, optionalIndicator] : null;\n var events = allProps.events || {};\n var componentContent = [h(\"div\", {\n className: classes.inputArea\n }, [label ? h(\"label\", {\n className: classes.label\n }, label) : null, h(inputType, _extends({}, {\n className: classes.input,\n disabled: allProps.disabled\n }, type ? {\n type: type\n } : null, allProps.name ? {\n name: allProps.name\n } : null, events, !ignoreEvent(allProps, a.onclick) ? _defineProperty({}, a.onclick, function (e) {\n if (inactive) {\n return;\n } // in case the browser does not give the field focus,\n // for instance when the user tapped to the current field off screen\n\n\n handleStateUpdate({\n focus: true\n });\n events[a.onclick] && events[a.onclick](e);\n }) : null, !ignoreEvent(allProps, a.onfocus) ? _defineProperty({}, a.onfocus, function (e) {\n if (inactive) {\n return;\n }\n\n handleStateUpdate({\n focus: true\n }); // set CSS class manually in case field gets focus but is off screen\n // and no redraw is triggered\n // at the next redraw `hasFocusRef.current` will be read and the focus class be set\n // in the props.class statement\n\n if (domElement) {\n domElement.classList.add(classes.stateFocused);\n }\n\n events[a.onfocus] && events[a.onfocus](e);\n }) : null, !ignoreEvent(allProps, a.onblur) ? _defineProperty({}, a.onblur, function (e) {\n handleStateUpdate({\n type: \"onblur\",\n focus: false\n }); // same principle as onfocus\n\n domElement.classList.remove(classes.stateFocused);\n events[a.onblur] && events[a.onblur](e);\n }) : null, !ignoreEvent(allProps, a.oninput) ? _defineProperty({}, a.oninput, function (e) {\n // default input event\n // may be overwritten by props.events\n handleStateUpdate({\n type: \"input\"\n });\n events[a.oninput] && events[a.oninput](e);\n }) : null, !ignoreEvent(allProps, a.onkeydown) ? _defineProperty({}, a.onkeydown, function (e) {\n if (e.key === \"Enter\") {\n isTouchedRef.current = true;\n } else if (e.key === \"Escape\" || e.key === \"Esc\") {\n handleStateUpdate({\n focus: false\n });\n }\n\n events[a.onkeydown] && events[a.onkeydown](e);\n }) : null, allProps.required !== undefined && !!allProps.required ? {\n required: true\n } : null, allProps[a.readonly] !== undefined && !!allProps[a.readonly] ? _defineProperty({}, a.readonly, true) : null, allProps.pattern !== undefined ? {\n pattern: allProps.pattern\n } : null, allProps[a.maxlength] !== undefined ? _defineProperty({}, a.maxlength, allProps[a.maxlength]) : null, allProps[a.minlength] !== undefined ? _defineProperty({}, a.minlength, allProps[a.minlength]) : null, allProps.max !== undefined ? {\n max: allProps.max\n } : null, allProps.min !== undefined ? {\n min: allProps.min\n } : null, allProps[a.autofocus] !== undefined ? _defineProperty({}, a.autofocus, allProps[a.autofocus]) : null, allProps[a.tabindex] !== undefined ? _defineProperty({}, a.tabindex, allProps[a.tabindex]) : null, allProps.rows !== undefined ? {\n rows: allProps.rows\n } : null, allProps.placeholder !== undefined ? {\n placeholder: allProps.placeholder\n } : null, allProps.domAttributes !== undefined ? _objectSpread2({}, allProps.domAttributes) : null))]), allProps.counter ? h(\"div\", {\n className: classes.counter\n }, (value.length || 0) + \" / \" + allProps.counter) : null, allProps.help && !showError ? h(\"div\", {\n className: [classes.help, allProps.focusHelp ? classes.focusHelp : null].join(\" \")\n }, allProps.help) : null, showError ? h(\"div\", {\n className: classes.error\n }, errorMessage) : showErrorPlaceholder && !allProps.help ? h(\"div\", {\n className: classes.errorPlaceholder\n }) : null];\n var content = [props.before].concat(componentContent, [props.after]);\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _TextField };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _TextField } from 'polythene-core-textfield';\nimport { cast, h, a, useEffect, useState, useRef, getRef } from 'cyano-mithril';\n\nvar TextField = cast(_TextField, {\n h: h,\n a: a,\n useEffect: useEffect,\n useState: useState,\n useRef: useRef,\n getRef: getRef\n});\nTextField[\"displayName\"] = \"TextField\";\n\nexport { TextField };\n","import { _Search } from 'polythene-core-search';\nimport { TextField } from 'polythene-mithril-textfield';\nimport { cast, h, a, useState } from 'cyano-mithril';\n\nvar Search = cast(_Search, {\n h: h,\n a: a,\n useState: useState,\n TextField: TextField\n});\nSearch[\"displayName\"] = \"Search\";\n\nexport { Search };\n","import { filterSupportedAttributes, pointerStartDownEvent, isClient, getStyle, isTouch, pointerMoveEvent, pointerEndDownEvent } from 'polythene-core';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar classes = {\n component: \"pe-slider\",\n // elements\n control: \"pe-slider__control\",\n label: \"pe-slider__label\",\n pin: \"pe-slider__pin\",\n thumb: \"pe-slider__thumb\",\n tick: \"pe-slider__tick\",\n ticks: \"pe-slider__ticks\",\n track: \"pe-slider__track\",\n trackBar: \"pe-slider__track-bar\",\n trackBarValue: \"pe-slider__track-bar-value\",\n trackPart: \"pe-slider__track-part\",\n trackPartRest: \"pe-slider__track-rest\",\n trackPartValue: \"pe-slider__track-value\",\n // states\n hasFocus: \"pe-slider--focus\",\n hasPin: \"pe-slider--pin\",\n hasTicks: \"pe-slider--ticks\",\n hasTrack: \"pe-slider--track\",\n isActive: \"pe-slider--active\",\n isAtMin: \"pe-slider--min\",\n isDisabled: \"pe-slider--disabled\",\n tickValue: \"pe-slider__tick--value\"\n};\n\nvar MAX_TICKS = 100;\n\nvar positionFromEvent = function positionFromEvent(e, isVertical) {\n return (// isVertical not yet implemented\n isTouch && e.touches ? isVertical ? e.touches[0].pageY : e.touches[0].pageX : isVertical ? e.pageY : e.pageX\n );\n};\n\nvar _Slider = function _Slider(_ref) {\n var _ref3;\n\n var h = _ref.h,\n a = _ref.a,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n useRef = _ref.useRef,\n getRef = _ref.getRef,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"useState\", \"useEffect\", \"useRef\", \"getRef\"]);\n\n var min = props.min !== undefined ? props.min : 0;\n var max = props.max !== undefined ? props.max : 100;\n var range = max - min;\n var stepSize = props.stepSize !== undefined ? props.stepSize : 1;\n var normalizeFactor = 1 / stepSize;\n var hasTicks = props.ticks !== undefined && props.ticks !== false;\n var interactiveTrack = props.interactiveTrack !== undefined ? props.interactiveTrack : true;\n var stepCount = Math.min(MAX_TICKS, parseInt(range / stepSize, 10));\n var defaultValue = props.defaultValue !== undefined ? props.defaultValue : props.value !== undefined ? props.value : 0;\n var focusElementRef = useRef();\n var trackElRef = useRef();\n var controlElRef = useRef();\n var pinElRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(min),\n _useState4 = _slicedToArray(_useState3, 2),\n fraction = _useState4[0],\n setFraction = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n hasFocus = _useState6[0],\n setHasFocus = _useState6[1];\n\n var _useState7 = useState(),\n _useState8 = _slicedToArray(_useState7, 2),\n value = _useState8[0],\n setValue = _useState8[1];\n\n var _useState9 = useState(),\n _useState10 = _slicedToArray(_useState9, 2),\n previousValue = _useState10[0],\n setPreviousValue = _useState10[1];\n\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isActive = _useState12[0],\n setIsActive = _useState12[1];\n\n var isDraggingRef = useRef();\n var clickOffsetRef = useRef();\n var rangeWidthRef = useRef();\n var rangeOffsetRef = useRef();\n var controlWidthRef = useRef();\n\n var updatePinPosition = function updatePinPosition() {\n if (controlElRef.current && pinElRef.current) {\n var left = fraction * rangeWidthRef.current;\n pinElRef.current.style.left = left + \"px\";\n }\n };\n\n var generateTickMarks = function generateTickMarks(h, stepCount, stepSize, value) {\n var items = [];\n var stepWithValue = value / stepSize;\n var s = 0;\n\n while (s < stepCount + 1) {\n items.push(h(\"div\", {\n className: s <= stepWithValue ? [classes.tick, classes.tickValue].join(\" \") : classes.tick,\n key: \"tick-\".concat(s)\n }));\n s++;\n }\n\n return items;\n };\n\n var readRangeData = function readRangeData() {\n if (controlElRef.current && isClient) {\n // range is from the far left to the far right minus the thumb width (max x is at the left side of the thumb)\n controlWidthRef.current = parseFloat(getStyle({\n element: controlElRef.current,\n prop: \"width\"\n }));\n rangeWidthRef.current = trackElRef.current.getBoundingClientRect().width - controlWidthRef.current;\n var styles = window.getComputedStyle(trackElRef.current);\n rangeOffsetRef.current = parseFloat(styles.marginLeft);\n }\n };\n\n var updateClickOffset = function updateClickOffset() {\n var controlOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n clickOffsetRef.current = trackElRef.current.getBoundingClientRect().left - (rangeOffsetRef.current - controlWidthRef.current / 2) + controlOffset;\n };\n\n var initControlEvent = function initControlEvent(e) {\n var controlPos = controlElRef.current.getBoundingClientRect().left;\n var eventPos = positionFromEvent(e);\n var controlOffset = eventPos - controlPos - controlWidthRef.current / 2;\n updateClickOffset(controlOffset);\n };\n\n var initTrackEvent = function initTrackEvent() {\n return updateClickOffset(0);\n };\n\n var handlePosEvent = function handlePosEvent(e) {\n var pos = positionFromEvent(e) - clickOffsetRef.current;\n var newValue = min + (pos - rangeOffsetRef.current) / rangeWidthRef.current * range;\n updateValue(newValue);\n };\n\n var startDrag = function startDrag(e) {\n if (isDraggingRef.current) return;\n e.preventDefault();\n isDraggingRef.current = true;\n setIsActive(true);\n deFocus();\n\n var drag = function drag(e) {\n if (!isDraggingRef.current) return;\n handlePosEvent(e);\n };\n\n var endDrag = function endDrag() {\n if (!isDraggingRef.current) return;\n deFocus();\n\n if (isClient) {\n pointerMoveEvent.forEach(function (evt) {\n return window.removeEventListener(evt, drag);\n });\n pointerEndDownEvent.forEach(function (evt) {\n return window.removeEventListener(evt, endDrag);\n });\n }\n\n isDraggingRef.current = false;\n setIsActive(false);\n };\n\n if (isClient) {\n pointerMoveEvent.forEach(function (evt) {\n return window.addEventListener(evt, drag);\n });\n pointerEndDownEvent.forEach(function (evt) {\n return window.addEventListener(evt, endDrag);\n });\n }\n\n readRangeData();\n };\n\n var handleNewValue = function handleNewValue(_ref2) {\n var value = _ref2.value,\n _ref2$shouldNotify = _ref2.shouldNotify,\n shouldNotify = _ref2$shouldNotify === void 0 ? false : _ref2$shouldNotify;\n if (value < min) value = min;\n if (value > max) value = max;\n var newValue = stepSize ? Math.round(value * normalizeFactor) / normalizeFactor : value;\n setFraction((newValue - min) / range);\n setPreviousValue(newValue);\n setValue(newValue);\n\n if (shouldNotify && props.onChange) {\n props.onChange({\n value: newValue\n });\n }\n };\n\n var updateValue = function updateValue(value) {\n handleNewValue({\n value: value,\n shouldNotify: true\n });\n };\n\n var increment = function increment(useLargeStep) {\n return updateValue(value + (useLargeStep ? 10 : 1) * (stepSize || 1));\n };\n\n var decrement = function decrement(useLargeStep) {\n return updateValue(value - (useLargeStep ? 10 : 1) * (stepSize || 1));\n };\n\n var deFocus = function deFocus() {\n if (focusElementRef.current) {\n focusElementRef.current.blur();\n }\n\n focusElementRef.current = undefined;\n setHasFocus(false);\n };\n\n var focus = function focus(element) {\n deFocus();\n focusElementRef.current = element;\n setHasFocus(true);\n }; // State refs\n\n\n useEffect(function () {\n isDraggingRef.current = false;\n clickOffsetRef.current = 0;\n rangeWidthRef.current = 0;\n rangeOffsetRef.current = 0;\n controlWidthRef.current = 0;\n }, []); // DOM children\n\n useEffect(function () {\n if (!domElement) {\n return;\n }\n\n trackElRef.current = domElement.querySelector(\".\".concat(classes.track));\n controlElRef.current = domElement.querySelector(\".\".concat(classes.control));\n pinElRef.current = domElement.querySelector(\".\".concat(classes.pin));\n readRangeData();\n handleNewValue({\n value: defaultValue\n });\n }, [domElement]); // Pin position\n\n useEffect(function () {\n if (!props.pin) {\n return;\n }\n\n updatePinPosition();\n }, [value]); // Handle external changes of `value`\n\n useEffect(function () {\n if (previousValue !== props.value) {\n handleNewValue({\n value: props.value\n });\n }\n }, [props.value]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), getRef(function (dom) {\n return dom && !domElement && setDomElement(dom);\n }), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.disabled ? classes.isDisabled : null, props.pin ? classes.hasPin : null, interactiveTrack ? classes.hasTrack : null, isActive ? classes.isActive : null, hasFocus ? classes.hasFocus : null, fraction === 0 ? classes.isAtMin : null, hasTicks ? classes.hasTicks : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var onStartTrack = function onStartTrack(e) {\n e.preventDefault();\n\n if (isDraggingRef.current) {\n return;\n }\n\n readRangeData();\n initTrackEvent();\n handlePosEvent(e);\n startDrag(e);\n };\n\n var onInitDrag = function onInitDrag(e) {\n e.preventDefault();\n readRangeData();\n initControlEvent(e);\n startDrag(e);\n };\n\n var flexValueCss = fraction + \" 1 0%\";\n var flexRestValue = 1 - fraction;\n var flexRestCss = flexRestValue + \" 1 0%\";\n var content = [props.before, h(\"div\", _extends({}, {\n className: classes.track\n }, interactiveTrack && !props.disabled && pointerStartDownEvent.reduce(function (acc, evt) {\n return acc[a[\"on\".concat(evt)]] = onStartTrack, acc;\n }, {})), [h(\"div\", {\n className: classes.trackPart + \" \" + classes.trackPartValue,\n style: {\n flex: flexValueCss,\n msFlex: flexValueCss,\n WebkitFlex: flexValueCss\n }\n }, h(\"div\", {\n className: classes.trackBar\n }, h(\"div\", {\n className: classes.trackBarValue\n }))), h(\"div\", _extends({}, {\n className: classes.control\n }, props.disabled ? {\n disabled: true\n } : (_ref3 = {}, _defineProperty(_ref3, a.tabindex, props[a.tabindex] || 0), _defineProperty(_ref3, a.onfocus, function () {\n return focus(controlElRef.current);\n }), _defineProperty(_ref3, a.onblur, function () {\n return deFocus();\n }), _defineProperty(_ref3, a.onkeydown, function (e) {\n if (e.key !== \"Tab\") {\n e.preventDefault();\n }\n\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n controlElRef.current.blur(e);\n } else if (e.key === \"ArrowLeft\" || e.key === \"ArrowDown\" || e.key === \"Left\" || e.key === \"Down\") {\n decrement(!!e.shiftKey);\n } else if (e.key === \"ArrowRight\" || e.key === \"ArrowUp\" || e.key === \"Right\" || e.key === \"Up\") {\n increment(!!e.shiftKey);\n } else if (e.key === \"Home\") {\n updateValue(min);\n } else if (e.key === \"End\") {\n updateValue(max);\n } else if (e.key === \"PageDown\") {\n decrement(true);\n } else if (e.key === \"PageUp\") {\n increment(true);\n }\n\n readRangeData();\n }), _ref3), !props.disabled && pointerStartDownEvent.reduce(function (acc, evt) {\n return acc[a[\"on\".concat(evt)]] = onInitDrag, acc;\n }, {}), props.events ? props.events : null, hasTicks ? {\n step: stepCount\n } : null), props.icon ? h(\"div\", {\n className: classes.thumb\n }, props.icon) : null), h(\"div\", {\n className: classes.trackPart + \" \" + classes.trackPartRest,\n style: {\n flex: flexRestCss,\n msFlex: flexRestCss,\n WebkitFlex: flexRestCss,\n maxWidth: flexRestValue * 100 + \"%\" // for IE Edge\n\n }\n }, h(\"div\", {\n className: classes.trackBar\n }, h(\"div\", {\n className: classes.trackBarValue\n }))), hasTicks && !props.disabled ? h(\"div\", {\n className: classes.ticks\n }, generateTickMarks(h, stepCount, stepSize, value)) : null, hasTicks && props.pin && !props.disabled ? h(\"div\", {\n className: classes.pin,\n value: value\n }) : null]), props.after];\n return h(props.element || \"div\", componentProps, content);\n};\n\nexport { _Slider };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Slider } from 'polythene-core-slider';\nimport { cast, h, a, useState, useEffect, useRef, getRef } from 'cyano-mithril';\n\nvar Slider = cast(_Slider, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef\n});\nSlider[\"displayName\"] = \"Slider\";\n\nexport { Slider };\n","export { _Notification as _Snackbar } from 'polythene-core-notification';\n\nvar DEFAULT_DURATION = 0.4;\n\nvar show = function show(_ref) {\n var containerEl = _ref.containerEl,\n el = _ref.el,\n duration = _ref.duration,\n delay = _ref.delay;\n return {\n el: containerEl,\n duration: duration || DEFAULT_DURATION,\n delay: delay || 0,\n before: function before() {\n el.style.display = \"block\";\n var height = el.getBoundingClientRect().height;\n containerEl.style.transform = \"translate3d(0, \".concat(height, \"px, 0)\");\n },\n transition: function transition() {\n return containerEl.style.transform = \"translate3d(0, 0px, 0)\";\n }\n };\n};\n\nvar hide = function hide(_ref2) {\n var containerEl = _ref2.containerEl,\n el = _ref2.el,\n duration = _ref2.duration,\n delay = _ref2.delay;\n return {\n el: containerEl,\n duration: duration || DEFAULT_DURATION,\n delay: delay || 0,\n transition: function transition() {\n var height = el.getBoundingClientRect().height;\n containerEl.style.transform = \"translate3d(0, \".concat(height, \"px, 0)\");\n },\n // reset to original position to counter the removal of the snackbar instance\n after: function after() {\n // prevent a \"bounce back\"\n el.style.display = \"none\";\n containerEl.style.transitionDuration = \"0ms\";\n containerEl.style.transform = \"translate3d(0, 0px, 0)\";\n }\n };\n};\n\nvar transitions = {\n show: show,\n hide: hide\n};\n\nexport { transitions };\n","import { cast, h, a, useState, useEffect, useRef, getRef, useReducer } from 'cyano-mithril';\nimport { Multi } from 'polythene-core';\nimport { _Snackbar, transitions } from 'polythene-core-snackbar';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar notificationClasses = {\n component: \"pe-notification\",\n // elements\n action: \"pe-notification__action\",\n content: \"pe-notification__content\",\n holder: \"pe-notification__holder\",\n placeholder: \"pe-notification__placeholder\",\n title: \"pe-notification__title\",\n // states\n hasContainer: \"pe-notification--container\",\n horizontal: \"pe-notification--horizontal\",\n multilineTitle: \"pe-notification__title--multi-line\",\n vertical: \"pe-notification--vertical\",\n visible: \"pe-notification--visible\"\n};\n\nvar classes = _objectSpread2({}, notificationClasses, {\n component: \"pe-notification pe-snackbar\",\n // elements\n holder: \"pe-snackbar__holder\",\n placeholder: \"pe-snackbar__placeholder\",\n // states\n open: \"pe-snackbar--open\"\n});\n\nvar SnackbarInstance = cast(_Snackbar, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n useRef: useRef,\n getRef: getRef,\n useReducer: useReducer\n});\nSnackbarInstance[\"displayName\"] = \"SnackbarInstance\";\nvar options = {\n name: \"snackbar\",\n className: classes.component,\n htmlShowClass: classes.open,\n defaultId: \"default_snackbar\",\n holderSelector: \".\".concat(classes.holder),\n instance: SnackbarInstance,\n placeholder: \"span.\".concat(classes.placeholder),\n queue: true,\n transitions: transitions\n};\nvar MultipleInstance = Multi({\n options: options\n});\nvar Snackbar = cast(MultipleInstance.render, {\n h: h,\n useState: useState,\n useEffect: useEffect\n});\nObject.getOwnPropertyNames(MultipleInstance).filter(function (p) {\n return p !== \"render\";\n}).forEach(function (p) {\n return Snackbar[p] = MultipleInstance[p];\n});\nSnackbar[\"displayName\"] = \"Snackbar\";\n\nexport { Snackbar, SnackbarInstance };\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n component: \"pe-switch-control\",\n // elements\n knob: \"pe-switch-control__knob\",\n thumb: \"pe-switch-control__thumb\",\n track: \"pe-switch-control__track\"\n};\n\nvar _Switch = function _Switch(_ref) {\n var h = _ref.h,\n SelectionControl = _ref.SelectionControl,\n props = _objectWithoutProperties(_ref, [\"h\", \"SelectionControl\"]);\n\n var componentProps = _extends({}, props, {\n selectable: props.selectable || function () {\n return true;\n },\n // default: always selectable, regardless of the checked state\n instanceClass: classes.component,\n type: \"checkbox\"\n });\n\n return h(SelectionControl, componentProps);\n};\n\nvar _ViewControl = function _ViewControl(_ref) {\n var h = _ref.h,\n a = _ref.a,\n IconButton = _ref.IconButton,\n Shadow = _ref.Shadow,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"IconButton\", \"Shadow\"]);\n\n var element = props.element || \"div\";\n var shadowDepthOff = props.shadowDepthOff !== undefined ? props.shadowDepthOff : props.zOff !== undefined ? props.zOff // deprecated\n : 1;\n var shadowDepthOn = props.shadowDepthOn !== undefined ? props.shadowDepthOn : props.zOn !== undefined ? props.zOn // deprecated\n : 2;\n var shadowDepth = props.checked ? shadowDepthOn : shadowDepthOff;\n var raised = props.raised !== undefined ? props.raised : true;\n return h(element, null, [h(\"div\", {\n className: classes.track,\n key: \"track\"\n }), h(IconButton, _extends({}, {\n className: classes.thumb,\n key: \"button\",\n content: h(\"div\", {\n className: classes.knob,\n style: props.style\n }, [props.icon ? props.icon : null, raised ? h(Shadow, {\n shadowDepth: shadowDepth,\n animated: true\n }) : null]),\n disabled: props.disabled,\n events: props.events,\n ink: props.ink || false,\n inactive: props.inactive\n }, props.iconButton))]);\n};\n\nexport { _Switch, _ViewControl };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _ViewControl, _Switch } from 'polythene-core-switch';\nimport { cast, h, a, useState, useEffect } from 'cyano-mithril';\nimport { Shadow } from 'polythene-mithril-shadow';\nimport { IconButton } from 'polythene-mithril-icon-button';\nimport { _SelectionControl } from 'polythene-core-selection-control';\n\nvar ViewControl = cast(_ViewControl, {\n h: h,\n a: a,\n Shadow: Shadow,\n IconButton: IconButton\n});\nViewControl[\"displayName\"] = \"ViewControl\";\nvar SelectionControl = cast(_SelectionControl, {\n h: h,\n a: a,\n useState: useState,\n useEffect: useEffect,\n ViewControl: ViewControl\n});\nSelectionControl[\"displayName\"] = \"SelectionControl\";\nvar Switch = cast(_Switch, {\n h: h,\n a: a,\n SelectionControl: SelectionControl\n});\nSwitch[\"displayName\"] = \"Switch\";\n\nexport { Switch };\n","import { isTouch, isRTL, subscribe, unsubscribe, filterSupportedAttributes } from 'polythene-core';\nimport { scrollTo } from 'polythene-utilities';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar buttonClasses = {\n component: \"pe-text-button\",\n \"super\": \"pe-button\",\n row: \"pe-button-row\",\n // elements \n content: \"pe-button__content\",\n label: \"pe-button__label\",\n textLabel: \"pe-button__text-label\",\n wash: \"pe-button__wash\",\n washColor: \"pe-button__wash-color\",\n dropdown: \"pe-button__dropdown\",\n // states \n border: \"pe-button--border\",\n contained: \"pe-button--contained\",\n disabled: \"pe-button--disabled\",\n dropdownClosed: \"pe-button--dropdown-closed\",\n dropdownOpen: \"pe-button--dropdown-open\",\n extraWide: \"pe-button--extra-wide\",\n hasDropdown: \"pe-button--dropdown\",\n highLabel: \"pe-button--high-label\",\n inactive: \"pe-button--inactive\",\n raised: \"pe-button--raised\",\n selected: \"pe-button--selected\",\n separatorAtStart: \"pe-button--separator-start\",\n hasHover: \"pe-button--has-hover\"\n};\n\nvar classes = {\n component: \"pe-tabs\",\n // elements\n indicator: \"pe-tabs__indicator\",\n scrollButton: \"pe-tabs__scroll-button\",\n scrollButtonAtEnd: \"pe-tabs__scroll-button-end\",\n scrollButtonAtStart: \"pe-tabs__scroll-button-start\",\n tab: \"pe-tab\",\n tabContent: \"pe-tabs__tab-content\",\n tabRow: \"pe-tabs__row\",\n // states\n activeSelectable: \"pe-tabs__active--selectable\",\n isAtEnd: \"pe-tabs--end\",\n isAtStart: \"pe-tabs--start\",\n isAutofit: \"pe-tabs--autofit\",\n isMenu: \"pe-tabs--menu\",\n scrollable: \"pe-tabs--scrollable\",\n compactTabs: \"pe-tabs--compact\",\n tabHasIcon: \"pe-tabs__tab--icon\",\n tabRowCentered: \"pe-tabs__row--centered\",\n tabRowIndent: \"pe-tabs__row--indent\",\n // lookup\n label: buttonClasses.label\n};\n\nvar SCROLL_SPEED = 600; // px per second\n\nvar SCROLL_DELAY = .15; // seconds\n\nvar SCROLL_MIN_DURATION = .5; // seconds\n\nvar INDICATOR_SLIDE_MIN_DURATION = .25; // seconds\n\nvar getButtons = function getButtons(props) {\n return props.content ? props.content : props.tabs ? props.tabs : props.children || [];\n};\n\nvar getIndex = function getIndex(props) {\n var buttons = getButtons(props);\n var selectedIndex = Array.isArray(buttons) ? buttons.reduce(function (acc, tab, index) {\n return acc === undefined && !tab.disabled && tab.selected ? index : acc;\n }, undefined) : undefined;\n\n if (selectedIndex !== undefined) {\n return selectedIndex;\n }\n\n var attrsSelectedTabIndex = props.selectedTabIndex !== undefined ? props.selectedTabIndex : props.selectedTab !== undefined // deprecated\n ? props.selectedTab : undefined;\n return attrsSelectedTabIndex !== undefined ? attrsSelectedTabIndex : 0;\n};\n\nvar scrollButtonGetNewIndex = function scrollButtonGetNewIndex(index, tabs) {\n var minTabIndex = 0;\n var maxTabIndex = tabs.length - 1;\n return {\n backward: Math.max(index - 1, minTabIndex),\n forward: Math.min(index + 1, maxTabIndex)\n };\n};\n\nvar sortByLargestWidth = function sortByLargestWidth(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n};\n\nvar _Tabs = function _Tabs(_ref) {\n var h = _ref.h,\n a = _ref.a,\n getRef = _ref.getRef,\n useState = _ref.useState,\n useEffect = _ref.useEffect,\n ScrollButton = _ref.ScrollButton,\n Tab = _ref.Tab,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"getRef\", \"useState\", \"useEffect\", \"ScrollButton\", \"Tab\"]);\n\n var buttons = getButtons(props);\n\n if (buttons.length === 0) {\n throw new Error(\"No tabs specified\");\n }\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n domElement = _useState2[0],\n setDomElement = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n RTL = _useState4[0],\n setRTL = _useState4[1];\n\n var tabIndex = getIndex(props) || 0;\n\n var _useState5 = useState(tabIndex),\n _useState6 = _slicedToArray(_useState5, 2),\n selectedTabIndex = _useState6[0],\n setSelectedTabIndex = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n isScrollButtonAtStart = _useState8[0],\n setIsScrollButtonAtStart = _useState8[1];\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n isScrollButtonAtEnd = _useState10[0],\n setIsScrollButtonAtEnd = _useState10[1];\n\n var _useState11 = useState([]),\n _useState12 = _slicedToArray(_useState11, 2),\n tabs = _useState12[0],\n setTabs = _useState12[1];\n\n var _useState13 = useState(),\n _useState14 = _slicedToArray(_useState13, 2),\n previousSelectedTabIndex = _useState14[0],\n setPreviousSelectedTabIndex = _useState14[1];\n\n var managesScroll = props.scrollable && !isTouch;\n var tabRowElement = domElement && domElement.querySelector(\".\".concat(classes.tabRow));\n var tabIndicatorElement = domElement && domElement.querySelector(\".\".concat(classes.indicator));\n var isTabsInited = !!domElement && tabs.length === buttons.length;\n useEffect(function () {\n if (!tabRowElement) return;\n\n var tabRowTabs = _toConsumableArray(tabRowElement.querySelectorAll(\"[data-index]\")).map(function (dom) {\n var index = parseInt(dom.getAttribute(\"data-index\"), 10);\n return {\n dom: dom,\n options: buttons[index]\n };\n });\n\n if (tabRowTabs) {\n setTabs(tabRowTabs);\n }\n }, [tabRowElement]);\n\n var handleScrollButtonClick = function handleScrollButtonClick(e, direction) {\n e.stopPropagation();\n e.preventDefault();\n var newIndex = scrollButtonGetNewIndex(selectedTabIndex, tabs)[direction];\n\n if (newIndex !== selectedTabIndex) {\n updateWithTabIndex({\n index: newIndex,\n animate: true\n });\n } else {\n scrollToTab(newIndex);\n }\n };\n\n var updateScrollButtons = function updateScrollButtons() {\n var scrollLeft = tabRowElement.scrollLeft;\n var minTabIndex = 0;\n var maxTabIndex = tabs.length - 1;\n var isAtStart = tabRowElement.scrollLeft === 0 && selectedTabIndex === minTabIndex;\n var isAtEnd = scrollLeft >= tabRowElement.scrollWidth - domElement.getBoundingClientRect().width - 1 && selectedTabIndex === maxTabIndex;\n setIsScrollButtonAtStart(isAtStart);\n setIsScrollButtonAtEnd(isAtEnd);\n };\n\n var updateIndicator = function updateIndicator(_ref2) {\n var selectedTabElement = _ref2.selectedTabElement,\n animate = _ref2.animate;\n\n if (!tabIndicatorElement) {\n return;\n }\n\n var parentRect = domElement.getBoundingClientRect();\n var rect = selectedTabElement.getBoundingClientRect();\n var buttonSize = managesScroll ? rect.height : 0;\n var translateX = RTL ? rect.right - parentRect.right + tabRowElement.scrollLeft + buttonSize : rect.left - parentRect.left + tabRowElement.scrollLeft - buttonSize;\n var scaleX = 1 / (parentRect.width - 2 * buttonSize) * rect.width;\n var transformCmd = \"translate(\".concat(translateX, \"px, 0) scaleX(\").concat(scaleX, \")\");\n var duration = animate ? INDICATOR_SLIDE_MIN_DURATION : 0;\n var style = tabIndicatorElement.style;\n style[\"transition-duration\"] = duration + \"s\";\n style.opacity = 1;\n style.transform = transformCmd;\n };\n\n var scrollToTab = function scrollToTab(tabIndex) {\n var scroller = tabRowElement; // Scroll to position of selected tab\n\n var tabLeft = tabs.slice(0, tabIndex).reduce(function (totalWidth, tabData) {\n return totalWidth + tabData.dom.getBoundingClientRect().width;\n }, 0); // Tabs at the far right will not fully move to the left\n // because the scrollable row will stick to the right \n // to get the max scroll left, we subtract the visible viewport from the scroll width\n\n var scrollerWidth = scroller.getBoundingClientRect().width; // frame width\n\n var scrollingWidth = scroller.scrollWidth;\n var maxScroll = scrollingWidth - scrollerWidth;\n var left = RTL ? -1 * Math.min(tabLeft, maxScroll) : Math.min(tabLeft, maxScroll);\n var currentLeft = scroller.scrollLeft;\n\n if (currentLeft !== left) {\n var duration = Math.abs(currentLeft - left) / SCROLL_SPEED;\n var delaySeconds = SCROLL_DELAY;\n setTimeout(function () {\n scrollTo({\n element: scroller,\n to: left,\n duration: Math.max(SCROLL_MIN_DURATION, duration),\n direction: \"horizontal\"\n }).then(updateScrollButtons);\n }, delaySeconds * 1000);\n }\n };\n\n var updateWithTabIndex = function updateWithTabIndex(_ref3) {\n var index = _ref3.index,\n animate = _ref3.animate;\n\n if (!tabs || !tabs.length) {\n return;\n }\n\n setSelectedTabIndex(index);\n var selectedTabElement = tabs[index].dom;\n\n if (selectedTabElement) {\n updateIndicator({\n selectedTabElement: selectedTabElement,\n animate: animate\n });\n }\n\n if (managesScroll) {\n updateScrollButtons();\n }\n\n scrollToTab(index);\n\n if (props.onChange) {\n props.onChange({\n index: index,\n options: tabs[index].options,\n el: selectedTabElement\n });\n }\n };\n\n useEffect(function () {\n if (!isTabsInited) {\n return;\n }\n\n setRTL(isRTL({\n element: domElement\n }));\n\n var redrawLargestWidth = function redrawLargestWidth() {\n if (props.largestWidth) {\n var widths = tabs.map(function (_ref4) {\n var dom = _ref4.dom;\n return dom.getBoundingClientRect().width;\n });\n var largest = widths.sort(sortByLargestWidth)[0];\n tabs.forEach(function (_ref5) {\n var dom = _ref5.dom;\n return dom.style.width = largest + \"px\";\n });\n }\n };\n\n var redraw = function redraw() {\n return redrawLargestWidth(), updateWithTabIndex({\n index: selectedTabIndex,\n animate: false\n });\n };\n\n var handleFontEvent = function handleFontEvent(_ref6) {\n var name = _ref6.name;\n return name === \"active\" || name === \"inactive\" ? redraw() : null;\n };\n\n subscribe(\"resize\", redraw);\n subscribe(\"webfontloader\", handleFontEvent);\n redraw();\n return function () {\n unsubscribe(\"resize\", redraw);\n unsubscribe(\"webfontloader\", handleFontEvent);\n };\n }, [isTabsInited]);\n var autofit = props.scrollable || props.centered ? false : props.autofit ? true : false; // Keep selected tab up to date\n\n if (tabIndex !== undefined && previousSelectedTabIndex !== tabIndex) {\n updateWithTabIndex({\n index: tabIndex,\n animate: true\n });\n }\n\n if (previousSelectedTabIndex !== tabIndex) {\n setPreviousSelectedTabIndex(tabIndex);\n }\n\n var componentProps = _extends({}, getRef(function (dom) {\n return dom && !domElement && setTimeout(function () {\n return setDomElement(dom);\n }, 0) // delay for Mithril 1.x\n ;\n }), filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.scrollable ? classes.scrollable : null, isScrollButtonAtStart ? classes.isAtStart : null, isScrollButtonAtEnd ? classes.isAtEnd : null, props.activeSelected ? classes.activeSelectable : null, autofit ? classes.isAutofit : null, props.compact ? classes.compactTabs : null, props.menu ? classes.isMenu : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n });\n\n var tabRow = buttons.map(function () {\n var buttonOpts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var index = arguments.length > 1 ? arguments[1] : undefined;\n\n var buttonOptsCombined = _extends({}, buttonOpts, {\n // These options can be overridden by `all`\n selected: index === selectedTabIndex,\n animateOnTap: props.animateOnTap !== false ? true : false\n }, props.all, {\n // Internal options, should not get overridden\n index: index,\n onSelect: function onSelect() {\n return updateWithTabIndex({\n index: index,\n animate: props.noIndicatorSlide ? false : true\n });\n }\n });\n\n return h(Tab, buttonOptsCombined);\n });\n var scrollButtonAtStart = null,\n scrollButtonAtEnd = null;\n\n if (props.scrollable) {\n scrollButtonAtStart = h(ScrollButton, _extends({}, {\n icon: props.scrollIconBackward,\n className: classes.scrollButtonAtStart,\n position: \"start\",\n events: _defineProperty({}, a.onclick, function (e) {\n return handleScrollButtonClick(e, \"backward\");\n }),\n isRTL: RTL\n }));\n scrollButtonAtEnd = h(ScrollButton, _extends({}, {\n icon: props.scrollIconForward,\n className: classes.scrollButtonAtEnd,\n position: \"end\",\n events: _defineProperty({}, a.onclick, function (e) {\n return handleScrollButtonClick(e, \"forward\");\n }),\n isRTL: RTL\n }));\n }\n\n var tabIndicator = props.hideIndicator ? null : h(\"div\", {\n className: classes.indicator\n });\n var componentContent = [scrollButtonAtStart, h(\"div\", {\n className: [classes.tabRow, props.centered ? classes.tabRowCentered : null, props.scrollable ? classes.tabRowIndent : null].join(\" \")\n }, [].concat(_toConsumableArray(tabRow), [tabIndicator])), scrollButtonAtEnd];\n return h(\"div\", componentProps, [props.before].concat(componentContent, [props.after]));\n};\n\nvar _Tab = function _Tab(_ref) {\n var h = _ref.h,\n a = _ref.a,\n Button = _ref.Button,\n Icon = _ref.Icon,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"Button\", \"Icon\"]);\n\n // Let internal onclick function co-exist with passed button option\n var events = props.events || {};\n\n events[a.onclick] = events[a.onclick] || function () {};\n\n var componentProps = _extends({}, props, props.testId && {\n \"data-test-id\": props.testId\n }, {\n \"data-index\": props.index,\n content: h(\"div\", {\n className: classes.tabContent\n }, [props.icon ? h(Icon, props.icon) : null, props.label ? h(\"div\", {\n className: classes.label\n }, h(\"span\", props.label)) : null]),\n className: [classes.tab, props.icon && props.label ? classes.tabHasIcon : null, props.className || props[a[\"class\"]]].join(\" \"),\n selected: props.selected,\n wash: false,\n ripple: true,\n events: _extends({}, events, _defineProperty({}, a.onclick, function (e) {\n props.onSelect();\n events[a.onclick](e);\n }))\n });\n\n var content = props.children;\n return h(Button, componentProps, content);\n};\n\nvar arrowBackward = \"\";\nvar arrowForward = \"\";\nvar _ScrollButton = function _ScrollButton(_ref) {\n var h = _ref.h,\n a = _ref.a,\n IconButton = _ref.IconButton,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"IconButton\"]);\n\n var icon = props.position === \"start\" ? props.icon || {\n svg: {\n content: h.trust(props.isRTL ? arrowForward : arrowBackward)\n }\n } : props.icon || {\n svg: {\n content: h.trust(props.isRTL ? arrowBackward : arrowForward)\n }\n };\n\n var componentProps = _extends({}, {\n className: [classes.scrollButton, props.className || props[a[\"class\"]]].join(\" \"),\n icon: icon,\n ripple: {\n center: true\n },\n events: props.events\n });\n\n return h(IconButton, componentProps);\n};\n\nexport { _ScrollButton, _Tab, _Tabs };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _ScrollButton, _Tab, _Tabs } from 'polythene-core-tabs';\nimport { Button } from 'polythene-mithril-button';\nimport { Icon } from 'polythene-mithril-icon';\nimport { IconButton } from 'polythene-mithril-icon-button';\nimport { cast, h, a, getRef, useState, useEffect } from 'cyano-mithril';\n\nvar ScrollButton = cast(_ScrollButton, {\n h: h,\n a: a,\n IconButton: IconButton\n});\nvar Tab = cast(_Tab, {\n h: h,\n a: a,\n Button: Button,\n Icon: Icon\n});\nvar Tabs = cast(_Tabs, {\n h: h,\n a: a,\n getRef: getRef,\n useState: useState,\n useEffect: useEffect,\n ScrollButton: ScrollButton,\n Tab: Tab\n});\nTabs[\"displayName\"] = \"Tabs\";\n\nexport { Tabs };\n","import { filterSupportedAttributes } from 'polythene-core';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar classes = {\n // Toolbar\n component: \"pe-toolbar\",\n // states\n compact: \"pe-toolbar--compact\",\n appBar: \"pe-toolbar--app-bar\",\n // Toolbar title\n // elements\n title: \"pe-toolbar__title\",\n // states\n centeredTitle: \"pe-toolbar__title--center\",\n indentedTitle: \"pe-toolbar__title--indent\",\n fullbleed: \"pe-toolbar--fullbleed\",\n border: \"pe-toolbar--border\"\n};\n\nvar _Toolbar = function _Toolbar(_ref) {\n var h = _ref.h,\n a = _ref.a,\n Shadow = _ref.Shadow,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\", \"Shadow\"]);\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.component, props.compact ? classes.compact : null, props.fullbleed ? classes.fullbleed : null, props.border ? classes.border : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events);\n\n var componentContent = props.content || props.children;\n var shadow = props.shadowDepth !== undefined ? h(Shadow, {\n shadowDepth: props.shadowDepth,\n animated: true\n }) : null;\n var content = [props.before, componentContent, props.after, shadow];\n return h(props.element || \"div\", componentProps, content);\n};\n\nvar _ToolbarTitle = function _ToolbarTitle(_ref) {\n var h = _ref.h,\n a = _ref.a,\n props = _objectWithoutProperties(_ref, [\"h\", \"a\"]);\n\n var element = props.element ? props.element : props.url ? \"a\" : \"div\";\n\n var componentProps = _extends({}, filterSupportedAttributes(props), props.testId && {\n \"data-test-id\": props.testId\n }, {\n className: [classes.title, props.indent ? classes.indentedTitle : null, props.center ? classes.centeredTitle : null, props.tone === \"dark\" ? \"pe-dark-tone\" : null, props.tone === \"light\" ? \"pe-light-tone\" : null, props.className || props[a[\"class\"]]].join(\" \")\n }, props.events, props.url);\n\n var content = props.text ? props.text : props.content ? props.content : props.children;\n return h(element, componentProps, content);\n};\n\nexport { _Toolbar, _ToolbarTitle };\n","import m from 'mithril';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar currentState;\nvar call = Function.prototype.call.bind(Function.prototype.call);\n\nvar scheduleRender = () => // Call m within the function body so environments with a global instance of m (like flems.io) don't complain\nm.redraw();\n\nvar updateDeps = deps => {\n var state = currentState;\n var index = state.depsIndex++;\n var prevDeps = state.depsStates[index] || [];\n var shouldRecompute = deps === undefined ? true // Always compute\n : Array.isArray(deps) ? deps.length > 0 ? !deps.every((x, i) => x === prevDeps[i]) // Only compute when one of the deps has changed\n : !state.setup // Empty array: only compute at mount\n : false; // Invalid value, do nothing\n\n state.depsStates[index] = deps;\n return shouldRecompute;\n};\n\nvar effect = function effect() {\n var isAsync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n\n if (shouldRecompute) {\n var runCallbackFn = () => {\n var teardown = fn(); // A callback may return a function. If any, add it to the teardowns:\n\n if (typeof teardown === \"function\") {\n // Store this this function to be called at unmount\n state.teardowns.set(fn, teardown); // At unmount, call re-render at least once\n\n state.teardowns.set(\"_\", scheduleRender);\n }\n };\n\n state.updates.push(isAsync ? () => new Promise(resolve => requestAnimationFrame(resolve)).then(runCallbackFn) : runCallbackFn);\n }\n };\n};\n\nvar updateState = function updateState(initialValue) {\n var newValueFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value => value;\n var state = currentState;\n var index = state.statesIndex++;\n\n if (!state.setup) {\n state.states[index] = initialValue;\n }\n\n return [state.states[index], value => {\n var previousValue = state.states[index];\n var newValue = newValueFn(value, index);\n state.states[index] = newValue;\n\n if (JSON.stringify(newValue) !== JSON.stringify(previousValue)) {\n scheduleRender(); // Calling redraw multiple times: Mithril will drop extraneous redraw calls, so performance should not be an issue\n }\n }, index];\n};\n\nvar useState = initialValue => {\n var state = currentState;\n\n var newValueFn = (value, index) => typeof value === \"function\" ? value(state.states[index]) : value;\n\n return updateState(initialValue, newValueFn);\n};\n\nvar useEffect = effect(true);\nvar useLayoutEffect = effect();\n\nvar useReducer = (reducer, initialArg, initFn) => {\n var state = currentState; // From the React docs: You can also create the initial state lazily. To do this, you can pass an init function as the third argument. The initial state will be set to init(initialArg).\n\n var initialValue = !state.setup && initFn ? initFn(initialArg) : initialArg;\n\n var getValueDispatch = () => {\n var [value, setValue, index] = updateState(initialValue);\n\n var dispatch = action => {\n var previousValue = state.states[index];\n return setValue( // Next state:\n reducer(previousValue, action));\n };\n\n return [value, dispatch];\n };\n\n return getValueDispatch();\n};\n\nvar useRef = initialValue => {\n // A ref is a persisted object that will not be updated, so it has no setter\n var [value] = updateState({\n current: initialValue\n });\n return value;\n};\n\nvar useMemo = (fn, deps) => {\n var state = currentState;\n var shouldRecompute = updateDeps(deps);\n var [memoized, setMemoized] = !state.setup ? updateState(fn()) : updateState();\n\n if (state.setup && shouldRecompute) {\n setMemoized(fn());\n }\n\n return memoized;\n};\n\nvar useCallback = (fn, deps) => useMemo(() => fn, deps);\n\nvar withHooks = (component, initialProps) => {\n var init = vnode => {\n Object.assign(vnode.state, {\n setup: false,\n states: [],\n statesIndex: 0,\n depsStates: [],\n depsIndex: 0,\n updates: [],\n teardowns: new Map() // Keep track of teardowns even when the update was run only once\n\n });\n };\n\n var update = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n vnode.state.updates.forEach(call);\n } finally {\n Object.assign(vnode.state, {\n setup: true,\n updates: [],\n depsIndex: 0,\n statesIndex: 0\n });\n currentState = prevState;\n }\n };\n\n var render = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n return component(_objectSpread2({}, initialProps, {}, vnode.attrs, {\n vnode,\n children: vnode.children\n }));\n } catch (e) {\n console.error(e); // eslint-disable-line no-console\n } finally {\n currentState = prevState;\n }\n };\n\n var teardown = vnode => {\n var prevState = currentState;\n currentState = vnode.state;\n\n try {\n [...vnode.state.teardowns.values()].forEach(call);\n } finally {\n currentState = prevState;\n }\n };\n\n return {\n oninit: init,\n oncreate: update,\n onupdate: update,\n view: render,\n onremove: teardown\n };\n};\n\nvar htmlAttributes = {\n accept: \"accept\",\n acceptcharset: \"acceptcharset\",\n accesskey: \"accesskey\",\n action: \"action\",\n allowfullscreen: \"allowfullscreen\",\n allowtransparency: \"allowtransparency\",\n alt: \"alt\",\n async: \"async\",\n autocomplete: \"autocomplete\",\n autofocus: \"autofocus\",\n autoplay: \"autoplay\",\n capture: \"capture\",\n cellpadding: \"cellpadding\",\n cellspacing: \"cellspacing\",\n challenge: \"challenge\",\n charset: \"charset\",\n checked: \"checked\",\n class: \"className\",\n classid: \"classid\",\n classname: \"className\",\n // Special case:\n className: \"className\",\n colspan: \"colspan\",\n cols: \"cols\",\n content: \"content\",\n contenteditable: \"contenteditable\",\n contextmenu: \"contextmenu\",\n controls: \"controls\",\n coords: \"coords\",\n crossorigin: \"crossorigin\",\n data: \"data\",\n datetime: \"datetime\",\n default: \"default\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"enctype\",\n form: \"form\",\n formaction: \"formaction\",\n formenctype: \"formenctype\",\n formmethod: \"formmethod\",\n formnovalidate: \"formnovalidate\",\n formtarget: \"formtarget\",\n frameborder: \"frameborder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hreflang\",\n htmlfor: \"htmlfor\",\n httpequiv: \"httpequiv\",\n icon: \"icon\",\n id: \"id\",\n inputmode: \"inputmode\",\n integrity: \"integrity\",\n is: \"is\",\n keyparams: \"keyparams\",\n keytype: \"keytype\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginheight: \"marginheight\",\n marginwidth: \"marginwidth\",\n max: \"max\",\n maxlength: \"maxlength\",\n media: \"media\",\n mediagroup: \"mediagroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minlength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n novalidate: \"novalidate\",\n nonce: \"nonce\",\n onblur: \"onblur\",\n onchange: \"onchange\",\n onclick: \"onclick\",\n onfocus: \"onfocus\",\n oninput: \"oninput\",\n onkeydown: \"onkeydown\",\n onkeyup: \"onkeyup\",\n onmousedown: \"onmousedown\",\n onmouseout: \"onmouseout\",\n onmouseover: \"onmouseover\",\n onmouseup: \"onmouseup\",\n onscroll: \"onscroll\",\n onsubmit: \"onsubmit\",\n ontouchend: \"ontouchend\",\n ontouchmove: \"ontouchmove\",\n ontouchstart: \"ontouchstart\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n poster: \"poster\",\n preload: \"preload\",\n radiogroup: \"radiogroup\",\n readonly: \"readonly\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rowspan: \"rowspan\",\n rows: \"rows\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellcheck\",\n src: \"src\",\n srcdoc: \"srcdoc\",\n srclang: \"srclang\",\n srcset: \"srcset\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabindex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"usemap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\"\n};\n\nvar a = htmlAttributes;\nvar h = m || {};\nvar trust = h.trust;\n\nh.trust = (html, wrapper) => wrapper ? m(wrapper, trust(html)) : trust(html);\n\nh.displayName = \"mithril\";\nh.fragment = m.fragment;\nvar jsx = m;\nvar getRef = fn => ({\n oncreate: vnode => fn(vnode.dom)\n});\nvar cast = withHooks;\n\nexport { a, cast, getRef, h, jsx, useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState };\n","import { _Toolbar, _ToolbarTitle } from 'polythene-core-toolbar';\nimport { Shadow } from 'polythene-mithril-shadow';\nimport { cast, h, a } from 'cyano-mithril';\n\nvar Toolbar = cast(_Toolbar, {\n h: h,\n a: a,\n Shadow: Shadow\n});\n\nvar ToolbarTitle = cast(_ToolbarTitle, {\n h: h,\n a: a\n});\n\nexport { Toolbar, ToolbarTitle };\n","'use strict';\n\nvar emptyArray = [];\nvar emptyObject = {};\nvar type = emptyObject.toString;\nvar ARRAY = type.call(emptyArray);\nvar OBJECT = type.call(emptyObject);\nvar STRING = type.call('');\nvar FUNCTION = type.call(type);\nvar own = emptyObject.hasOwnProperty;\nvar freeze = Object.freeze || function(o) {return o};\n\n\nfunction defaults(target, source) {\n for (var k in source) if (own.call(source, k)) {\n if (k.indexOf('$') && !(k in target)) target[k] = source[k];\n }\n return target\n}\n\nfunction cartesian(a,b) {\n var res = [], i, j;\n for (j in b) if(own.call(b, j))\n for (i in a) if(own.call(a, i))\n res.push(a[i] + b[j]);\n return res\n}\n\n// \"Tokenizes\" the selectors into parts relevant for the next function.\n// Strings and comments are matched, but ignored afterwards.\n// This is not a full tokenizers. It only recognizes comas, parentheses,\n// strings and comments.\n// regexp generated by scripts/regexps.js then trimmed by hand\nvar selectorTokenizer = /[(),]|\"(?:\\\\.|[^\"\\n])*\"|'(?:\\\\.|[^'\\n])*'|\\/\\*[\\s\\S]*?\\*\\//g;\n\n\n/**\n * This will split a coma-separated selector list into individual selectors,\n * ignoring comas in strings, comments and in :pseudo-selectors(parameter, lists).\n *\n * @param {string} selector\n * @return {string[]}\n */\n\nfunction splitSelector(selector) {\n var indices = [], res = [], inParen = 0, o;\n /*eslint-disable no-cond-assign*/\n while (o = selectorTokenizer.exec(selector)) {\n /*eslint-enable no-cond-assign*/\n switch (o[0]) {\n case '(': inParen++; break\n case ')': inParen--; break\n case ',': if (inParen) break; indices.push(o.index);\n }\n }\n for (o = indices.length; o--;){\n res.unshift(selector.slice(indices[o] + 1));\n selector = selector.slice(0, indices[o]);\n }\n res.unshift(selector);\n return res\n}\n\n// Like the `selectorTokenizer`, but for the `&` operator\nvar ampersandTokenizer = /&|\"(?:\\\\.|[^\"\\n])*\"|'(?:\\\\.|[^'\\n])*'|\\/\\*[\\s\\S]*?\\*\\//g;\n\nfunction ampersand (selector, parents) {\n var indices = [], split = [], res, o;\n /*eslint-disable no-cond-assign*/\n while (o = ampersandTokenizer.exec(selector)) {\n /*eslint-enable no-cond-assign*/\n if (o[0] == '&') indices.push(o.index);\n }\n for (o = indices.length; o--;){\n split.unshift(selector.slice(indices[o] + 1));\n selector = selector.slice(0, indices[o]);\n }\n split.unshift(selector);\n if (split.length === 1) split.unshift('');\n res = [split[0]];\n for (o = 1; o < split.length; o++) {\n res = cartesian(res, cartesian(parents, [split[o]]));\n }\n return res.join(',')\n}\n\nfunction flatIter (f) {\n return function iter(arg) {\n if (type.call(arg) === ARRAY) for (var i= 0 ; i < arg.length; i ++) iter(arg[i]);\n else f(arg);\n }\n}\n\nfunction decamelize(match) {\n return '-' + match.toLowerCase()\n}\n\n/**\n * Handles the property:value; pairs.\n *\n * @param {object} state - holds the localizer- and walker-related methods\n * and state\n * @param {object} emit - the contextual emitters to the final buffer\n * @param {string} prefix - the current property or a prefix in case of nested\n * sub-properties.\n * @param {array|object|string} o - the declarations.\n * @param {boolean} local - are we in @local or in @global scope.\n */\n\nfunction declarations(state, emit, prefix, o, local) {\n var k, v, kk;\n if (o==null) return\n\n switch ( type.call(o = o.valueOf()) ) {\n case ARRAY:\n for (k = 0; k < o.length; k++)\n\n declarations(state, emit, prefix, o[k], local);\n\n break\n case OBJECT:\n // prefix is falsy iif it is the empty string, which means we're at the root\n // of the declarations list.\n prefix = (prefix && prefix + '-');\n for (k in o) if (own.call(o, k)){\n v = o[k];\n if (/\\$/.test(k)) {\n for (kk in (k = k.split('$'))) if (own.call(k, kk)) {\n\n declarations(state, emit, prefix + k[kk], v, local);\n\n }\n } else {\n\n declarations(state, emit, prefix + k, v, local);\n\n }\n }\n break\n default:\n // prefix is falsy when it is \"\", which means that we're\n // at the top level.\n // `o` is then treated as a `property:value` pair, or a\n // semi-colon-separated list thereof.\n // Otherwise, `prefix` is the property name, and\n // `o` is the value.\n\n // restore the dashes\n k = prefix.replace(/_/g, '-').replace(/[A-Z]/g, decamelize);\n\n if (local && (k == 'animation-name' || k == 'animation' || k == 'list-style')) {\n // no need to tokenize here a plain `.split(',')` has all bases covered.\n // We may 'localize' a comment, but it's not a big deal.\n o = o.split(',').map(function (o) {\n\n return o.replace(/^\\s*(?:(var\\([^)]+\\))|:?global\\(\\s*([_A-Za-z][-\\w]*)\\s*\\)|()(-?[_A-Za-z][-\\w]*))/, state.localizeReplacer)\n\n }).join(',');\n }\n\n emit.decl(k, o);\n\n }\n}\n\n/**\n * Handles a single at-rules\n *\n * @param {object} state - holds the localizer- and walker-related methods\n * and state\n * @param {object} emit - the contextual emitters to the final buffer\n * @param {array} k - The parsed at-rule, including the parameters,\n * if takes both parameters and a block.\n * k == [match, fullAtRule, atRuleType, params?]\n * So in `@-webkit-keyframes foo`, we have\n * - match = \"@-webkit-keyframes foo\"\n * - fullAtRule = \"@-webkit-keyframes\"\n * - atRuleType = \"keyframes\"\n * - params = \"foo\"\n * @param {string|string[]|object|object[]} v - Either parameters for\n * block-less rules or\n * their block\n * for the others.\n * @param {string} prefix - the current selector or the selector prefix\n * in case of nested rules\n * @param {boolean} local - are we in @local or in @global scope?\n * @param {string} nestingDepth - are we nested in an at-rule or a selector?\n */\n\nfunction atRules(state, emit, k, v, prefix, local, nestingDepth) {\n\n // First iterate over user-provided at-rules and return if one of them corresponds to the current one\n for (var i = 0; i < state.$atHandlers.length; i++) {\n\n if (state.$atHandlers[i](state, emit, k, v, prefix, local, nestingDepth)) return\n\n }\n\n // using `/^global$/.test(k[2])` rather that 'global' == k[2] gzips\n // slightly better thanks to the regexps tests further down.\n // It is slightly less efficient but this isn't a critical path.\n\n if (!k[3] && /^global$/.test(k[2])) {\n\n rules(state, emit, prefix, v, 0, nestingDepth);\n\n\n } else if (!k[3] && /^local$/.test(k[2])) {\n\n rules(state, emit, prefix, v, 1, nestingDepth);\n\n\n } else if (k[3] && /^adopt$/.test(k[2])) {\n\n if (!local || nestingDepth) return emit.err('@adopt global or nested: ' + k[0])\n\n if (!/^\\.?[_A-Za-z][-\\w]*$/.test(k[3])) return emit.err('bad adopter ' + JSON.stringify(k[3]) + ' in ' + k[0])\n\n i = [];\n flatIter(function(adoptee, asString) {\n\n if(adoptee == null || !/^\\.?[_A-Za-z][-\\w]*(?:\\s+\\.?[_A-Za-z][-\\w]*)*$/.test(asString = adoptee + '')) emit.err('bad adoptee '+ JSON.stringify(adoptee) + ' in ' + k[0]);\n\n else i.push(asString.replace(/\\./g, ''));\n\n })(v);\n\n // we may end up with duplicate classes but AFAIK it has no consequences on specificity.\n if (i.length) {\n state.localize(k[3] = k[3].replace(/\\./g, ''));\n state.names[k[3]] += (' ' + i.join(' '));\n }\n\n\n } else if (!k[3] && /^(?:namespace|import|charset)$/.test(k[2])) {\n flatIter(function(v) {\n\n emit.atrule(k[1], k[2], v);\n\n })(v);\n\n\n } else if (!k[3] && /^(?:font-face|viewport)$/.test(k[2])) {\n flatIter(function(v) {\n\n emit.atrule(k[1], k[2], k[3], 1);\n\n declarations(state, emit, '', v, local);\n\n emit._atrule();\n\n })(v);\n\n } else if (k[3] && /^(?:media|supports|page|keyframes)$/.test(k[2])) {\n\n if (local && 'keyframes' == k[2]) {\n k[3] = k[3].replace(\n // generated by script/regexps.js\n /(var\\([^)]+\\))|:?global\\(\\s*([_A-Za-z][-\\w]*)\\s*\\)|()(-?[_A-Za-z][-\\w]*)/,\n state.localizeReplacer\n );\n }\n\n\n emit.atrule(k[1], k[2], k[3], 1);\n\n if ('page' == k[2]) {\n\n declarations(state, emit, '', v, local);\n\n } else {\n\n rules(\n state, emit,\n 'keyframes' == k[2] ? '' : prefix,\n v, local, nestingDepth + 1\n );\n\n }\n\n emit._atrule();\n\n } else {\n\n emit.err('Unsupported at-rule: ' + k[0]);\n\n }\n}\n\n/**\n * Add rulesets and other CSS tree to the sheet.\n *\n * @param {object} state - holds the localizer- and walker-related methods\n * and state\n * @param {object} emit - the contextual emitters to the final buffer\n * @param {string} prefix - the current selector or a prefix in case of nested rules\n * @param {array|string|object} tree - a source object or sub-object.\n * @param {string} nestingDepth - are we nested in an at-rule?\n * @param {boolean} local - are we in @local or in @global scope?\n */\nfunction rules(state, emit, prefix, tree, local, nestingDepth) {\n var k, v, inDeclaration, kk;\n\n switch (type.call(tree)) {\n\n case OBJECT:\n for (k in tree) if (own.call(tree, k)) {\n v = tree[k];\n\n if (prefix.length > 0 && /^[-\\w$]+$/.test(k)) {\n if (!inDeclaration) {\n inDeclaration = 1;\n\n emit.rule(prefix);\n\n }\n if (/\\$/.test(k)) {\n for (kk in (k = k.split('$'))) if (own.call(k, kk)) {\n\n declarations(state, emit, k[kk], v, local);\n\n }\n } else {\n\n declarations(state, emit, k, v, local);\n\n }\n\n } else if (/^@/.test(k)) {\n // Handle At-rules\n inDeclaration = 0;\n\n atRules(state, emit,\n /^(.(?:-[\\w]+-)?([_A-Za-z][-\\w]*))\\b\\s*(.*?)\\s*$/.exec(k) || [k,'@','',''],\n v, prefix, local, nestingDepth\n );\n\n } else {\n // selector or nested sub-selectors\n inDeclaration = 0;\n\n rules(\n state, emit,\n // build the selector `prefix` for the next iteration.\n // ugly and full of redundant bits but so far the fastest/shortest.gz\n /*0 if*/(prefix.length > 0 && (/,/.test(prefix) || /,/.test(k))) ?\n\n /*0 then*/ (kk = splitSelector(prefix), splitSelector(\n local ?\n\n k.replace(\n /(\"(?:\\\\.|[^\"\\n])*\"|'(?:\\\\.|[^'\\n])*'|\\/\\*[\\s\\S]*?\\*\\/)|:global\\(\\s*(\\.-?[_A-Za-z][-\\w]*)\\s*\\)|(\\.)(-?[_A-Za-z][-\\w]*)/g,\n state.localizeReplacer\n ) :\n\n k\n ).map(function (k) {\n return /&/.test(k) ? ampersand(k, kk) : kk.map(function(kk) {\n return kk + k\n }).join(',')\n }).join(',')) :\n\n /*0 else*/ /*1 if*/ /&/.test(k) ?\n\n /*1 then*/ ampersand(\n local ?\n\n k.replace(\n /(\"(?:\\\\.|[^\"\\n])*\"|'(?:\\\\.|[^'\\n])*'|\\/\\*[\\s\\S]*?\\*\\/)|:global\\(\\s*(\\.-?[_A-Za-z][-\\w]*)\\s*\\)|(\\.)(-?[_A-Za-z][-\\w]*)/g,\n state.localizeReplacer\n ) :\n\n k,\n [prefix]\n ) :\n\n /*1 else*/ prefix + (\n local ?\n\n k.replace(\n /(\"(?:\\\\.|[^\"\\n])*\"|'(?:\\\\.|[^'\\n])*'|\\/\\*[\\s\\S]*?\\*\\/)|:global\\(\\s*(\\.-?[_A-Za-z][-\\w]*)\\s*\\)|(\\.)(-?[_A-Za-z][-\\w]*)/g,\n state.localizeReplacer\n ) :\n\n k\n ),\n v, local, nestingDepth + 1\n );\n\n }\n }\n\n break\n\n case ARRAY:\n for (k = 0; k < tree.length; k++){\n\n rules(state, emit, prefix, tree[k], local, nestingDepth);\n\n }\n break\n\n case STRING:\n // CSS hacks or ouptut of `j2c.inline`.\n if (!prefix.length) emit.err('No selector');\n emit.rule(prefix || ' ');\n\n declarations(state, emit, '', tree, local);\n\n }\n}\n\n// This is the first entry in the filters array, which is\n// actually the last step of the compiler. It inserts\n// closing braces to close normal (non at-) rules (those\n// that start with a selector). Doing it earlier is\n// impossible without passing state around in unrelated code\n// or ending up with duplicated selectors when the source tree\n// contains arrays.\n// There's no `_rule` handler, because the core compiler never\n// calls it.\nfunction closeSelectors(next, inline) {\n var lastSelector;\n return inline ? next : {\n init: function(){lastSelector = 0; next.init();},\n done: function (raw) {\n if (lastSelector) {next._rule(); lastSelector = 0;}\n return next.done(raw)\n },\n atrule: function (rule, kind, param, takesBlock) {\n if (lastSelector) {next._rule(); lastSelector = 0;}\n next.atrule(rule, kind, param, takesBlock);\n },\n _atrule: function (rule) {\n if (lastSelector) {next._rule(); lastSelector = 0;}\n next._atrule(rule);\n },\n rule: function (selector) {\n if (selector !== lastSelector){\n if (lastSelector) next._rule();\n next.rule(selector);\n lastSelector = selector;\n }\n }\n }\n}\n\nfunction global(x) {\n return ':global(' + x + ')'\n}\n\nfunction kv (k, v, o) {\n o = {};\n o[k] = v;\n return o\n}\n\nfunction at (rule, params, block) {\n if (\n arguments.length < 3\n ) {\n // inner curry!\n var _at = at.bind.apply(at, [null].concat([].slice.call(arguments,0)));\n // So that it can be used as a key in an ES6 object literal.\n _at.toString = function(){return '@' + rule + ' ' + params};\n return _at\n }\n else return kv('@' + rule +' ' + params, block)\n}\n\nfunction j2c() {\n\n // the buffer that accumulates the output. Initialized in `$sink.i()`\n var buf, err;\n\n // the bottom of the 'codegen' stream. Mirrors the `$filter` plugin API.\n var $sink = {\n init: function(){buf=[], err=[];},\n done: function (raw) {\n if (err.length != 0) throw new Error('j2c error(s): ' + JSON.stringify(err,null,2) + 'in context:\\n' + buf.join(''))\n return raw ? buf : buf.join('')\n },\n err: function(msg) {\n err.push(msg);\n buf.push('/* +++ ERROR +++ ' + msg + ' */\\n');\n },\n atrule: function (rule, kind, param, takesBlock) {\n buf.push(rule, param && ' ', param, takesBlock ? ' {' : ';', _instance.endline);\n },\n // close atrule\n _atrule: function () {buf.push('}', _instance.endline);},\n rule: function (selector) {buf.push(selector, ' {', _instance.endline);},\n // close rule\n _rule: function () {buf.push('}', _instance.endline);},\n decl: function (prop, value) {buf.push(prop, prop && ':', value, ';', _instance.endline);}\n };\n\n // holds the `$filter` and `$at` handlers\n var $filters = [closeSelectors];\n var $atHandlers = [];\n\n // the public API (see the main docs)\n var _instance = {\n at: at,\n global: global,\n kv: kv,\n names: {},\n endline: '\\n',\n suffix: '__j2c-' +\n // 128 bits of randomness\n Math.floor(Math.random() * 0x100000000).toString(36) + '-' +\n Math.floor(Math.random() * 0x100000000).toString(36) + '-' +\n Math.floor(Math.random() * 0x100000000).toString(36) + '-' +\n Math.floor(Math.random() * 0x100000000).toString(36),\n $plugins: [],\n sheet: function(tree) {\n var emit = _createOrRetrieveStream(0);\n emit.init();\n rules(\n _walkers[0],\n emit,\n '', // prefix\n tree,\n 1, // local, by default\n 0 // nesting depth\n );\n\n return emit.done()\n },\n inline: function (tree, options) {\n var emit = _createOrRetrieveStream(1);\n emit.init();\n declarations(\n _walkers[1],\n emit,\n '', // prefix\n tree,\n !(options && options.global) // local, by default\n );\n return emit.done()\n }\n };\n\n // The `state` (for the core functions) / `walker` (for the plugins) tables.\n var _walkers = [\n // for j2c.sheet\n {\n // helpers for locaizing class and animation names\n localizeReplacer: _localizeReplacer, // second argument to String.prototype.replace\n localize: _localize, // mangles local names\n names: _instance.names, // local => mangled mapping\n $atHandlers: $atHandlers, // extra at-rules\n // The core walker methods, to be provided to plugins\n atrule: atRules,\n decl: declarations,\n rule: rules\n },\n // likewise, for j2c.inline (idem with `$a`, `a` and `s` removed)\n {\n localizeReplacer: _localizeReplacer,\n localize: _localize,\n names: _instance.names,\n decl: declarations\n }\n ];\n\n\n // inner helpers\n\n var _use = flatIter(function(plugin) {\n // `~n` is falsy for `n === -1` and truthy otherwise.\n // Works well to turn the result of `a.indexOf(x)`\n // into a value that reflects the presence of `x` in\n // `a`.\n if (~_instance.$plugins.indexOf(plugin)) return\n\n _instance.$plugins.push(plugin);\n\n if (type.call(plugin) === FUNCTION) plugin = plugin(_instance);\n\n if (!plugin) return\n\n flatIter(function(filter) {\n $filters.push(filter);\n })(plugin.$filter || emptyArray);\n\n flatIter(function(handler) {\n $atHandlers.push(handler);\n })(plugin.$at || emptyArray);\n\n defaults(_instance.names, plugin.$names || emptyObject);\n\n _use(plugin.$plugins || emptyArray);\n\n $sink = plugin.$sink || $sink;\n\n defaults(_instance, plugin);\n });\n\n\n var _streams = [];\n /**\n * returns the codegen streams, creating them if necessary\n * @param\n */\n function _createOrRetrieveStream(inline) {\n // build the stream processors if needed\n if (!_streams.length) {\n // append the $sink as the ultimate filter\n $filters.push(function(_, inline) {return inline ? {init:$sink.init, decl:$sink.decl, done:$sink.done, err: $sink.err} : $sink});\n for(var i = 0; i < 2; i++){ // 0 for j2c.sheet, 1 for j2c.inline\n for (var j = $filters.length; j--;) {\n _streams[i] = freeze(\n defaults(\n $filters[j](_streams[i], !!i),\n _streams[i]\n )\n );\n }\n }\n }\n return _streams[inline]\n }\n\n /**\n * Returns a localized version of a given name.\n * Registers the pair in `instnace.name` if needed.\n *\n * @param {string} name - the name to localize\n * @return {string} - the localized version\n */\n function _localize(name) {\n if (!_instance.names[name]) _instance.names[name] = name + _instance.suffix;\n return _instance.names[name].match(/^\\S+/)\n }\n\n /**\n * Used as second argument for str.replace(localizeRegex, replacer)\n * `ignore`, `global` and `(dot, name)` are mutually exclusive\n *\n * @param {string} match - the whole match (ignored)\n * @param {string|null} ignore - a comment or a string literal\n * @param {string|null} global - a global name\n * @param {string|null} dot - either '.' for a local class name or the empty string otherwise\n * @param {string|null} name - the name to localize\n * @return {string}\n */\n function _localizeReplacer(match, ignore, global$$1, dot, name) {\n return ignore || global$$1 || dot + _localize(name)\n }\n\n _use(emptyArray.slice.call(arguments));\n return _instance\n}\n\nmodule.exports = j2c;\n","import J2c from 'j2c';\nimport { isServer } from 'polythene-core';\n\n// @ts-check\n\n/**\n * @typedef {{[selector:string] : object}} Style\n * @typedef {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array element.\n * @param {...Array} styles - List of style Objects\n * @returns {void}\n */\n\nvar add = function add(id) {\n for (var _len = arguments.length, styles = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n styles[_key - 1] = arguments[_key];\n }\n\n return addToDocument.apply(void 0, [{\n id: id\n }].concat(styles));\n};\n/**\n * Removes a style from head.\n * @param {string} id - Identifier, used as HTMLElement id for the attached element.\n * @returns {void}\n */\n\n\nvar remove = function remove(id) {\n if (isServer) return;\n\n if (id) {\n var old = document.getElementById(id);\n\n if (old && old.parentNode) {\n old.parentNode.removeChild(old);\n }\n }\n};\n/**\n * Adds styles to the head.\n * @param {object} params\n * @param {string} params.id - Identifier, used as HTMLElement id for the attached element.\n * @param {object} [params.document] - Document reference.\n * @param {...Array} styles - List of style Objects.\n * @returns {void}\n */\n\n\nvar addToDocument = function addToDocument(_ref) {\n var id = _ref.id,\n document = _ref.document;\n if (isServer) return;\n var safeId = id.replace(ID_REGEX, \"_\");\n remove(safeId);\n var documentRef = document || window.document;\n var styleEl = documentRef.createElement(\"style\");\n\n if (safeId) {\n styleEl.setAttribute(\"id\", safeId);\n }\n\n for (var _len2 = arguments.length, styles = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styles[_key2 - 1] = arguments[_key2];\n }\n\n styles.forEach(function (styles) {\n // each style returns a list\n if (Object.keys(styles).length) {\n styles.forEach(function (style) {\n var scoped = {\n \"@global\": style\n };\n var sheet = j2c.sheet(scoped);\n styleEl.appendChild(documentRef.createTextNode(sheet));\n });\n }\n });\n documentRef.head.appendChild(styleEl);\n};\n/**\n * \n * @param {object} params\n * @param {StyleObject|Array} params.styles\n * @param {string} [params.scope]\n * @returns {Array}\n */\n\n\nvar wrapInScope = function wrapInScope(_ref2) {\n var styles = _ref2.styles,\n scope = _ref2.scope;\n return scope ? [_defineProperty({}, scope, styles)] : styles;\n};\n/**\n * Adds component styles to head.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars\n * @param {object} [params.customVars]\n * @param {string} [params.mediaQuery]\n * @param {string} [params.scope]\n * @param {string} [params.identifier]\n * @returns {void}\n */\n\n\nvar addStyle = function addStyle(_ref4) {\n var selectors = _ref4.selectors,\n styleFns = _ref4.fns,\n vars = _ref4.vars,\n customVars = _ref4.customVars,\n mediaQuery = _ref4.mediaQuery,\n scope = _ref4.scope,\n identifier = _ref4.identifier;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n }).filter(function (list) {\n return list.length > 0;\n });\n\n if (styles.length === 0) {\n return;\n }\n\n var id = identifier || selector.trim().replace(/^[^a-z]?(.*)/, \"$1\");\n add(id, wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n }));\n};\n/**\n * Returns a list of style objects for a component.\n * @param {object} params\n * @param {Array} params.selectors\n * @param {Array} params.fns\n * @param {object} params.vars - Style configuration variables\n * @param {object} [params.customVars] - Style configuration variables\n * @param {string} [params.mediaQuery] - Mediaquery string\n * @param {string} [params.scope] - Scope selector\n * @returns {Array}\n */\n\n\nvar getStyle = function getStyle(_ref5) {\n var selectors = _ref5.selectors,\n styleFns = _ref5.fns,\n vars = _ref5.vars,\n customVars = _ref5.customVars,\n mediaQuery = _ref5.mediaQuery,\n scope = _ref5.scope;\n var prefix = scope ? \" \" : \"\";\n var selector = prefix + selectors.join(\"\");\n var styles = styleFns.map(function (fn) {\n return fn(selector, vars, customVars);\n });\n return wrapInScope({\n styles: wrapInScope({\n styles: styles,\n scope: scope\n }),\n scope: mediaQuery\n });\n};\n/**\n * Adds component styles to head.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createAddStyle = function createAddStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {void}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref6 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref6.mediaQuery,\n scope = _ref6.scope;\n\n return addStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n });\n }\n );\n};\n/**\n * Returns styles for a component.\n * @param {string} selector \n * @param {Array} fns \n * @param {object} vars - Style configuration variables\n */\n\n\nvar createGetStyle = function createGetStyle(selector, fns, vars) {\n return (\n /**\n * @param {string} [customSelector=\"\"]\n * @param {object} customVars\n * @param {object} [scoping={}]\n * @param {string} [scoping.mediaQuery]\n * @param {string} [scoping.scope]\n * @returns {Array}\n */\n function () {\n var customSelector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var customVars = arguments.length > 1 ? arguments[1] : undefined;\n\n var _ref7 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n mediaQuery = _ref7.mediaQuery,\n scope = _ref7.scope;\n\n return [getStyle({\n selectors: [selector, customSelector],\n fns: fns,\n vars: vars,\n customVars: customVars,\n mediaQuery: mediaQuery,\n scope: scope\n })];\n }\n );\n};\n\nvar styler = {\n add: add,\n addStyle: addStyle,\n addToDocument: addToDocument,\n createAddStyle: createAddStyle,\n createGetStyle: createGetStyle,\n getStyle: getStyle,\n remove: remove\n};\n\n// @ts-check\n\n/**\n * @typedef {(selector: string, vars: object, customVars?: object) => Array} StyleFn\n * @typedef {{[s: string]: StyleFn}} StyleCollection\n */\n\n/**\n * Wraps an object with a selector.\n * @param {string} selector \n * @param {object} o \n * @returns {object}\n */\nvar sel = function sel(selector, o) {\n return _defineProperty({}, selector, o);\n};\n/**\n * Creates a right-to-left selector.\n * @param {string} selector\n * @returns {string}\n */\n\nvar selectorRTL = function selectorRTL(selector) {\n return \"*[dir=rtl] \".concat(selector, \", .pe-rtl \").concat(selector);\n};\n/**\n * Creates a rgba CSS color string.\n * @param {string} colorStr \n * @param {number} opacity \n * @returns {string}\n */\n\nvar rgba = function rgba(colorStr) {\n var opacity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return \"rgba(\".concat(colorStr, \", \").concat(opacity, \")\");\n};\n/**\n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superStyle]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @param {StyleCollection} [params.componentVars]\n * @param {StyleCollection} [params.customVars]\n * @returns {Array}\n */\n\nvar createStyle = function createStyle(_ref2) {\n var varFns = _ref2.varFns,\n customVarFns = _ref2.customVarFns,\n superStyle = _ref2.superStyle,\n varMixin = _ref2.varMixin,\n selector = _ref2.selector,\n scopedSelector = _ref2.scopedSelector,\n _ref2$componentVars = _ref2.componentVars,\n componentVars = _ref2$componentVars === void 0 ? {} : _ref2$componentVars,\n customVars = _ref2.customVars;\n\n var allVars = _objectSpread2({}, componentVars, {}, customVars);\n\n var currentVars = customVars ? customVars : allVars;\n\n var general_styles = componentVars.general_styles,\n otherVars = _objectWithoutProperties(componentVars, [\"general_styles\"]);\n\n var baseLayout = superStyle !== undefined ? customVars !== undefined ? superStyle(selector, componentVars, customVars) : superStyle(selector, otherVars) : [];\n\n var fns = _objectSpread2({}, customVars ? customVarFns : {}, {}, varFns);\n\n return baseLayout.concat(Object.keys(varMixin(currentVars)).map(function (v) {\n return fns && fns[v] !== undefined ? fns[v](scopedSelector, allVars) : null;\n }).filter(function (s) {\n return s;\n }));\n};\n/**\n * \n * @param {object} params\n * @param {StyleCollection} [params.varFns]\n * @param {StyleCollection} [params.customVarFns]\n * @param {StyleFn} [params.superLayout]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\n\nvar createLayout = function createLayout(_ref3) {\n var varFns = _ref3.varFns,\n customVarFns = _ref3.customVarFns,\n superLayout = _ref3.superLayout,\n _ref3$varMixin = _ref3.varMixin,\n varMixin = _ref3$varMixin === void 0 ? function (o) {\n return o;\n } : _ref3$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return createStyle({\n varFns: varFns,\n customVarFns: customVarFns,\n superStyle: superLayout,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: selector,\n componentVars: componentVars,\n customVars: customVars\n });\n }\n );\n};\n/**\n * \n * @param {object} params\n * @param {string} [params.selector]\n * @param {string} [params.scopedSelector]\n * @param {object} [params.componentVars]\n * @param {object} [params.customVars] \n * @param {StyleFn} [params.superColor]\n * @param {StyleCollection} [params.varFns]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {Array}\n */\n\nvar createColorStyle = function createColorStyle(_ref4) {\n var selector = _ref4.selector,\n scopedSelector = _ref4.scopedSelector,\n componentVars = _ref4.componentVars,\n customVars = _ref4.customVars,\n varFns = _ref4.varFns,\n superColor = _ref4.superColor,\n varMixin = _ref4.varMixin;\n return createStyle({\n varFns: varFns,\n superStyle: superColor,\n varMixin: varMixin,\n selector: selector,\n scopedSelector: scopedSelector,\n componentVars: componentVars,\n customVars: customVars\n });\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} params.isNoTouch\n* @returns {string}\n */\n\nvar appendPseudoClass = function appendPseudoClass(_ref5) {\n var scopes = _ref5.scopes,\n selector = _ref5.selector,\n isNoTouch = _ref5.isNoTouch;\n return isNoTouch ? scopes.map(function (s) {\n return s + selector + \":hover\";\n }).join(\",\") : scopes.map(function (s) {\n return s + selector;\n }).join(\",\");\n};\n/**\n * \n * @param {object} params \n * @param {Array} params.scopes\n * @param {string} params.selector\n * @param {boolean} [params.isNoTouch]\n * @returns {string}\n */\n\n\nvar createScopedSelector = function createScopedSelector(_ref6) {\n var scopes = _ref6.scopes,\n selector = _ref6.selector,\n _ref6$isNoTouch = _ref6.isNoTouch,\n isNoTouch = _ref6$isNoTouch === void 0 ? false : _ref6$isNoTouch;\n return selector.split(/\\s*,\\s*/).map(function (s) {\n return appendPseudoClass({\n scopes: scopes,\n selector: s,\n isNoTouch: isNoTouch\n });\n }).join(\"\");\n};\n/**\n * @typedef {object} ColorScopeObject\n * @property {Array} scopes\n * @property {string} varFnName\n * @property {boolean} isNoTouch\n */\n\n/**\n * @type {Array} colorScopes\n */\n\n\nvar colorScopes = [{\n // has/inside dark tone\n scopes: [\".pe-dark-tone\", \".pe-dark-tone \"],\n varFnName: \"darkTintFns\",\n isNoTouch: false\n}, {\n // normal, has/inside light tone\n scopes: [\"\", \".pe-light-tone\", \".pe-light-tone \"],\n varFnName: \"lightTintFns\",\n isNoTouch: false\n}, {\n // has/inside dark tone\n scopes: [\".pe-no-touch .pe-dark-tone \"],\n varFnName: \"darkTintHoverFns\",\n isNoTouch: true\n}, {\n // normal, has/inside light tone\n scopes: [\".pe-no-touch \", \".pe-no-touch .pe-light-tone \"],\n varFnName: \"lightTintHoverFns\",\n isNoTouch: true\n}];\n/**\n * \n * @param {object} params\n * @param {object} [params.varFns]\n * @param {StyleFn} [params.superColor]\n * @param {(_:any) => StyleCollection} [params.varMixin]\n * @returns {StyleFn}\n */\n\nvar createColor = function createColor(_ref7) {\n var _ref7$varFns = _ref7.varFns,\n varFns = _ref7$varFns === void 0 ? {} : _ref7$varFns,\n superColor = _ref7.superColor,\n _ref7$varMixin = _ref7.varMixin,\n varMixin = _ref7$varMixin === void 0 ? function (o) {\n return o;\n } : _ref7$varMixin;\n return (\n /**\n * @param {string} selector\n * @param {object} componentVars\n * @param {object} [customVars]\n * @returns {Array}\n */\n function (selector, componentVars, customVars) {\n return colorScopes.map(function (_ref8) {\n var scopes = _ref8.scopes,\n varFnName = _ref8.varFnName,\n isNoTouch = _ref8.isNoTouch;\n return createColorStyle({\n selector: selector,\n scopedSelector: createScopedSelector({\n scopes: scopes,\n selector: selector,\n isNoTouch: isNoTouch\n }),\n componentVars: componentVars,\n customVars: customVars,\n varFns: varFns[varFnName],\n superColor: superColor,\n varMixin: varMixin\n });\n });\n }\n );\n};\n/**\n * @param {object} vars \n * @param {object} behaviorVars\n * @returns {string|undefined} \n */\n\nvar createMarkerValue = function createMarkerValue(vars, behaviorVars) {\n var marker = Object.keys(behaviorVars).filter(function (bvar) {\n return vars[bvar] === true;\n }).join(\".\");\n return marker ? \"\\\"\".concat(marker, \"\\\"\") : undefined;\n};\n/**\n * Creates a CSS style from which the key can be read from the `content` property.\n * @param {object} vars \n * @param {object} behaviorVars \n * @returns {object}\n */\n\n\nvar createMarker = function createMarker(vars, behaviorVars) {\n if (!vars) {\n console.error(\"createMarker requires param `vars`\"); // eslint-disable-line no-console\n }\n\n var value = createMarkerValue(vars, behaviorVars);\n return value ? {\n \":before\": {\n content: value,\n display: \"none\"\n }\n } : undefined;\n};\n\n// @ts-check\n/**\n * @typedef {{[selector:string] : Style | any}} Style\n */\n\n/**\n * @type {Array