From c8383a9c8041039038c0017f263ff112f1a896b9 Mon Sep 17 00:00:00 2001 From: Joxit Date: Fri, 9 Jun 2023 06:53:00 +0200 Subject: [PATCH] build: release 2.5.0 :rocket: --- CONTRIBUTORS.md | 9 ++++++ README.md | 56 ++++++++++++++++++++++++++++++++++++- dist/docker-registry-ui.css | 2 +- dist/docker-registry-ui.js | 24 ++++++++-------- dist/images/rocket.svg | 1 + dist/index.html | 6 ++++ package.json | 2 +- 7 files changed, 85 insertions(+), 15 deletions(-) create mode 100644 dist/images/rocket.svg diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 40a2bd8..cda60c2 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -15,6 +15,7 @@ - Murad [@muradheydarov](https://github.com/muradheydarov) - Giacomo Mazzamuto [@gmazzamuto](https://github.com/gmazzamuto) - Joe Bureau [@jabstone](https://github.com/jabstone) +- Artur Mostowski [@Vulwsztyn](https://github.com/Vulwsztyn) ## Because committers are not the only contributors @@ -44,3 +45,11 @@ - [@JKDingwall](https://github.com/JKDingwall) - Martin Herren [@MartinHerren](https://github.com/MartinHerren) - John Daktylidis [@Greek64](https://github.com/Greek64) +- Philipp Staiger [@lippl](https://github.com/lippl) +- [@mexaniksmirnov](https://github.com/mexaniksmirnov) +- [@HighOnMikey](https://github.com/HighOnMikey) +- [@logopk](https://github.com/logopk) +- Gustaf Järgren [@GoryMoon](https://github.com/GoryMoon) +- [@ArwynFr](https://github.com/ArwynFr) +- Nikita Matushkin [@yourh3ro](https://github.com/yourh3ro) +- Michael Grote [@quotengrote](https://github.com/quotengrote) diff --git a/README.md b/README.md index d8a23e6..359863d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![Pulls](https://img.shields.io/docker/pulls/joxit/docker-registry-ui.svg?maxAge=86400)](https://hub.docker.com/r/joxit/docker-registry-ui) [![Sponsor](https://joxit.dev/images/sponsor.svg)](https://github.com/sponsors/Joxit) [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/joxit)](https://artifacthub.io/packages/search?repo=joxit) +[![Version](https://img.shields.io/github/release/joxit/docker-registry-ui?display_name=tag&sort=semver)](https://github.com/Joxit/docker-registry-ui/releases) ## Overview @@ -15,6 +16,16 @@ This web user interface uses [Riot](https://github.com/Riot/riot) the react-like If you like my work and want to support it, don't hesitate to [sponsor me](https://github.com/sponsors/Joxit). +## Supported Docker tags + +* `latest`: image with the latest release of Docker Registry UI based on `nginx:alpine` +* `latest-debian`: image with the latest release of Docker Registry UI based on `nginx:debian` +* `main`, `master`: image with the beta version of Docker Registry UI based on `nginx:alpine` +* `main-debian`, `master-debian`: image with the beta version of Docker Registry UI based on `nginx:debian` +* `2`: image with the latest release of Docker Registry UI v2 (includes latest minor and patch version) +* `2.x`: image with the latest release of Docker Registry UI v2.x (includes latest patch version) +* `2.x.y`: image with the specific release of Docker Registry UI v2.x.y + ## [Project Page](https://joxit.dev/docker-registry-ui), [Live Demo](https://joxit.dev/docker-registry-ui/demo/), [Examples](https://github.com/Joxit/docker-registry-ui/tree/main/examples), [Helm Chart](https://helm.joxit.dev/) ![preview](https://raw.github.com/Joxit/docker-registry-ui/main/docker-registry-ui.gif "Preview of Docker Registry UI") @@ -34,6 +45,7 @@ If you like my work and want to support it, don't hesitate to [sponsor me](https - You can select the search bar with the shortcut `CRTL + F` or `F3`. When the search bar is already focused, the shortcut will fallback to the default behavior (see [#213](https://github.com/Joxit/docker-registry-ui/issues/213)). Since 2.1.0 - Multi arch support in history page (see [#130](https://github.com/Joxit/docker-registry-ui/issues/130) and [#134](https://github.com/Joxit/docker-registry-ui/pull/134)). Since 1.5.0 - Show the content of the dockerfile (see [#286](https://github.com/Joxit/docker-registry-ui/pull/286)). Since 2.4.0 +- The UI will cache requests from your registry, such as blobs and some manifets (URL with `sha256:`). Checkout all options in [Available options](#available-options) section. @@ -93,7 +105,7 @@ Some env options are available for use this interface for **only one server** (w - `NGINX_LISTEN_PORT`: Listen on a port other than 80, you can also change the default user and set to nginx `--user nginx` (see [#224](https://github.com/Joxit/docker-registry-ui/issues/224) and [#234](https://github.com/Joxit/docker-registry-ui/pull/234)). (default: `80` when the user is root, `8080` otherwise). Since 2.2.0 - `DEFAULT_REGISTRIES`: List of comma separated registry URLs (e.g `http://registry.example.com,http://registry:5000`), available only when `SINGLE_REGISTRY=false` (see [#219](https://github.com/Joxit/docker-registry-ui/pull/219)). (default: ` `). Since 2.1.0 - `READ_ONLY_REGISTRIES`: Deactivate dialog for remove and add new registries, available only when `SINGLE_REGISTRY=false` (see [#219](https://github.com/Joxit/docker-registry-ui/pull/219)). (default: `false`). Since 2.1.0 -- `SHOW_CATALOG_NB_TAGS`: Show number of tags per images on catalog page. This will produce + nb images requests, not recommended on large registries (see [#161](https://github.com/Joxit/docker-registry-ui/issues/161) and [#239](https://github.com/Joxit/docker-registry-ui/pull/239)). (default: `false`). Since 2.2.0 +- `SHOW_CATALOG_NB_TAGS`: Show number of tags per images on catalog page and hide images with 0 tags. This will produce + nb images requests, **not recommended on large registries** (see [#161](https://github.com/Joxit/docker-registry-ui/issues/161) and [#239](https://github.com/Joxit/docker-registry-ui/pull/239)). (default: `false`). Since 2.2.0 - `HISTORY_CUSTOM_LABELS`: Expose custom labels in history page, custom labels will be processed like maintainer label (see [#160](https://github.com/Joxit/docker-registry-ui/issues/160) and [#240](https://github.com/Joxit/docker-registry-ui/pull/240)). Since 2.2.0 - `USE_CONTROL_CACHE_HEADER`: Use `Control-Cache` header and set to `no-store, no-cache`. This will avoid some issues on multi-arch images (see [#260](https://github.com/Joxit/docker-registry-ui/issues/260) and [#265](https://github.com/Joxit/docker-registry-ui/pull/265)). This option requires registry configuration: `Access-Control-Allow-Headers` with `Cache-Control`. (default: `false`). Since 2.3.0 - `THEME`: Chose your default theme, could be `dark`, `light` or `auto` (see [#283](https://github.com/Joxit/docker-registry-ui/pull/283)). When auto is selected, you will have a switch to manually change from light to dark and vice-versa (see [#291](https://github.com/Joxit/docker-registry-ui/pull/291)). (default: `auto`). Since 2.4.0 @@ -124,6 +136,48 @@ This featureswas added to version 2.4.0. See more about this in [#283](https://g | `THEME_FOOTER_NEUTRAL_TEXT` | `#999999` | `#999999` | | `THEME_FOOTER_BACKGROUND` | `#555555` | `#555555` | +## Recommended Docker Registry Usage + +Here is a simple usage of Docker Registry UI with Docker Registry Server using docker-compose. This example should work for most of your use case and your UI will be on the same domain as you registry. + +```yml +version: '3.8' + +services: + registry-ui: + image: joxit/docker-registry-ui:main + restart: always + ports: + - 80:80 + environment: + - SINGLE_REGISTRY=true + - REGISTRY_TITLE=Docker Registry UI + - DELETE_IMAGES=true + - SHOW_CONTENT_DIGEST=true + - NGINX_PROXY_PASS_URL=http://registry-server:5000 + - SHOW_CATALOG_NB_TAGS=true + - CATALOG_MIN_BRANCHES=1 + - CATALOG_MAX_BRANCHES=1 + - TAGLIST_PAGE_SIZE=100 + - REGISTRY_SECURED=false + - CATALOG_ELEMENTS_LIMIT=1000 + container_name: registry-ui + + registry-server: + image: registry:2.8.2 + restart: always + environment: + REGISTRY_HTTP_HEADERS_Access-Control-Origin: '[http://registry.example.com]' + REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]' + REGISTRY_HTTP_HEADERS_Access-Control-Credentials: '[true]' + REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]' + REGISTRY_HTTP_HEADERS_Access-Control-Expose-Headers: '[Docker-Content-Digest]' + REGISTRY_STORAGE_DELETE_ENABLED: 'true' + volumes: + - ./registry/data:/var/lib/registry + container_name: registry-server +``` + ## Using CORS Your server should be configured to accept CORS. diff --git a/dist/docker-registry-ui.css b/dist/docker-registry-ui.css index 3ac4a12..b985d7e 100644 --- a/dist/docker-registry-ui.css +++ b/dist/docker-registry-ui.css @@ -1 +1 @@ -material-navbar{display:flex;color:#fff;-webkit-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-ms-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-moz-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-o-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);background-color:#25313b;width:100%;height:70px}material-navbar a{color:#fff}material-navbar .nav-wrapper{position:relative;padding:0 1em;text-decoration:none;display:flex;align-items:center;flex-grow:1}material-navbar .nav-wrapper .logo{font-size:1.25em;flex-shrink:0;flex-grow:1}material-navbar .nav-wrapper .menu{flex-shrink:0;flex-grow:0}material-navbar[fixed="true"],material-navbar[fixed]{position:relative;height:70px;z-index:998}material-footer{display:block;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:16px;color:#999;background-color:#555}material-footer a{color:inherit;text-decoration:none}material-footer ul{list-style:none;margin:0;padding:0}material-footer .material-footer-sections{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex;-moz-flex-flow:wrap;-webkit-flex-flow:wrap;flex-flow:wrap;padding-bottom:24px}material-footer .material-footer-sections ul{margin-right:16px}material-footer[mini='true']>*,material-footer[mini='']>*{display:block}@media screen and (min-width: 760px){material-footer[mini='true']>*,material-footer[mini='']>*{display:inline-flex}}material-footer[mini='true']>* ul,material-footer[mini='']>* ul{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex}material-footer[mini='true']>* ul li,material-footer[mini='']>* ul li{margin-bottom:0;margin-right:16px}@media screen and (min-width: 760px){material-footer[mini='true']>* ul li,material-footer[mini='']>* ul li{line-height:36px}}material-footer h1,material-footer h2,material-footer h3,material-footer h4,material-footer h5,material-footer .material-footer-section-header,material-footer .material-footer-logo{margin-bottom:16px;color:#fff;line-height:36px}@media screen and (min-width: 760px){material-footer .material-footer-logo{margin-bottom:0;margin-right:16px}}material-card{display:block;background-color:#fff;margin:0;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-card .material-card-title{padding:20px 10px;font-size:2rem;color:#25313b;border-bottom:1px solid rgba(0,0,0,0.08)}material-card .material-card-content{padding:20px}material-card .material-card-action{border-top:1px solid rgba(0,0,0,0.08);display:flex;align-items:stretch}material-card .material-card-action .material-card-action-item{position:relative;border-right:1px solid rgba(0,0,0,0.08);display:flex;align-items:center;padding:0.75rem;justify-content:center;flex-grow:1}material-spinner{display:inline-block}material-spinner .loader-circular{-webkit-animation:loader-rotate 2s linear infinite;-ms-animation:loader-rotate 2s linear infinite;-moz-animation:loader-rotate 2s linear infinite;-o-animation:loader-rotate 2s linear infinite;animation:loader-rotate 2s linear infinite}material-spinner .loader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;stroke-linecap:round;stroke:#db652d}@-o-keyframes loader-rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@-moz-keyframes loader-rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes loader-rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes loader-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}@keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}material-button>:first-child{border:none;border-radius:2px;display:inline-block;position:relative;width:inherit;min-height:2em;font-size:18px;background:#61bdcc;color:#fff;padding:0 2rem;cursor:pointer;text-transform:uppercase;vertical-align:middle;outline:0;-webkit-tap-highlight-color:transparent;text-decoration:none}material-button>:first-child:hover material-waves{background:rgba(255,255,255,0.2);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button>:first-child material-waves{background:rgba(255,255,255,0);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button>:first-child .content{display:block;text-align:center}material-button>:first-child .content i.material-icons,material-button>:first-child .content i.icon,material-button>:first-child .content a{display:inline-block;vertical-align:middle;color:inherit}material-button>:first-child .content i.material-icons.material-icons,material-button>:first-child .content i.icon.material-icons,material-button>:first-child .content a.material-icons{font-size:20px}material-button>:first-child .content i.material-icons svg,material-button>:first-child .content i.icon svg,material-button>:first-child .content a svg{fill:inherit;stroke:inherit}material-button>:first-child[rounded='true'],material-button>:first-child[icon='true']{border-radius:50vw}material-button>:first-child[rounded='true'] .content,material-button>:first-child[icon='true'] .content{display:flex;align-items:center;text-align:center}material-button>:first-child[rounded='true'] .content i.material-icons,material-button>:first-child[rounded='true'] .content i.icon,material-button>:first-child[icon='true'] .content i.material-icons,material-button>:first-child[icon='true'] .content i.icon{margin:auto;display:inline-block;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}material-button>:first-child[rounded='true'] material-waves,material-button>:first-child[icon='true'] material-waves{border-radius:50vw}material-button>:first-child[icon='true']{padding:0}material-button>:first-child[icon='true'] .content{width:2em;height:2em}material-button>:first-child[shadow='true']{-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transition:box-shadow 0.2s}material-button>:first-child[shadow='true']:hover{-webkit-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);transition:box-shadow 0.2s}material-button>:first-child[outlined='true']{background:transparent;color:#61bdcc;border-color:#61bdcc;border-width:1px;border-style:solid}material-button>:first-child[inverted='true']{background:#fff;color:#61bdcc}material-button>:first-child[disabled='true']{background:#ccc;color:#999;cursor:default}material-button>:first-child[disabled='true'] .content .text,material-button>:first-child[disabled='true'] .content i.material-icons,material-button>:first-child[disabled='true'] .content i.icon,material-button>:first-child[disabled='true'] .content a{color:#999}material-button>:first-child[disabled='true'] .content .text svg,material-button>:first-child[disabled='true'] .content i.material-icons svg,material-button>:first-child[disabled='true'] .content i.icon svg,material-button>:first-child[disabled='true'] .content a svg{fill:#999;stroke:#999}material-button>:first-child[disabled='true']:hover material-waves{background:transparent}material-button>:first-child[disabled='true'][outlined='true']{background:transparent;color:#ccc;border-color:#ccc}material-waves{display:block;width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}material-waves #waves{display:block;width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:rotate(0deg);z-index:1}material-waves #waves .wave{position:absolute;-webkit-border-radius:50%;-ms-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;z-index:0;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);-moz-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-property:transform,opacity;-ms-transition-property:transform,opacity;-moz-transition-property:transform,opacity;-o-transition-property:transform,opacity;transition-property:transform,opacity;pointer-events:none}material-waves[rounded="true"]{border-radius:50%}material-waves[rounded="true"] #waves{border-radius:50%}material-checkbox{background-color:transparent;display:block;position:relative;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}material-checkbox .checkbox{display:inline-block;position:relative;box-sizing:border-box;height:100%;border:solid 2px;border-color:#25313b;background-color:transparent;border-radius:2px;width:18px;height:18px;cursor:pointer;vertical-align:middle;-webkit-transition:background-color 140ms, border-color 140ms;-ms-transition:background-color 140ms, border-color 140ms;-moz-transition:background-color 140ms, border-color 140ms;-o-transition:background-color 140ms, border-color 140ms;transition:background-color 140ms, border-color 140ms}material-checkbox .checkbox .checkmark{-webkit-transform:rotate(0deg) scale(0.5);-ms-transform:rotate(0deg) scale(0.5);-moz-transform:rotate(0deg) scale(0.5);-o-transform:rotate(0deg) scale(0.5);transform:rotate(0deg) scale(0.5);position:absolute;top:-1px;left:3px;width:6px;height:10px;border-style:solid;border-top:none;border-left:none;border-right-width:2px;border-bottom-width:2px;border-color:transparent;cursor:pointer}material-checkbox .checkbox.checked{background-color:#25313b;-webkit-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .checkbox.checked .checkmark{border-color:#fff;-webkit-transform:rotate(45deg) scale(1);-ms-transform:rotate(45deg) scale(1);-moz-transform:rotate(45deg) scale(1);-o-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .label{display:inline-block;color:#25313b;position:relative;display:inline-block;vertical-align:middle;padding-left:8px;white-space:normal;cursor:pointer}material-checkbox[indeterminate='true'] .checkbox .checkmark,material-checkbox[indeterminate=''] .checkbox .checkmark{border-bottom:none}material-checkbox[indeterminate='true'] .checkbox.checked .checkmark,material-checkbox[indeterminate=''] .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox[disabled='true'] .checkbox,material-checkbox[disabled=''] .checkbox{border-color:#ccc}material-checkbox[disabled='true'] .label,material-checkbox[disabled=''] .label{color:#ccc}material-tabs{display:inline-block;line-height:0;position:relative;width:100%}material-tabs material-button>:first-child{background:#070731;border-radius:0px;text-align:center;padding:0px}material-tabs material-button>:first-child .content{position:relative}material-tabs material-button>:first-child .content .text{font-size:16px}material-tabs material-button.selected>:first-child{color:#61bdcc;-webkit-transition:color 0.4s;-ms-transition:color 0.4s;-moz-transition:color 0.4s;-o-transition:color 0.4s;transition:color 0.4s}material-tabs material-button[inverted='true']>:first-child{color:#070731;background:#fff}material-tabs .line-wrapper{width:100%;height:3px;background:#c2c7b6;position:relative}material-tabs .line-wrapper .line{height:100%;background:#61bdcc;position:absolute;-webkit-transition:left 0.4s;-ms-transition:left 0.4s;-moz-transition:left 0.4s;-o-transition:left 0.4s;transition:left 0.4s}material-tabs .line-wrapper[inverted='true']{background:#61bdcc}material-tabs .line-wrapper[inverted='true'] .line{background:#c2c7b6}material-snackbar{display:block;position:fixed;bottom:10%;right:7%;z-index:1001}material-snackbar .toast{-webkit-border-radius:3px;-ms-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;top:0;width:auto;clear:both;margin-top:10px;position:relative;height:40px;line-height:40px;background-color:#25313b;padding:0 25px;font-size:1.1rem;font-weight:300;color:#fff;z-index:1001;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;-ms-justify-content:space-between;-moz-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-snackbar .toast.opening{transform:translateY(-15px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-snackbar .toast.error{background-color:#ab173e}material-dropdown .material-dropdown-container{z-index:100;background-color:#fff;margin:0;padding:0.5em 0;min-width:150px;max-height:650px;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-dropdown .material-dropdown-container.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown .material-dropdown-container.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown .material-dropdown-container a.material-dropdown-item{text-decoration:none;color:#25313b}material-dropdown .material-dropdown-container a.material-dropdown-item.selected{color:#fff}material-dropdown .material-dropdown-container .material-dropdown-item{cursor:pointer;background-color:#fff;-webkit-transition:background-color .2s ease-in;-ms-transition:background-color .2s ease-in;-moz-transition:background-color .2s ease-in;-o-transition:background-color .2s ease-in;transition:background-color .2s ease-in;font-size:1em;color:#25313b;display:block;padding:1em 1em}material-dropdown .material-dropdown-container .material-dropdown-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown .material-dropdown-container .material-dropdown-item.selected{background-color:#394b5a;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out;color:#fff}.material-dropdown-wrapper{position:relative;width:inherit}.material-dropdown-wrapper material-dropdown .material-dropdown-container{position:absolute;width:100%}material-popup .container{position:fixed;left:0;top:0;bottom:0;right:0;z-index:100}material-popup .popup{height:100%;display:flex;justify-content:center;align-items:center}material-popup .popup>.content{background-color:#fff;width:50%;min-width:300px;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s;margin:32px;position:relative;overflow-y:auto;display:flex;flex-direction:column;max-height:calc(100% - 64px);z-index:100;color:#25313b}material-popup .popup>.content.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content .material-popup-title{padding:12px 24px 0;margin:0;font-size:2.5rem}material-popup .popup>.content .material-popup-content{padding:20px 24px 24px;margin:0;overflow-y:auto}material-popup .popup>.content .material-popup-action{padding:8px 8px 8px 24px;margin:0;display:flex;flex-direction:row-reverse;flex-wrap:wrap}material-popup .popup>.content .material-popup-action>*{margin-right:8px}material-popup .popup>.content .material-popup-action>*:first-child{margin-right:0}material-popup .overlay{z-index:99;width:100%;height:100%;top:0;left:0;bottom:0;right:0;position:fixed;background:rgba(0,0,0,0.2)}material-input{display:block;padding:8px 0;position:relative;margin:0.5em}material-input .input-content{font-size:1em;position:relative;padding:0 calc(.5em - 1px)}material-input .input-content label{position:absolute;top:0;right:0;left:0;padding:0 calc(.5em - 1px);font:inherit;color:#2f6975;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:1em;font-weight:400;line-height:24px;-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content.not-empty label{-webkit-transform:translate3d(0, -70%, 0) scale(0.70);-ms-transform:translate3d(0, -70%, 0) scale(0.70);-moz-transform:translate3d(0, -70%, 0) scale(0.70);-o-transform:translate3d(0, -70%, 0) scale(0.70);transform:translate3d(0, -70%, 0) scale(0.70);-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top;padding:0}material-input .input-content input{position:relative;outline:none;box-shadow:none;padding:0;width:100%;background:transparent;border:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-weight:400;font-size:1em;line-height:24px;height:24px;color:#17242e}material-input .input-content .iconWrapper{display:inline-block;position:absolute;top:0;left:0;bottom:0;right:0;width:40px;height:40px;margin-left:-33px;left:100%;margin-top:-7px}material-input .input-content .iconWrapper material-button{background:transparent}material-input .input-content .iconWrapper material-button .content .material-icons{color:#2f6975}material-input .underline{position:relative;display:block}material-input .underline .unfocused-line{height:1px;background:#2f6975}material-input .underline .focused-line{height:2px;background:#2f6975;-webkit-transform:scale3d(0, 1, 1);-ms-transform:scale3d(0, 1, 1);-moz-transform:scale3d(0, 1, 1);-o-transform:scale3d(0, 1, 1);transform:scale3d(0, 1, 1);-webkit-transition:transform .2s ease-in;-ms-transition:transform .2s ease-in;-moz-transition:transform .2s ease-in;-o-transition:transform .2s ease-in;transition:transform .2s ease-in}material-input .underline.focused .focused-line{-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s ease-out;-ms-transition:transform .2s ease-out;-moz-transition:transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}material-input .underline.error .unfocused-line,material-input .underline.error .focused-line{background:#941212;-webkit-transition:background .2s ease-out;-ms-transition:background .2s ease-out;-moz-transition:background .2s ease-out;-o-transition:background .2s ease-out;transition:background .2s ease-out}material-input[outlined='true'] .input-content,material-input[outlined=''] .input-content,material-input[rounded='true'] .input-content,material-input[rounded=''] .input-content{border:1px solid;border-color:#2f6975;border-radius:0.375em}material-input[rounded='true'] .input-content,material-input[rounded=''] .input-content{border-radius:50vw}material-input[disabled='true'] label,material-input[disabled=''] label{color:#ccc}material-input[disabled='true'] .underline .unfocused-line,material-input[disabled=''] .underline .unfocused-line{background:#ccc}material-input[disabled='true'][outlined='true'] .input-content,material-input[disabled='true'][outlined=''] .input-content,material-input[disabled='true'][rounded='true'] .input-content,material-input[disabled='true'][rounded=''] .input-content,material-input[disabled=''][outlined='true'] .input-content,material-input[disabled=''][outlined=''] .input-content,material-input[disabled=''][rounded='true'] .input-content,material-input[disabled=''][rounded=''] .input-content{border-color:#ccc}material-switch{font-size:24px}material-switch .material-switch-container{display:flex;flex-flow:row;align-items:center;position:relative}material-switch .material-switch-container .material-switch-thumb{display:inline-flex;position:absolute;left:0.2em;width:0.65em;height:0.65em;border-radius:50vw;background-color:#79747E;-webkit-transition:transform .4s;-ms-transition:transform .4s;-moz-transition:transform .4s;-o-transition:transform .4s;transition:transform .4s;z-index:1}material-switch .material-switch-container .material-switch-thumb.material-switch-thumb-w-icon{left:0.2em;width:1em;height:1em}material-switch .material-switch-container .material-switch-thumb *{margin:auto}material-switch .material-switch-container .material-switch-track{display:inline-flex;border-radius:50vw;height:1.15em;width:2em;background-color:#E7E0EC;border-style:solid;border-width:0.1em;border-color:#79747E}material-switch .material-switch-container[checked] .material-switch-thumb{transform:translateX(0.95em);background-color:#fff;left:0.1em;width:1em;height:1em}material-switch .material-switch-container[checked] .material-switch-track{background-color:#6750A4;border-color:#6750A4}material-switch[intermediate] .material-switch-container .material-switch-thumb{-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s}material-switch[intermediate] .material-switch-container[checked] .material-switch-thumb{transform:translateX(0.95em);background-color:#fff}material-switch[intermediate] .material-switch-container[checked] .material-switch-track{background-color:#6750A4;border-color:#6750A4}material-switch[intermediate] .material-switch-container[checked='intermediate'] .material-switch-thumb{transform:translateX(0.5em);width:0.85em;height:0.85em}material-switch[disabled] .material-switch-container .material-switch-track{opacity:0.12;border-color:#1C1B1F}material-switch[disabled] .material-switch-container .material-switch-thumb{opacity:0.38;background-color:#1C1B1F}material-switch[disabled] .material-switch-container[checked] .material-switch-track{background-color:#1C1B1F}material-switch[disabled] .material-switch-container[checked] .material-switch-thumb{opacity:1;background-color:#FFFBFE}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Light"),local("Roboto-Light"),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff"),url(fonts/Roboto-Light.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Regular"),local("Roboto-Regular"),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff"),url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff"),url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/RobotoMono-Regular.eot);src:local("Roboto Mono Regular"),local("RobotoMono-Regular"),local("Roboto-Mono-Regular"),url(fonts/RobotoMono-Regular.woff2) format("woff2"),url(fonts/RobotoMono-Regular.woff) format("woff"),url(fonts/RobotoMono-Regular.ttf) format("truetype")}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons,i.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons{margin:auto}html>body{font-family:'Roboto', 'Helvetica', 'Arial', sans-serif !important;font-size:16px;background-color:var(--background);color:var(--primary-text)}html,body{margin:0;height:100%}.section-centerd{margin:auto}.full-table{width:100%;border:none}.url{font-size:14px;word-break:break-all}.material-card-title-action a{color:inherit;text-decoration:none;font-weight:inherit}material-card{background-color:var(--background)}material-card,material-tabs,pagination .container{max-width:95%;margin:auto;margin-top:20px;margin-bottom:20px}@media screen and (min-width: 1515px){material-card,material-tabs,pagination .container{max-width:1440px}}material-tabs{display:block;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-ms-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-moz-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-o-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}material-tabs material-button,material-tabs material-button .content .text{text-transform:none}material-spinner{align-self:center}.spinner-wrapper{margin-top:50px;display:flex;flex-direction:column}.logo{padding:0 16px 0 72px;text-decoration:none;font-size:20px;line-height:1;letter-spacing:0.02em;font-weight:400}@media screen and (max-width: 600px){.logo{padding-left:0}}h2{padding:16px;margin:auto;font-size:24px;font-weight:300;line-height:normal;overflow:hidden}.material-card-title-action h2 .source-hint,.material-card-title-action h2 .item-count{font-size:0.7em;margin-left:1em}.list{display:block;padding:8px 0;list-style:none}.list.highlight:hover{background-color:rgba(0,0,0,0.12);cursor:pointer}.list>span,.list>li{box-sizing:border-box;line-height:1;height:48px;padding:0 16px;overflow:hidden}docker-registry-ui material-button>:first-child .content i.material-icons,docker-registry-ui material-button>:first-child .content i.material-icons.material-icons{font-size:24px}.list>span i.material-icons,.list>li i.material-icons{margin-right:32px;height:24px;width:24px;box-sizing:border-box;color:var(--accent-text)}.list>span .right i.material-icons.animated{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);margin-right:10px}.list>span .right{position:absolute;align-self:end;display:flex;align-items:center;right:0}.list>span i.material-icons.animated.expanded{transform:rotate(180deg)}.list>span .item-count{font-size:0.75em}.list>span,.list>li>span{height:100%;text-decoration:none;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}material-card.list{margin-top:10px;margin-bottom:10px}.material-card-title-action{-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:16px}.material-card-title-action h2{margin:0}material-card table{width:100%;border:none;position:relative;border:1px solid rgba(0,0,0,0.12);border-collapse:collapse;white-space:nowrap;font-size:13px;border:none}material-card table th{font-size:18px;vertical-align:bottom;line-height:24px;height:48px;color:var(--accent-text);box-sizing:border-box;padding:0 18px 12px 18px;text-align:right}.material-card-th-left{text-align:left}material-card .material-card-title-action material-button:hover button,material-card table tbody tr:hover{background-color:rgba(0,0,0,0.12) !important}material-button>:first-child[inverted='true'],material-card table tbody tr{transition-duration:0.28s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color}material-card table tbody tr{position:relative;height:48px}material-card table td{font-size:16px;position:relative;height:48px;border-top:1px solid rgba(0,0,0,0.12);border-bottom:1px solid rgba(0,0,0,0.12);padding:12px 18px;box-sizing:border-box;vertical-align:middle;text-align:right}tag-history-button button:hover,material-card table th.material-card-th-sorted-ascending:hover,material-card table th.material-card-th-sorted-descending:hover{cursor:pointer}material-card table th.material-card-th-sorted-ascending:hover:before,material-card table th.material-card-th-sorted-descending:hover:before{color:var(--primary-text)}material-card table th.material-card-th-sorted-ascending:before,material-card table th.material-card-th-sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;font-size:16px;content:'\e5d8';margin-right:5px;vertical-align:sub}material-card table th.material-card-th-sorted-descending:before{content:'\e5db'}material-button .content i.material-icons,.material-icons{color:var(--neutral-text)}material-button[disabled] .content i.material-icons,material-checkbox[disabled] .content i.material-icons{color:#bbb}material-snackbar .toast{height:auto}material-popup .popup>.content{padding:1em;max-width:450px;background-color:var(--background);color:var(--primary-text)}footer{width:100%;z-index:75;bottom:0}main{min-height:calc(100% - 136px)}material-footer{padding:0.5em 1em}material-footer li{align-self:center}.copy-to-clipboard{padding-left:5px}#image-tag-header{padding-right:57px}image-tag,.copy-to-clipboard{display:inline-block}image-content-digest{display:none;font-family:'Roboto Mono', 'Roboto', 'Helvetica', 'Arial', sans-serif !important}@media screen and (min-width: 1024px){#image-content-digest-header{padding-right:57px}image-content-digest{display:inline-block}}.show-tag-history{width:30px;text-align:center}.remove-tag{padding:12px 5px;width:66px;text-align:center}.remove-tag.delete{padding:7px 5px}taglist .creation-date{width:10em}taglist .image-size{width:7em}material-card material-button{background-color:inherit}catalog-element material-card{z-index:2;position:relative}catalog-element catalog-element material-card{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);z-index:1;position:relative}catalog-element catalog-element.showing material-card,catalog-element catalog-element.hide material-card{margin-top:-50px;opacity:0}catalog-element catalog-element>.content{margin-left:3em}@media screen and (min-width: 1515px){catalog-element catalog-element>.content material-card{max-width:calc(1440px - 3em)}}remove-image{width:30px}material-checkbox .label{display:none}taglist material-checkbox{margin:auto;width:18px}material-checkbox.indeterminate .checkbox .checkmark{border-bottom:none}material-checkbox.indeterminate .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox .checkbox{border-color:var(--neutral-text)}material-checkbox .checkbox.checked{background-color:var(--neutral-text)} +material-navbar{display:flex;color:#fff;-webkit-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-ms-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-moz-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);-o-box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);box-shadow:0 8px 17px 0 rgba(0, 0, 0, 0.12), 0 6px 20px 0 rgba(0, 0, 0, 0.14);background-color:#25313b;width:100%;height:70px}material-navbar a{color:#fff}material-navbar .nav-wrapper{position:relative;padding:0 1em;text-decoration:none;display:flex;align-items:center;flex-grow:1}material-navbar .nav-wrapper .logo{font-size:1.25em;flex-shrink:0;flex-grow:1}material-navbar .nav-wrapper .menu{flex-shrink:0;flex-grow:0}material-navbar[fixed="true"],material-navbar[fixed]{position:relative;height:70px;z-index:998}material-footer{display:block;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:16px;color:#999;background-color:#555}material-footer a{color:inherit;text-decoration:none}material-footer ul{list-style:none;margin:0;padding:0}material-footer .material-footer-sections{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex;-moz-flex-flow:wrap;-webkit-flex-flow:wrap;flex-flow:wrap;padding-bottom:24px}material-footer .material-footer-sections ul{margin-right:16px}material-footer[mini='true']>*,material-footer[mini='']>*{display:block}@media screen and (min-width: 760px){material-footer[mini='true']>*,material-footer[mini='']>*{display:inline-flex}}material-footer[mini='true']>* ul,material-footer[mini='']>* ul{display:-moz-flex;display:-webkit-flex;display:-ms-flexbox;display:flex}material-footer[mini='true']>* ul li,material-footer[mini='']>* ul li{margin-bottom:0;margin-right:16px}@media screen and (min-width: 760px){material-footer[mini='true']>* ul li,material-footer[mini='']>* ul li{line-height:36px}}material-footer h1,material-footer h2,material-footer h3,material-footer h4,material-footer h5,material-footer .material-footer-section-header,material-footer .material-footer-logo{margin-bottom:16px;color:#fff;line-height:36px}@media screen and (min-width: 760px){material-footer .material-footer-logo{margin-bottom:0;margin-right:16px}}material-card{display:block;background-color:#fff;margin:0;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-card .material-card-title{padding:20px 10px;font-size:2rem;color:#25313b;border-bottom:1px solid rgba(0,0,0,0.08)}material-card .material-card-content{padding:20px}material-card .material-card-action{border-top:1px solid rgba(0,0,0,0.08);display:flex;align-items:stretch}material-card .material-card-action .material-card-action-item{position:relative;border-right:1px solid rgba(0,0,0,0.08);display:flex;align-items:center;padding:0.75rem;justify-content:center;flex-grow:1}material-spinner{display:inline-block}material-spinner .loader-circular{-webkit-animation:loader-rotate 2s linear infinite;-ms-animation:loader-rotate 2s linear infinite;-moz-animation:loader-rotate 2s linear infinite;-o-animation:loader-rotate 2s linear infinite;animation:loader-rotate 2s linear infinite}material-spinner .loader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;-webkit-animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;stroke-linecap:round;stroke:#db652d}@-o-keyframes loader-rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@-moz-keyframes loader-rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-webkit-keyframes loader-rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes loader-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124}}@-webkit-keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}@keyframes color{0%{stroke:#3f88f8}20%{stroke:#3f88f8}25%{stroke:#dd413b}45%{stroke:#dd413b}50%{stroke:#f6ae2e}70%{stroke:#f6ae2e}75%{stroke:#259a5d}95%{stroke:#259a5d}}material-button>:first-child{border:none;border-radius:2px;display:inline-block;position:relative;width:inherit;min-height:2em;font-size:18px;background:#61bdcc;color:#fff;padding:0 2rem;cursor:pointer;text-transform:uppercase;vertical-align:middle;outline:0;-webkit-tap-highlight-color:transparent;text-decoration:none}material-button>:first-child:hover material-waves{background:rgba(255,255,255,0.2);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button>:first-child material-waves{background:rgba(255,255,255,0);-webkit-transition:background .2s ease-in;-ms-transition:background .2s ease-in;-moz-transition:background .2s ease-in;-o-transition:background .2s ease-in;transition:background .2s ease-in}material-button>:first-child .content{display:block;text-align:center}material-button>:first-child .content i.material-icons,material-button>:first-child .content i.icon,material-button>:first-child .content a{display:inline-block;vertical-align:middle;color:inherit}material-button>:first-child .content i.material-icons.material-icons,material-button>:first-child .content i.icon.material-icons,material-button>:first-child .content a.material-icons{font-size:20px}material-button>:first-child .content i.material-icons svg,material-button>:first-child .content i.icon svg,material-button>:first-child .content a svg{fill:inherit;stroke:inherit}material-button>:first-child[rounded='true'],material-button>:first-child[icon='true']{border-radius:50vw}material-button>:first-child[rounded='true'] .content,material-button>:first-child[icon='true'] .content{display:flex;align-items:center;text-align:center}material-button>:first-child[rounded='true'] .content i.material-icons,material-button>:first-child[rounded='true'] .content i.icon,material-button>:first-child[icon='true'] .content i.material-icons,material-button>:first-child[icon='true'] .content i.icon{margin:auto;display:inline-block;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}material-button>:first-child[rounded='true'] material-waves,material-button>:first-child[icon='true'] material-waves{border-radius:50vw}material-button>:first-child[icon='true']{padding:0}material-button>:first-child[icon='true'] .content{width:2em;height:2em}material-button>:first-child[shadow='true']{-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transition:box-shadow 0.2s}material-button>:first-child[shadow='true']:hover{-webkit-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 7px 0 rgba(0, 0, 0, 0.14), 0 2px 12px 0 rgba(0, 0, 0, 0.12);transition:box-shadow 0.2s}material-button>:first-child[outlined='true']{background:transparent;color:#61bdcc;border-color:#61bdcc;border-width:1px;border-style:solid}material-button>:first-child[inverted='true']{background:#fff;color:#61bdcc}material-button>:first-child[disabled='true']{background:#ccc;color:#999;cursor:default}material-button>:first-child[disabled='true'] .content .text,material-button>:first-child[disabled='true'] .content i.material-icons,material-button>:first-child[disabled='true'] .content i.icon,material-button>:first-child[disabled='true'] .content a{color:#999}material-button>:first-child[disabled='true'] .content .text svg,material-button>:first-child[disabled='true'] .content i.material-icons svg,material-button>:first-child[disabled='true'] .content i.icon svg,material-button>:first-child[disabled='true'] .content a svg{fill:#999;stroke:#999}material-button>:first-child[disabled='true']:hover material-waves{background:transparent}material-button>:first-child[disabled='true'][outlined='true']{background:transparent;color:#ccc;border-color:#ccc}material-waves{display:block;width:100%;height:100%;position:absolute;left:0;top:0;overflow:hidden}material-waves #waves{display:block;width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;-webkit-transform:rotate(0deg);z-index:1}material-waves #waves .wave{position:absolute;-webkit-border-radius:50%;-ms-border-radius:50%;-moz-border-radius:50%;-o-border-radius:50%;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;z-index:0;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);-moz-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transition-property:transform,opacity;-ms-transition-property:transform,opacity;-moz-transition-property:transform,opacity;-o-transition-property:transform,opacity;transition-property:transform,opacity;pointer-events:none}material-waves[rounded="true"]{border-radius:50%}material-waves[rounded="true"] #waves{border-radius:50%}material-checkbox{background-color:transparent;display:block;position:relative;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}material-checkbox .checkbox{display:inline-block;position:relative;box-sizing:border-box;height:100%;border:solid 2px;border-color:#25313b;background-color:transparent;border-radius:2px;width:18px;height:18px;cursor:pointer;vertical-align:middle;-webkit-transition:background-color 140ms, border-color 140ms;-ms-transition:background-color 140ms, border-color 140ms;-moz-transition:background-color 140ms, border-color 140ms;-o-transition:background-color 140ms, border-color 140ms;transition:background-color 140ms, border-color 140ms}material-checkbox .checkbox .checkmark{-webkit-transform:rotate(0deg) scale(0.5);-ms-transform:rotate(0deg) scale(0.5);-moz-transform:rotate(0deg) scale(0.5);-o-transform:rotate(0deg) scale(0.5);transform:rotate(0deg) scale(0.5);position:absolute;top:-1px;left:3px;width:6px;height:10px;border-style:solid;border-top:none;border-left:none;border-right-width:2px;border-bottom-width:2px;border-color:transparent;cursor:pointer}material-checkbox .checkbox.checked{background-color:#25313b;-webkit-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms, transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .checkbox.checked .checkmark{border-color:#fff;-webkit-transform:rotate(45deg) scale(1);-ms-transform:rotate(45deg) scale(1);-moz-transform:rotate(45deg) scale(1);-o-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);-webkit-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-ms-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-moz-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);-o-transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1);transition:background-color 140ms, border-color 140ms,transform 140ms 50ms cubic-bezier(0.23, 1, 0.32, 1)}material-checkbox .label{display:inline-block;color:#25313b;position:relative;display:inline-block;vertical-align:middle;padding-left:8px;white-space:normal;cursor:pointer}material-checkbox[indeterminate='true'] .checkbox .checkmark,material-checkbox[indeterminate=''] .checkbox .checkmark{border-bottom:none}material-checkbox[indeterminate='true'] .checkbox.checked .checkmark,material-checkbox[indeterminate=''] .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox[disabled='true'] .checkbox,material-checkbox[disabled=''] .checkbox{border-color:#ccc}material-checkbox[disabled='true'] .label,material-checkbox[disabled=''] .label{color:#ccc}material-tabs{display:inline-block;line-height:0;position:relative;width:100%}material-tabs material-button>:first-child{background:#070731;border-radius:0px;text-align:center;padding:0px}material-tabs material-button>:first-child .content{position:relative}material-tabs material-button>:first-child .content .text{font-size:16px}material-tabs material-button.selected>:first-child{color:#61bdcc;-webkit-transition:color 0.4s;-ms-transition:color 0.4s;-moz-transition:color 0.4s;-o-transition:color 0.4s;transition:color 0.4s}material-tabs material-button[inverted='true']>:first-child{color:#070731;background:#fff}material-tabs .line-wrapper{width:100%;height:3px;background:#c2c7b6;position:relative}material-tabs .line-wrapper .line{height:100%;background:#61bdcc;position:absolute;-webkit-transition:left 0.4s;-ms-transition:left 0.4s;-moz-transition:left 0.4s;-o-transition:left 0.4s;transition:left 0.4s}material-tabs .line-wrapper[inverted='true']{background:#61bdcc}material-tabs .line-wrapper[inverted='true'] .line{background:#c2c7b6}material-snackbar{display:block;position:fixed;bottom:10%;right:7%;z-index:1001}material-snackbar .toast{-webkit-border-radius:3px;-ms-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;top:0;width:auto;clear:both;margin-top:10px;position:relative;height:40px;line-height:40px;background-color:#25313b;padding:0 25px;font-size:1.1rem;font-weight:300;color:#fff;z-index:1001;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;-ms-justify-content:space-between;-moz-justify-content:space-between;-o-justify-content:space-between;justify-content:space-between;transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-snackbar .toast.opening{transform:translateY(-15px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-snackbar .toast.error{background-color:#ab173e}material-dropdown .material-dropdown-container{z-index:100;background-color:#fff;margin:0;padding:0.5em 0;min-width:150px;max-height:650px;overflow-y:auto;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s}material-dropdown .material-dropdown-container.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown .material-dropdown-container.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-dropdown .material-dropdown-container a.material-dropdown-item{text-decoration:none;color:#25313b}material-dropdown .material-dropdown-container a.material-dropdown-item.selected{color:#fff}material-dropdown .material-dropdown-container .material-dropdown-item{cursor:pointer;background-color:#fff;-webkit-transition:background-color .2s ease-in;-ms-transition:background-color .2s ease-in;-moz-transition:background-color .2s ease-in;-o-transition:background-color .2s ease-in;transition:background-color .2s ease-in;font-size:1em;color:#25313b;display:block;padding:1em 1em}material-dropdown .material-dropdown-container .material-dropdown-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out}material-dropdown .material-dropdown-container .material-dropdown-item.selected{background-color:#394b5a;-webkit-transition:background-color .2s ease-out;-ms-transition:background-color .2s ease-out;-moz-transition:background-color .2s ease-out;-o-transition:background-color .2s ease-out;transition:background-color .2s ease-out;color:#fff}.material-dropdown-wrapper{position:relative;width:inherit}.material-dropdown-wrapper material-dropdown .material-dropdown-container{position:absolute;width:100%}material-popup .container{position:fixed;left:0;top:0;bottom:0;right:0;z-index:100}material-popup .popup{height:100%;display:flex;justify-content:center;align-items:center}material-popup .popup>.content{background-color:#fff;width:50%;min-width:300px;will-change:width, height;-webkit-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-ms-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-moz-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);-o-box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);transform:translateY(0px);opacity:1;-webkit-transition:transform .2s ease-in,opacity .2s;-ms-transition:transform .2s ease-in,opacity .2s;-moz-transition:transform .2s ease-in,opacity .2s;-o-transition:transform .2s ease-in,opacity .2s;transition:transform .2s ease-in,opacity .2s;margin:32px;position:relative;overflow-y:auto;display:flex;flex-direction:column;max-height:calc(100% - 64px);z-index:100;color:#25313b}material-popup .popup>.content.opening.top{transform:translateY(-50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content.opening.bottom{transform:translateY(50px);opacity:0;-webkit-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-ms-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-moz-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;-o-transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s;transition:transform .2s cubic-bezier(0.23, 1, 0.32, 1),opacity .2s}material-popup .popup>.content .material-popup-title{padding:12px 24px 0;margin:0;font-size:2.5rem}material-popup .popup>.content .material-popup-content{padding:20px 24px 24px;margin:0;overflow-y:auto}material-popup .popup>.content .material-popup-action{padding:8px 8px 8px 24px;margin:0;display:flex;flex-direction:row-reverse;flex-wrap:wrap}material-popup .popup>.content .material-popup-action>*{margin-right:8px}material-popup .popup>.content .material-popup-action>*:first-child{margin-right:0}material-popup .overlay{z-index:99;width:100%;height:100%;top:0;left:0;bottom:0;right:0;position:fixed;background:rgba(0,0,0,0.2)}material-input{display:block;padding:8px 0;position:relative;margin:0.5em}material-input .input-content{font-size:1em;position:relative;padding:0 calc(.5em - 1px)}material-input .input-content label{position:absolute;top:0;right:0;left:0;padding:0 calc(.5em - 1px);font:inherit;color:#2f6975;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:1em;font-weight:400;line-height:24px;-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}material-input .input-content.not-empty label{-webkit-transform:translate3d(0, -70%, 0) scale(0.70);-ms-transform:translate3d(0, -70%, 0) scale(0.70);-moz-transform:translate3d(0, -70%, 0) scale(0.70);-o-transform:translate3d(0, -70%, 0) scale(0.70);transform:translate3d(0, -70%, 0) scale(0.70);-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s;-webkit-transform-origin:left top;-ms-transform-origin:left top;-moz-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top;padding:0}material-input .input-content input{position:relative;outline:none;box-shadow:none;padding:0;width:100%;background:transparent;border:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-weight:400;font-size:1em;line-height:24px;height:24px;color:#17242e}material-input .input-content .iconWrapper{display:inline-block;position:absolute;top:0;left:0;bottom:0;right:0;width:40px;height:40px;margin-left:-33px;left:100%;margin-top:-7px}material-input .input-content .iconWrapper material-button{background:transparent}material-input .input-content .iconWrapper material-button .content .material-icons{color:#2f6975}material-input .underline{position:relative;display:block}material-input .underline .unfocused-line{height:1px;background:#2f6975}material-input .underline .focused-line{height:2px;background:#2f6975;-webkit-transform:scale3d(0, 1, 1);-ms-transform:scale3d(0, 1, 1);-moz-transform:scale3d(0, 1, 1);-o-transform:scale3d(0, 1, 1);transform:scale3d(0, 1, 1);-webkit-transition:transform .2s ease-in;-ms-transition:transform .2s ease-in;-moz-transition:transform .2s ease-in;-o-transition:transform .2s ease-in;transition:transform .2s ease-in}material-input .underline.focused .focused-line{-webkit-transform:none;-ms-transform:none;-moz-transform:none;-o-transform:none;transform:none;-webkit-transition:transform .2s ease-out;-ms-transition:transform .2s ease-out;-moz-transition:transform .2s ease-out;-o-transition:transform .2s ease-out;transition:transform .2s ease-out}material-input .underline.error .unfocused-line,material-input .underline.error .focused-line{background:#941212;-webkit-transition:background .2s ease-out;-ms-transition:background .2s ease-out;-moz-transition:background .2s ease-out;-o-transition:background .2s ease-out;transition:background .2s ease-out}material-input[outlined='true'] .input-content,material-input[outlined=''] .input-content,material-input[rounded='true'] .input-content,material-input[rounded=''] .input-content{border:1px solid;border-color:#2f6975;border-radius:0.375em}material-input[rounded='true'] .input-content,material-input[rounded=''] .input-content{border-radius:50vw}material-input[disabled='true'] label,material-input[disabled=''] label{color:#ccc}material-input[disabled='true'] .underline .unfocused-line,material-input[disabled=''] .underline .unfocused-line{background:#ccc}material-input[disabled='true'][outlined='true'] .input-content,material-input[disabled='true'][outlined=''] .input-content,material-input[disabled='true'][rounded='true'] .input-content,material-input[disabled='true'][rounded=''] .input-content,material-input[disabled=''][outlined='true'] .input-content,material-input[disabled=''][outlined=''] .input-content,material-input[disabled=''][rounded='true'] .input-content,material-input[disabled=''][rounded=''] .input-content{border-color:#ccc}material-switch{font-size:24px}material-switch .material-switch-container{display:flex;flex-flow:row;align-items:center;position:relative}material-switch .material-switch-container .material-switch-thumb{display:inline-flex;position:absolute;left:0.2em;width:0.65em;height:0.65em;border-radius:50vw;background-color:#79747E;-webkit-transition:transform .4s;-ms-transition:transform .4s;-moz-transition:transform .4s;-o-transition:transform .4s;transition:transform .4s;z-index:1}material-switch .material-switch-container .material-switch-thumb.material-switch-thumb-w-icon{left:0.2em;width:1em;height:1em}material-switch .material-switch-container .material-switch-thumb *{margin:auto}material-switch .material-switch-container .material-switch-track{display:inline-flex;border-radius:50vw;height:1.15em;width:2em;background-color:#E7E0EC;border-style:solid;border-width:0.1em;border-color:#79747E}material-switch .material-switch-container[checked] .material-switch-thumb{transform:translateX(0.95em);background-color:#fff;left:0.1em;width:1em;height:1em}material-switch .material-switch-container[checked] .material-switch-track{background-color:#6750A4;border-color:#6750A4}material-switch[intermediate] .material-switch-container .material-switch-thumb{-webkit-transition:transform .2s;-ms-transition:transform .2s;-moz-transition:transform .2s;-o-transition:transform .2s;transition:transform .2s}material-switch[intermediate] .material-switch-container[checked] .material-switch-thumb{transform:translateX(0.95em);background-color:#fff}material-switch[intermediate] .material-switch-container[checked] .material-switch-track{background-color:#6750A4;border-color:#6750A4}material-switch[intermediate] .material-switch-container[checked='intermediate'] .material-switch-thumb{transform:translateX(0.5em);width:0.85em;height:0.85em}material-switch[disabled] .material-switch-container .material-switch-track{opacity:0.12;border-color:#1C1B1F}material-switch[disabled] .material-switch-container .material-switch-thumb{opacity:0.38;background-color:#1C1B1F}material-switch[disabled] .material-switch-container[checked] .material-switch-track{background-color:#1C1B1F}material-switch[disabled] .material-switch-container[checked] .material-switch-thumb{opacity:1;background-color:#FFFBFE}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Light"),local("Roboto-Light"),url(fonts/Roboto-Light.woff2) format("woff2"),url(fonts/Roboto-Light.woff) format("woff"),url(fonts/Roboto-Light.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Regular"),local("Roboto-Regular"),url(fonts/Roboto-Regular.woff2) format("woff2"),url(fonts/Roboto-Regular.woff) format("woff"),url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Roboto-Regular.eot);src:local("Roboto Bold"),local("Roboto-Bold"),url(fonts/Roboto-Bold.woff2) format("woff2"),url(fonts/Roboto-Bold.woff) format("woff"),url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/RobotoMono-Regular.eot);src:local("Roboto Mono Regular"),local("RobotoMono-Regular"),local("Roboto-Mono-Regular"),url(fonts/RobotoMono-Regular.woff2) format("woff2"),url(fonts/RobotoMono-Regular.woff) format("woff"),url(fonts/RobotoMono-Regular.ttf) format("truetype")}@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(fonts/MaterialIcons-Regular.woff2) format("woff2"),url(fonts/MaterialIcons-Regular.woff) format("woff"),url(fonts/MaterialIcons-Regular.ttf) format("truetype")}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons,i.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}material-button .content i.material-icons,material-button[rounded=true] .content i.material-icons{margin:auto}html>body{font-family:'Roboto', 'Helvetica', 'Arial', sans-serif !important;font-size:16px;background-color:var(--background);color:var(--primary-text)}html,body{margin:0;height:100%}.section-centerd{margin:auto}.full-table{width:100%;border:none}.url{font-size:14px;word-break:break-all}.material-card-title-action a{color:inherit;text-decoration:none;font-weight:inherit}material-card{background-color:var(--background)}material-card,material-tabs,pagination .container{margin:auto;margin-top:20px;margin-bottom:20px}material-card,material-tabs,pagination .container,catalog{max-width:95%}@media screen and (min-width: 1515px){material-card,material-tabs,pagination .container,catalog{max-width:1440px}}material-tabs{display:block;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-ms-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-moz-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-o-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}material-tabs material-button,material-tabs material-button .content .text{text-transform:none}material-spinner{align-self:center}.spinner-wrapper{margin-top:50px;display:flex;flex-direction:column}.logo{padding:0 16px 0 72px;text-decoration:none;font-size:20px;line-height:1;letter-spacing:0.02em;font-weight:400}@media screen and (max-width: 600px){.logo{padding-left:0}}h2{padding:16px;margin:auto;font-size:24px;font-weight:300;line-height:normal;overflow:hidden}.material-card-title-action h2 .source-hint,.material-card-title-action h2 .item-count{font-size:0.7em;margin-left:1em}.list{display:block;padding:8px 0;list-style:none}.list.highlight:hover{background-color:rgba(0,0,0,0.12);cursor:pointer}.list>span,.list>li{box-sizing:border-box;line-height:1;height:48px;padding:0 16px;overflow:hidden}docker-registry-ui material-button>:first-child .content i.material-icons,docker-registry-ui material-button>:first-child .content i.material-icons.material-icons{font-size:24px}.list>span i.material-icons,.list>li i.material-icons{margin-right:32px;height:24px;width:24px;box-sizing:border-box;color:var(--accent-text)}.list>span .right i.material-icons.animated{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);margin-right:10px}.list>span .right{position:absolute;align-self:end;display:flex;align-items:center;right:0}.list>span i.material-icons.animated.expanded{transform:rotate(180deg)}.list>span .item-count{font-size:0.75em}.list>span,.list>li>span{height:100%;text-decoration:none;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}material-card.list{margin-top:10px;margin-bottom:10px}.material-card-title-action{-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:block;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:16px}.material-card-title-action h2{margin:0}material-card table{width:100%;border:none;position:relative;border:1px solid rgba(0,0,0,0.12);border-collapse:collapse;white-space:nowrap;font-size:13px;border:none}material-card table th{font-size:18px;vertical-align:bottom;line-height:24px;height:48px;color:var(--accent-text);box-sizing:border-box;padding:0 18px 12px 18px;text-align:right}.material-card-th-left{text-align:left}material-card .material-card-title-action material-button:hover button,material-card table tbody tr:hover{background-color:rgba(0,0,0,0.12) !important}material-button>:first-child[inverted='true'],material-card table tbody tr{transition-duration:0.28s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color}material-card table tbody tr{position:relative;height:48px}material-card table td{font-size:16px;position:relative;height:48px;border-top:1px solid rgba(0,0,0,0.12);border-bottom:1px solid rgba(0,0,0,0.12);padding:12px 18px;box-sizing:border-box;vertical-align:middle;text-align:right}tag-history-button button:hover,material-card table th.material-card-th-sorted-ascending:hover,material-card table th.material-card-th-sorted-descending:hover{cursor:pointer}material-card table th.material-card-th-sorted-ascending:hover:before,material-card table th.material-card-th-sorted-descending:hover:before{color:var(--primary-text)}material-card table th.material-card-th-sorted-ascending:before,material-card table th.material-card-th-sorted-descending:before{font-family:'Material Icons';font-weight:400;font-style:normal;line-height:1;font-size:16px;content:'\e5d8';margin-right:5px;vertical-align:sub}material-card table th.material-card-th-sorted-descending:before{content:'\e5db'}material-button .content i.material-icons,.material-icons{color:var(--neutral-text)}material-button[disabled] .content i.material-icons,material-checkbox[disabled] .content i.material-icons{color:#bbb}material-snackbar .toast{height:auto}material-popup .popup>.content{padding:1em;max-width:450px;background-color:var(--background);color:var(--primary-text)}footer{width:100%;z-index:75;bottom:0}main{min-height:calc(100% - 136px)}material-footer{padding:0.5em 1em}material-footer li{align-self:center}.copy-to-clipboard{padding-left:5px}#image-tag-header{padding-right:57px}image-tag,.copy-to-clipboard{display:inline-block}image-content-digest{display:none;font-family:'Roboto Mono', 'Roboto', 'Helvetica', 'Arial', sans-serif !important}@media screen and (min-width: 1024px){#image-content-digest-header{padding-right:57px}image-content-digest{display:inline-block}}.show-tag-history{width:30px;text-align:center}.remove-tag{padding:12px 5px;width:66px;text-align:center}.remove-tag.delete{padding:7px 5px}taglist .creation-date{width:10em}material-card td.creation-date,material-card th.creation-date{text-align:left;max-width:10em}taglist .image-size{width:7em}material-card material-button{background-color:inherit}catalog-element material-card{z-index:2;position:relative}catalog-element catalog-element material-card{transition:all 350ms cubic-bezier(0.4, 0, 0.2, 1);z-index:1;position:relative}catalog-element catalog-element.showing material-card,catalog-element catalog-element.hide material-card{margin-top:-50px;opacity:0}catalog-element catalog-element>.content{margin-left:3em}@media screen and (min-width: 1515px){catalog-element catalog-element>.content material-card{max-width:calc(1440px - 3em)}}remove-image{width:30px}material-checkbox .label{display:none}taglist material-checkbox{margin:auto;width:18px}material-checkbox.indeterminate .checkbox .checkmark{border-bottom:none}material-checkbox.indeterminate .checkbox.checked .checkmark{transform:rotate(90deg) scale(1);-webkit-transform:rotate(90deg) scale(1);-ms-transform:rotate(90deg) scale(1);-moz-transform:rotate(90deg) scale(1);-o-transform:rotate(90deg) scale(1)}material-checkbox .checkbox{border-color:var(--neutral-text)}material-checkbox .checkbox.checked{background-color:var(--neutral-text)} diff --git a/dist/docker-registry-ui.js b/dist/docker-registry-ui.js index ba90bac..cd56ac3 100644 --- a/dist/docker-registry-ui.js +++ b/dist/docker-registry-ui.js @@ -17,25 +17,25 @@ * @license AGPL */ !function(){"use strict"; -/* Riot WIP, @license MIT */var e,t=new Map,r=Symbol("riot-component"),a=new Set,n="is",o="mount",i="update",s="unmount",l="shouldUpdate",u="onBeforeMount",p="onMounted",c="onBeforeUpdate",d="onUpdated",m="onBeforeUnmount",h="onUnmounted",g="props",v="state",f="slots",y="root",x=Symbol("pure"),b=Symbol("is_updating"),T=Symbol("parent"),E=Symbol("attributes"),A=Symbol("template"),w=0,C=2,k=3,I={ATTRIBUTE:w,EVENT:1,TEXT:C,VALUE:k}; -/* Riot WIP, @license MIT */function R(e){return e.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))}function N(e,t){throw new Error(e,{cause:t})}function U(e){var t=this,r=new Map,a=function(a){return(r.has(a)||r.set(a,e.call(t,a)))&&r.get(a)};return a.cache=r,a}function B(e){return e.reduce((function(e,t){var r=t.value,a=t.type;switch(!0){case!t.name&&a===w:return Object.assign({},e,r);case a===k:e.value=t.value;break;default:e[R(t.name)]=t.value}return e}),{})}function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function S(e){for(var t=1;t=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var a=r.completion;if("throw"===a.type){var n=a.arg;w(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:k(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},e}function L(e){return L="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},L(e)}function j(){j=function(e,t){return new r(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function r(e,a,n){var o=new RegExp(e,a);return t.set(o,n||t.get(e)),F(o,r.prototype)}function a(e,r){var a=t.get(r);return Object.keys(a).reduce((function(t,r){var n=a[r];if("number"==typeof n)t[r]=e[n];else{for(var o=0;void 0===e[n[o]]&&o+1]+)>/g,(function(e,t){var r=o[t];return"$"+(Array.isArray(r)?r.join("$"):r)})))}if("function"==typeof n){var i=this;return e[Symbol.replace].call(this,r,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(a(e,i)),n.apply(this,e)}))}return e[Symbol.replace].call(this,r,n)},j.apply(this,arguments)}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,a=new Array(t);r=0;--n){var o=this.tryEntries[n],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var a=r.completion;if("throw"===a.type){var n=a.arg;w(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:I(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},e}function L(e){return L="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},L(e)}function j(){j=function(e,t){return new r(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function r(e,a,n){var o=new RegExp(e,a);return t.set(o,n||t.get(e)),F(o,r.prototype)}function a(e,r){var a=t.get(r);return Object.keys(a).reduce((function(t,r){var n=a[r];if("number"==typeof n)t[r]=e[n];else{for(var o=0;void 0===e[n[o]]&&o+1]+)>/g,(function(e,t){var r=o[t];return"$"+(Array.isArray(r)?r.join("$"):r)})))}if("function"==typeof n){var i=this;return e[Symbol.replace].call(this,r,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(a(e,i)),n.apply(this,e)}))}return e[Symbol.replace].call(this,r,n)},j.apply(this,arguments)}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,a=new Array(t);rg-p)for(var y=r(e[u],0);p'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var r=ne(t)?t:document.createElement("template");return r.innerHTML=e,r.content}(t,e)}var Ye={createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?Ke(e,t):t)}(e,this.html)||document.createDocumentFragment(),this},mount:function(e,t,r,a){var n=this;void 0===a&&(a={}),e||N("Please provide DOM node to mount properly your template"),this.el&&this.unmount(t);var o=a,i=o.fragment,s=o.children,l=o.avoidDOMInjection,u=(s?s[0]:e).parentNode,p=ne(e),c=p?function(e,t,r){var a=Array.from(e.childNodes);return Math.max(a.indexOf(t),a.indexOf(r.head)+1,0)}(u,e,a):null;this.createDOM(e);var d=i||this.dom.cloneNode(!0);return this.el=p?u:e,this.children=p?s||Array.from(d.childNodes):null,!l&&d&&function(e,t){switch(!0){case ae(e):!function(e,t){for(;e.firstChild;)t.appendChild(e.firstChild)}(t,e);break;case ne(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}(e,d),this.bindings=this.bindingsData.map((function(e){return We(n.el,e,c)})),this.bindings.forEach((function(e){return e.mount(t,r)})),this.meta=a,this},update:function(e,t){return this.bindings.forEach((function(r){return r.update(e,t)})),this},unmount:function(e,t,r){void 0===r&&(r=!1);var a=this.el;if(!a)return this;switch(this.bindings.forEach((function(a){return a.unmount(e,t,r)})),!0){case a[x]||null===r:break;case Array.isArray(this.children):!function(e){for(var t=0;tg-p)for(var y=r(e[u],0);p'.concat(e,""),"application/xml").documentElement,!0)}(t,e):function(e,t){var r=ie(t)?t:document.createElement("template");return r.innerHTML=e,r.content}(t,e)}var Ke={createDOM:function(e){return this.dom=this.dom||function(e,t){return t&&("string"==typeof t?We(e,t):t)}(e,this.html)||document.createDocumentFragment(),this},mount:function(e,t,r,a){var n=this;void 0===a&&(a={}),e||N("Please provide DOM node to mount properly your template"),this.el&&this.unmount(t);var o=a,i=o.fragment,s=o.children,l=o.avoidDOMInjection,u=(s?s[0]:e).parentNode,p=ie(e),c=p?function(e,t,r){var a=Array.from(e.childNodes);return Math.max(a.indexOf(t),a.indexOf(r.head)+1,0)}(u,e,a):null;this.createDOM(e);var d=i||this.dom.cloneNode(!0);return this.el=p?u:e,this.children=p?s||Array.from(d.childNodes):null,!l&&d&&function(e,t){switch(!0){case oe(e):!function(e,t){for(;e.firstChild;)t.appendChild(e.firstChild)}(t,e);break;case ie(e):e.parentNode.replaceChild(t,e);break;default:e.appendChild(t)}}(e,d),this.bindings=this.bindingsData.map((function(e){return qe(n.el,e,c)})),this.bindings.forEach((function(e){return e.mount(t,r)})),this.meta=a,this},update:function(e,t){return this.bindings.forEach((function(r){return r.update(e,t)})),this},unmount:function(e,t,r){void 0===r&&(r=!1);var a=this.el;if(!a)return this;switch(this.bindings.forEach((function(a){return a.unmount(e,t,r)})),!0){case a[x]||null===r:break;case Array.isArray(this.children):!function(e){for(var t=0;t1?t-1:0),a=1;a1?t-1:0),a=1;a0?a:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(r){e.hasOwnProperty(r)&&(t+=r+":"+e[r]+";")})),t}}]),n}(function(){function e(){M(this,e)}return P(e,[{key:"receiveBound",value:function(){var e;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var t=this.container&&this.container.ownerDocument,r=t.documentElement;"undefined"!==L(this.container.getBoundingClientRect)&&(e=this.container.getBoundingClientRect());var a=this.getWindow(t);return this.mix(e,{size:Math.max(e.width,e.height),offsetTop:e.top+a.pageYOffset-r.clientTop,offsetLeft:e.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var r in e)r in t||(t[r]=e[r]);return t}}]),e}()),wt={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new At(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr156",selector:"[expr156]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:e=>e.launch}]}]),name:"material-waves"},Ct=function(e){return""===e||"true"===e},kt=function(e){if("function"==typeof e){var t=z(Array,Array.prototype.slice.call(arguments)).slice(1);e.apply(void 0,K(t))}},It={array:function(e){if(!e)return[];for(var t=[],r=0;r{kt(e.onClick,t)}},onUpdated(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){Rt.forEach((r=>{Ct(e[r])?(this.root.firstElementChild.setAttribute(r,!0),t.attributes[r]=!0):t.attributes[r]=!1}));const r=t.attributes.inverted?e.color:e.textColor,a=t.attributes.inverted?e.textColor:e.color;this.root.firstElementChild.style.background=a,this.root.firstElementChild.style.color=r,t.attributes.outlined&&(this.root.firstElementChild.style["border-color"]=a,this.root.firstElementChild.style.color=r,this.root.firstElementChild.style.background="")},onWaveStart(e){kt(this.props.onWaveStart,e)},onWaveEnd(e){kt(this.props.onWaveEnd,e)},attributeToBool:Ct},template:(e,t,r,a)=>e('',[{type:r.IF,evaluate:e=>e.props.href,redundantAttribute:"expr116",selector:"[expr116]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.props.href},{type:t.ATTRIBUTE,name:"target",evaluate:e=>e.props.target}]},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.disabled),redundantAttribute:"expr117",selector:"[expr117]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"rounded",evaluate:e=>e.props.rounded},{type:t.ATTRIBUTE,name:"opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"duration",evaluate:e=>e.props.wavesDuration},{type:t.EVENT,name:"onWaveStart",evaluate:e=>e.onWaveStart},{type:t.EVENT,name:"onWaveEnd",evaluate:e=>e.onWaveEnd}]}])},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr118",selector:"[expr118]"}])},{type:r.IF,evaluate:e=>!e.props.href,redundantAttribute:"expr119",selector:"[expr119]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:e=>e.props.type}]},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.disabled),redundantAttribute:"expr120",selector:"[expr120]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"rounded",evaluate:e=>e.props.rounded},{type:t.ATTRIBUTE,name:"opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"duration",evaluate:e=>e.props.wavesDuration},{type:t.EVENT,name:"onWaveStart",evaluate:e=>e.onWaveStart},{type:t.EVENT,name:"onWaveEnd",evaluate:e=>e.onWaveEnd}]}])},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr121",selector:"[expr121]"}])}]),name:"material-button"},Ut={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){Ct(this.props.disabled)||(e.target.checked=!this.state.checked,kt(this.props.onChange,e),this.update({checked:!this.state.checked}))}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr129",selector:"[expr129]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["checkbox ",e.state.checked?"checked":""].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{redundantAttribute:"expr130",selector:"[expr130]",expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr131",selector:"[expr131]"},{redundantAttribute:"expr132",selector:"[expr132]",expressions:[{type:t.VALUE,evaluate:e=>e.state.checked}]}]),name:"material-checkbox"},Bt={css:null,exports:{state:{transition:!1,opened:!1},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>this.update({opened:e.opened,transition:!1})),e.opened?0:200))},onUpdated(e,t){e.onClick&&this.$$(".material-dropdown-item").forEach(((e,t)=>{e.onclick=r=>{const a=e.attributes.getNamedItem("item");r.target.item=a&&a.value,r.target.index=t,kt(this.props.onClick,r)}}))}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>e.props.opened||e.state.opened,redundantAttribute:"expr123",selector:"[expr123]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-container ",!!e.state.transition&&"opening"," ",e.props.animation||"top"].join("")}]},{type:r.IF,evaluate:e=>!e.props.items,redundantAttribute:"expr124",selector:"[expr124]",template:e('',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr125",selector:"[expr125]"}])},{type:r.EACH,getKey:null,condition:null,template:e('',[{type:r.IF,evaluate:e=>!e.item.href,redundantAttribute:"expr127",selector:"[expr127]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.item.title].join("")},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-item ",e.props.selected===e.key?"selected":""].join("")},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item.name||e.item.title}]}])},{type:r.IF,evaluate:e=>e.item.href,redundantAttribute:"expr128",selector:"[expr128]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.item.title].join("")},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.item.href},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-item ",e.props.selected===e.key?"selected":""].join("")},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item.name||e.item.title},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.item.title}]}])}]),redundantAttribute:"expr126",selector:"[expr126]",itemName:"item",indexName:"key",evaluate:e=>e.props.items}])}]),name:"material-dropdown"},Ot=function(){function e(t){if(M(this,e),t||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=t.type,t.valid){if(this.validationType="function"==typeof t.valid?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(t.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=t.valid||!1)}else t&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return P(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}();const St=["disabled","rounded","outlined","inverted","icon"];var Dt={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},components:{MaterialButton:Nt},onMounted(e,t){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Ot(this.props),this.update({showIcon:!1,value:this.props.value||""}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus),this.updateAttributes(e,t)},onBeforeUpdate(e,t){this.state.value=this.$("input").value,this.state.error=0!==t.value.length&&!this.validator.validate(t.value)||0===t.value.length&&Ct(e.required)},onUpdated(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){const r=function(e,t){return e.reduce((function(e,r){return e[r]=Ct(t[r]),e}),{})}(St,e),a=r.inverted?e.textColor:e.color,n=r.inverted?e.color:e.textColor;It.children(this.$(".underline")).forEach((e=>e.style.background=a)),this.$("input").style.color=n,this.$("label")&&(this.$("label").style.color=e.labelColor||n),(r.outlined||r.rounded)&&(this.$(".input-content").style["border-color"]=a)},changeFocus(e){if(Ct(this.props.disabled))return!1;const t=this.$("input")==document.activeElement;this.state.focused!=t&&(this.update({focused:t}),kt(this.props.onFocus,t,e))},changeValue(e){this.update({value:this.$("input").value}),kt(this.props.onValueChange,this.$("input").value,e)},iconClickHandler(e){kt.call(this,this.props.onIconClick,e)},attributeToBool:Ct},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr134",selector:"[expr134]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}]},{type:r.IF,evaluate:e=>e.props.label,redundantAttribute:"expr135",selector:"[expr135]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.label}]}])},{redundantAttribute:"expr136",selector:"[expr136]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:e=>e.props.type||"text"},{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>e.attributeToBool(e.props.disabled)},{type:t.ATTRIBUTE,name:"placeholder",evaluate:e=>e.props.placeholder},{type:t.EVENT,name:"onkeyup",evaluate:e=>e.changeValue},{type:t.VALUE,evaluate:e=>e.state.value},{type:t.ATTRIBUTE,name:"required",evaluate:e=>e.attributeToBool(e.props.required)}]},{type:r.IF,evaluate:e=>e.attributeToBool(e.props.icon),redundantAttribute:"expr137",selector:"[expr137]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'',bindings:[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr139",selector:"[expr139]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:e=>e.props["waves-color"]||"#fff"},{type:t.EVENT,name:"onclick",evaluate:e=>e.iconClickHandler},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:e=>e.props["waves-opacity"]||"0.6"},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:e=>e.props["waves-duration"]||"600"}],redundantAttribute:"expr138",selector:"[expr138]"}])},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.outlined)&&!e.attributeToBool(e.props.rounded),redundantAttribute:"expr140",selector:"[expr140]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}]}])}]),name:"material-input"},Lt={css:null,exports:{state:{transition:!1,opened:!1},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onClick(e){kt(this.props.onClick,e,"overlay")}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>e.props.opened||e.state.opened,redundantAttribute:"expr142",selector:"[expr142]",template:e('
',[{redundantAttribute:"expr143",selector:"[expr143]",expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]},{redundantAttribute:"expr144",selector:"[expr144]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["content ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr145",selector:"[expr145]"}])}]),name:"material-popup"},jt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError,color:e.color,textColor:e.textColor},e.duration),t.internal=!1},generateStyle(e){let t="";return e.textColor&&(t+=`color: ${e.textColor};`),e.color&&(t+=`background-color: ${e.color};`),t},addToast(e,t){var r=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[r]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[r].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[r].interval=setTimeout((()=>{this.removeToast(r)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.toasts[e.toastID].message].join("")},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>e.removeToastByClick(e.toastID)},{type:t.ATTRIBUTE,name:"style",evaluate:e=>e.generateStyle(e.state.toasts[e.toastID])}]}]),redundantAttribute:"expr146",selector:"[expr146]",itemName:"toastID",indexName:null,evaluate:e=>Object.keys(e.state.toasts)}]),name:"material-snackbar"},Mt={css:null,exports:{onBeforeMount(e,t){this.updateAttributes(e,t)},onMounted(e,t){this.updateAttributes(e,t)},onBeforeUpdate(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){t.checked=void 0!==e.checked?e.checked:t.checked,e.size&&"string"==typeof e.size&&(this.root.style["font-size"]=e.size);const r=this.$("span.material-switch-track"),a=this.$("span.material-switch-thumb"),n=(t.checked?e.trackSelectedColor:e.trackColor)||null,o=(t.checked?e.thumbSelectedColor:e.thumbColor)||null,i=(t.checked?e.outlineSelectedColor:e.outlineColor)||null;r&&(r.style["background-color"]=n),r&&(r.style["border-color"]=i),a&&(a.style["background-color"]=o,a.children.length>0?a.classList.add("material-switch-thumb-w-icon"):a.classList.remove("material-switch-thumb-w-icon"))},onChange(e){Ct(this.props.disabled)||(e.target.checked=!this.state.checked,kt(this.props.onChange,e),this.update({checked:this.checkedValue()}))},checkedValue(){return Ct(this.props.intermediate)?!0!==this.state.checked&&this.state.checked?!this.oldValue:(this.oldValue=this.state.checked,"intermediate"):!this.state.checked},attributeToBool:Ct},template:(e,t,r,a)=>e('',[{redundantAttribute:"expr148",selector:"[expr148]",expressions:[{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.checked},{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{type:r.IF,evaluate:e=>!e.state.checked,redundantAttribute:"expr149",selector:"[expr149]",template:e('',[{type:r.SLOT,attributes:[],name:"thumb-icon",redundantAttribute:"expr150",selector:"[expr150]"}])},{type:r.IF,evaluate:e=>e.state.checked,redundantAttribute:"expr151",selector:"[expr151]",template:e('',[{type:r.SLOT,attributes:[],name:"thumb-selected-icon",redundantAttribute:"expr152",selector:"[expr152]"}])}]),name:"material-switch"},_t={css:null,exports:{state:{selected:0,widths:{}},components:{MaterialButton:Nt},onMounted(e,t){this.$(".line");const r=this.$$("material-button"),a=parseFloat((100/this.props.tabs.length).toFixed(2));r.forEach(((e,n)=>{n==r.length-1&&a*r.length!=100?t.widths[n]=a+(100-a*r.length):t.widths[n]=a,e.style.width=`${t.widths[n]}%`})),this.setLinePosition(),this.updateLineColor(e,t),this.setLinePosition()},onUpdated(e,t){this.updateLineColor(e,t)},updateLineColor(e,t){const r=e.inverted?e.lineColor:e.lineSelectedColor,a=e.inverted?e.lineSelectedColor:e.lineColor,n=this.$(".line"),o=this.$(".line-wrapper");n&&o&&(n.style.background=r,o.style.background=a)},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),kt(this.props.onTabChanged,this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%",e.style.width=`${this.state.widths[this.state.selected]}%`)},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'
',bindings:[{redundantAttribute:"expr154",selector:"[expr154]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.cut?e.cut(e.tab.title||e.tab):e.tab.title||e.tab},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.tab.title||e.tab}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>t=>e.onTabChanged(t,e.k)},{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.state.selected==e.k?"selected":""},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:e=>e.props.wavesDuration},{type:t.ATTRIBUTE,name:"waves-center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"waves-color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.state.selected==e.k&&e.props.inverted?e.props.textSelectedColor:e.props.color},{type:t.ATTRIBUTE,name:"text-color",evaluate:e=>e.state.selected!=e.k||e.props.inverted?e.props.textColor:e.props.textSelectedColor},{type:t.ATTRIBUTE,name:"inverted",evaluate:e=>e.props.inverted}]}]),redundantAttribute:"expr153",selector:"[expr153]",itemName:"tab",indexName:"k",evaluate:e=>e.props.tabs},{type:r.IF,evaluate:e=>e.props.useLine,redundantAttribute:"expr155",selector:"[expr155]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"inverted",evaluate:e=>e.props.inverted}]}])}]),name:"material-tabs"};function Pt(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||95===l))break;i+=e[s++]}if(!i)throw new TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:i}),r=s}else t.push({type:"CLOSE",index:r,value:e[r++]});else t.push({type:"OPEN",index:r,value:e[r++]});else t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});else t.push({type:"MODIFIER",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),a=t.prefixes,n=void 0===a?"./":a,o="[^"+Vt(t.delimiter||"/#?")+"]+?",i=[],s=0,l=0,u="",p=function(e){if(l-1:void 0===b;n||(m+="(?:"+d+"(?="+c+"))?"),T||(m+="(?="+d+"|"+c+")")}return new RegExp(m,Gt(r))}(Pt(e,r),t,r)}function Ft(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,a=0,n=r.exec(e.source);n;)t.push({name:n[1]||a++,prefix:"",suffix:"",modifier:"",pattern:""}),n=r.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,r){var a=e.map((function(e){return Ft(e,t,r).source}));return new RegExp("(?:"+a.join("|")+")",Gt(r))}(e,t,r):$t(e,t,r)}var Ht=Symbol();function zt(){for(var e=arguments.length,t=new Array(e),r=0;r1?r-1:0),n=1;n',[{type:r.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:r.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},vr=function(){return fr()||global},fr=function(){return"undefined"==typeof window?null:window},yr=function(){return"undefined"==typeof document?null:document},xr=function(){var e=fr();return e?e.location:{}},br=(mr=vr()).requestAnimationFrame||mr.setTimeout,Tr=function(){var e=vr();return e.cancelAnimationFrame||e.clearTimeout}(),Er="popstate",Ar="click",wr="/",Cr=/^.+?\/\/+[^/]+/,kr=function(e){return e[e.length-1]===wr?e.substr(0,e.length-1):e},Ir=function(e){var t,r=fr().location,a=r?"".concat(r.protocol,"//").concat(r.host):"",n=(r||{}).pathname;switch(!0){case!1===Boolean(e):return kr("".concat(a).concat(n||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(a).concat(n&&n!==wr?n:"").concat(e);case e===wr:return kr(a);default:return kr("".concat(a).concat((t=e)[0]===wr?t:"".concat(wr).concat(t)))}};function Rr(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}var Nr=function(e){return e.split(/\s/)};function Ur(e,t,r,a,n){e=Rr(e),Nr(t).forEach((function(t){e.forEach((function(e){return e[a](t,r,n||!1)}))}))}function Br(e,t,r,a){return Ur(e,t,r,"addEventListener",a),e}function Or(e,t,r,a){return Ur(e,t,r,"removeEventListener",a),e}var Sr=function(e){return 1===e.length?e[0]:e};function Dr(e,t){return function(e,t,r){var a="string"==typeof t?[t]:t;return Sr(Rr(e).map((function(e){return Sr(a.map((function(t){return e[r](t)})))})))}(e,t,"hasAttribute")}var Lr=function(){return rr.push(Vr(String(xr().href)))},jr=function(e){var t=e.includes(ar.base)?e:ar.base+e,r=xr(),a="undefined"==typeof history?null:history,n=yr();a&&t!==r.href&&a.pushState(null,n.title,t)},Mr=function e(t){return t&&!_r(t)?e(t.parentNode):t},_r=function(e){return"A"===e.nodeName},Pr=function(e){return!e||!_r(e)||Dr(e,"download")||!Dr(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(xr().href.match(Cr)[0])},Vr=function(e){return e.replace(ar.base,"")},Gr=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=Mr(e.target);if(!Pr(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!ar.base||e.includes(ar.base)}(t.href)){var r=Vr(t.href);rr.push(r),e.preventDefault()}}};var $r,Fr="base",Hr=Et.DOMBindings,zr=Hr.template,Xr=Hr.bindingTypes,qr=!1,Wr={css:null,exports:($r=function(e){var t=e.slots,r=e.attributes,a=e.props;qr&&function(e){throw new Error(e)}("Multiple components are not supported");var n=function(e){return r&&r.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var r,a,o,i=this,s=n("initialRoute"),l=s?s.evaluate(t):null,u=cr();qr=!0,this.el=e,this.teardown=(r=this.root,a=fr(),o=r||yr(),a&&(Br(a,Er,Lr),Br(o,Ar,Gr)),rr.on.value(jr),function(){a&&(Or(a,Er,Lr),Or(o,Ar,Gr)),rr.off.value(jr)}),this.setBase(t),u&&!l?this.createSlot(t):(rr.on.value((function e(){i.createSlot(t),rr.off.value(e)})),rr.push(l||window.location.href))},createSlot:function(e){if(t&&t.length){var r=n("onStarted");this.slot=zr(null,[{type:Xr.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),r&&r.evaluate(e)(cr())}},update:function(e){var t=this;this.setBase(e),this.slot&&(Tr(this.deferred),this.deferred=br((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),qr=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=n(Fr);return t?this.el.getAttribute(Fr)||t.evaluate(e):"/"},setBase:function(e){var t;t=a?a.base:this.getBase(e),ar.base=Ir(t)}}},oe($r)||N('riot.pure accepts only arguments of type "function"'),$r[x]=!0,$r),template:null,name:"router-hoc"},Kr="registryServer";function Yr(e){var t=["Bytes","KB","MB","GB","TB"];if(null==e||isNaN(e))return"?";if(0===e)return"0 Byte";var r=parseInt(Math.floor(Math.log(e)/Math.log(1024))),a=e/Math.pow(1024,r);if(a<10){var n=(e-Math.floor(a)*Math.pow(1024,r))/Math.pow(1024,r);return"".concat(Math.floor(a),".").concat(Math.floor(10*n)," ").concat(t[r])}return Math.ceil(a)+" "+t[r]}function Qr(e,t,r){return r||(r=100),e?e.slice((t-1)*r,r*t):[]}function Jr(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Zr(e,t){var r=[],a=10;if(1===t)return r;1!==e&&t>=a&&(r.push({icon:"first_page",page:1}),r.push({icon:"chevron_left",page:e-1}));for(var n=Math.round(Math.max(1,Math.min(e-5,t-a+1))),o=n;oa,"space-right":e===t&&t>a});return e!==t&&t>=a&&(r.push({icon:"chevron_right",page:e+1}),r.push({icon:"last_page",page:t})),r}function ea(e){return e?e.replace(/^https?:\/\//,""):""}function ta(e){return e>="0"&&e<="9"}var ra={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function aa(e){try{var t=JSON.parse(localStorage.getItem(Kr));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function na(e){if("string"==typeof e)e=e.split(",");else if(!Array.isArray(e))throw new Error("setRegistries must be called with string or array parameter");e=e.map((function(e){return e.replace(/\/*$/,"")})),localStorage.setItem(Kr,JSON.stringify(e))}function oa(e){var t=e.trim().replace(/\/*$/,""),r=aa().filter((function(e){return e!==t}));return na([t].concat(r)),t}function ia(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function sa(e){return!0===e||"true"===e}function la(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var r=t.indexOf("=");e[t.slice(0,r)]=r<0?"":t.slice(r+1)})),e}function ua(e){var t=la();for(var r in e)null===e[r]?delete t[r]:t[r]=e[r];return t}function pa(e){var t=[];for(var r in e)r&&void 0!==e[r]&&t.push("".concat(r,"=").concat(e[r]));return 0===t.length?"":"?".concat(t.join("&"))}function ca(e){var t=window.location,r=ua(e);return t.origin+t.pathname+pa(r)}var da={home:function(){return ca({page:null})},taglist:function(e){return"".concat(ca({page:null}),"#!/taglist/").concat(e)},getTagListImage:function(){return cr().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){return"".concat(ca({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t)},getTagHistoryImage:function(){return cr().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return cr().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=pa(ua(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:ia(e)})},getUrlQueryParam:function(){var e=la().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return la().page}},ma=function(){function e(t){M(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=ha,this.oReq.getErrorMessage=ga,this._events={},this._headers={},this.onAuthentication=t&&t.onAuthentication,this.withCredentials=t&&t.withCredentials}return P(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(e,t){this._events[e]=t;var r=this;switch(e){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401!==this.status||this.withCredentials)t.bind(this)();else{var e=this.hasHeader("www-authenticate")&&fa(this.getResponseHeader("www-authenticate"));r.onAuthentication(e,(function(e){var t=new XMLHttpRequest;for(var a in t._url=r._url,t.open(r._method,r._url),r._events)t.addEventListener(a,r._events[a]);for(var n in r._headers)t.setRequestHeader(n,r._headers[n]);e&&e.token?t.setRequestHeader("Authorization","Bearer ".concat(e.token)):t.withCredentials=!0,t.hasHeader=ha,t.getErrorMessage=ga,r.oReq=t,t.send()}))}}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&t.bind(this)()}));break;default:r.oReq.addEventListener(e,(function(){t.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.withCredentials&&(this.oReq.withCredentials=!0),this.oReq.open(e,t)}},{key:"send",value:function(){this.oReq.send()}}]),e}(),ha=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},ga=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?{code:"MIXED_CONTENT",url:this._url}:this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":{code:"INCORRECT_URL",url:this._url}},va=j(/Bearer realm="([^"]+)",service="([^"]+)",scope="([^"]+)"/,{realm:1,service:2,scope:3}),fa=function(e){var t=va.exec(e);return t&&t.groups};function ya(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var xa,ba,Ta,Ea,Aa,wa,Ca,ka,Ia={css:'search-bar material-input,[is="search-bar"] material-input{ line-height: initial; min-width: 5em; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } }',exports:{onMounted(e,t){const r=this.$("input");let a="";const n=()=>{a!==r.value&&e.onSearch(r.value.toLowerCase()),a=r.value};r.addEventListener("keyup",n),rr.on.value((()=>{r.value="",n()})),window.addEventListener("keydown",(e=>{if(114===e.keyCode||e.ctrlKey&&70===e.keyCode){if(document.activeElement===r)return!0;e.preventDefault(),r.focus()}}))}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-input",slots:[],attributes:[],redundantAttribute:"expr17",selector:"[expr17]"}]),name:"search-bar"},Ra={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length),e.showCatalogNbTags&&t.image&&this.getNbTags(e,t)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>ya(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){this.state.repo&&(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50))},getNbTags(e,t){const r=this,a=new ma({onAuthentication:e.onAuthentication});a.addEventListener("load",(function(){if(200===this.status){const e=(JSON.parse(this.responseText).tags||[]).length;r.update({nbTags:e})}else 404===this.status?e.onNotify("Server not found",!0):e.onNotify(this.responseText,!0)})),a.addEventListener("error",(function(){e.onNotify(this.getErrorMessage(),!0)})),a.open("GET",e.registryUrl+"/v2/"+t.image+"/tags/list"),a.send()},matchSearch:ya,router:da},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image),redundantAttribute:"expr59",selector:"[expr59]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'send
',bindings:[{type:r.IF,evaluate:e=>e.state.image,redundantAttribute:"expr61",selector:"[expr61]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.router.taglist(e.state.image)}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[],redundantAttribute:"expr62",selector:"[expr62]"}])},{type:r.IF,evaluate:e=>e.state.images,redundantAttribute:"expr63",selector:"[expr63]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[]}])},{redundantAttribute:"expr64",selector:"[expr64]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:e=>[e.state.image||e.state.repo].join("")}]},{type:r.IF,evaluate:e=>e.state.images,redundantAttribute:"expr65",selector:"[expr65]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nImages," images"].join("")}]},{redundantAttribute:"expr66",selector:"[expr66]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-icons animated ",e.state.expanded?"expanded":""].join("")}]}])},{type:r.IF,evaluate:e=>e.props.showCatalogNbTags&&e.state.image,redundantAttribute:"expr67",selector:"[expr67]",template:e(' ',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nbTags," tags"].join("")}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:e=>e.state.expanded},{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}],redundantAttribute:"expr60",selector:"[expr60]"},{type:r.EACH,getKey:null,condition:e=>e.state.images,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"catalog-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onnNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.props.showCatalogNbTags},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item}]}]),redundantAttribute:"expr68",selector:"[expr68]",itemName:"item",indexName:null,evaluate:e=>e.state.images}])}]),name:"catalog-element"},Na={css:null,exports:{components:{CatalogElement:Ra},state:{registryName:"",length:0,loadend:!1,repositories:[],registryUrl:""},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit},onMounted(e,t){this.display(e,t)},onUpdated(e,t){this.display(e,t)},display(e,t){if(e.registryUrl===t.registryUrl)return;t.registryUrl=e.registryUrl;let r=[];const a=this,n=`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`,o=new ma({onAuthentication:this.props.onAuthentication});o.addEventListener("load",(function(){200===this.status?(r=JSON.parse(this.responseText).repositories||[],r.sort(),r=r.reduce((function(e,t){const r=t.indexOf("/");if(r>0){const a=t.substring(0,r)+"/";return 0!==e.length&&e[e.length-1].repo==a||e.push({repo:a,images:[]}),e[e.length-1].images.push(t),e}return e.push(t),e}),[])):404===this.status?a.props.onNotify({code:"CATALOG_NOT_FOUND",url:n},!0):a.props.onNotify(this.responseText)})),o.addEventListener("error",(function(){a.props.onNotify(this.getErrorMessage(),!0)})),o.addEventListener("loadend",(function(){a.update({repositories:r,nRepositories:r.length,nImages:r.reduce(((e,t)=>e+(t.images&&t.images.length||1)),0),loadend:!0})})),o.open("GET",n),o.send()}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

',bindings:[{redundantAttribute:"expr28",selector:"[expr28]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Repositories of ",e.state.registryName].join("")}]},{redundantAttribute:"expr29",selector:"[expr29]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nImages," images in ",e.state.nRepositories," repositories"].join("")}]}]}],attributes:[],redundantAttribute:"expr27",selector:"[expr27]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr30",selector:"[expr30]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr31",selector:"[expr31]"}])},{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"catalog-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.props.showCatalogNbTags}]}]),redundantAttribute:"expr32",selector:"[expr32]",itemName:"item",indexName:null,evaluate:e=>e.state.repositories}]),name:"catalog"},Ua={};xa={get exports(){return Ua},set exports(e){Ua=e}},ba="*",Ta=Object.defineProperties,Ea=Object.entries,Aa=function(e,t){return function(r,a){return e.has(r)?e.get(r).add(a):e.set(r,(new Set).add(a)),t}},wa=function(e,t){return function(r,a){return r!==ba||a?function(e,t,r,a){if(a){var n=e.get(r);n&&(n.delete(a),0===n.size&&e.delete(r))}else e.delete(r)}(e,0,r,a):e.clear(),t}},Ca=function(e,t){return function(e,r){return t.on(e,(function a(){t.off(e,a);for(var n=arguments.length,o=new Array(n),i=0;i1?a-1:0),o=1;o0&&ta(e[e.length-1].charAt(0))==ta(t)?e[e.length-1]+=t:e.push(t),e};function Sa(e,t){for(var r=e.tag.match(/./g).reduce(Oa,[]),a=t.tag.match(/./g).reduce(Oa,[]),n=0;n :first-child,[is="pagination"] material-button > :first-child{ padding: 0; min-width: 40px; min-height: 44px; } pagination material-button > :first-child .content,[is="pagination"] material-button > :first-child .content{ display: flex; align-content: center; flex-direction: column; font-size: 16px; line-height: 42px; } pagination material-button.current > :first-child.space-left,[is="pagination"] material-button.current > :first-child.space-left{ margin-left: 85px; } pagination material-button.current > :first-child.space-right,[is="pagination"] material-button.current > :first-child.space-right{ margin-right: 85px; } pagination material-button .content i.material-icons,[is="pagination"] material-button .content i.material-icons{ height: unset; }',exports:null,template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'',bindings:[{type:r.IF,evaluate:e=>e.p.icon,redundantAttribute:"expr70",selector:"[expr70]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.p.icon}]}])},{type:r.IF,evaluate:e=>!e.p.icon,redundantAttribute:"expr71",selector:"[expr71]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.p.page}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"aria-label",evaluate:e=>["page-",e.p.page].join("")},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.p.current?"var(--accent-text)":"rgba(0, 0, 0, 0 )"},{type:t.ATTRIBUTE,name:"text-color",evaluate:e=>e.p.current?"var(--accent-text)":"var(--primary-text)"},{type:t.ATTRIBUTE,name:"class",evaluate:e=>[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")},{type:t.EVENT,name:"onClick",evaluate:e=>t=>e.props.onPageUpdate(e.idx)}]}]),redundantAttribute:"expr69",selector:"[expr69]",itemName:"p",indexName:"idx",evaluate:e=>e.props.pages}]),name:"pagination"},ja={css:null,exports:{onMounted(e){this.loadCreationDate(e)},onUpdated(e){this.loadCreationDate(e)},loadCreationDate(e){e.image.creationDate||e.image.ociImage||(e.image.one("creation-date",(e=>{this.update({date:e,localDate:e&&e.toLocaleString()})})),e.image.trigger("get-date"))},getDate:e=>e.ociImage?"Not Available":`${function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],r=[1,60,3600,86400,2592e3,31104e3,1/0],a=(new Date-e)/1e3,n=0;n=a)return t[2*n];if(r[n+1]>a)return Math.floor(a/r[n])+" "+t[2*n+1]}}(e.creationDate)} ago`,getLocalDate:e=>e.ociImage?"unavailable on OCI index/Buildkit export cache":e.creationDate&&e.creationDate.toLocaleString()||"unknown"},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr158",selector:"[expr158]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getDate(e.props.image)},{type:t.ATTRIBUTE,name:"title",evaluate:e=>["Creation date ",e.getLocalDate(e.props.image)].join("")}]}]),name:"image-date"},Ma={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){"number"!=typeof e.image.size&&(e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size"))},getImageSize:e=>Yr(e.size)},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr157",selector:"[expr157]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getImageSize(e.props.image)}]}]),name:"image-size"},_a={css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e&&e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr159",selector:"[expr159]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.image.tag},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.state.sha256}]}]),name:"image-tag"},Pa={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){e.image.contentDigest||(t.chars=-1,e.image.one("content-digest",(t=>{this.contentDigest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest"))},onResize(e){e!==this.state.chars&&this.update({chars:e})},getTitle:(e,t)=>t>=70?"":e.contentDigest||"",getContentDigest:(e,t)=>t>=70?e.contentDigest||"":t<=0?"":e.contentDigest&&e.contentDigest.slice(0,t)+"..."},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr160",selector:"[expr160]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getContentDigest(e.props.image,e.state.chars)},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.getTitle(e.props.image,e.state.chars)}]}]),name:"image-content-digest"},Va={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},getDockerCmd:e=>"tag"===e.target?`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`:`docker pull ${e.pullUrl}/${e.image.name}@${e.image.contentDigest}`,load(e,t){"tag"===e.target||e.image.contentDigest||(e.image.one("content-digest",(e=>{this.update()})),e.image.trigger("get-content-digest"))},copy(){const e=this.$("input");e.value?(e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+e.value+"` has been copied to clipboard.")):this.props.onNotify(ra)}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr161",selector:"[expr161]",expressions:[{type:t.VALUE,evaluate:e=>e.getDockerCmd(e.props)}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.copy}],redundantAttribute:"expr162",selector:"[expr162]"}]),name:"copy-to-clipboard"},Ga={css:null,exports:{onMounted(e){e.image.one("oci-image",(()=>{this.update()}))},buttonTittle(){return this.props.image.ociImage?"History is unavailable on OCI index/Buildkit export cache":"This will show the history of given tag"},routeToHistory(){if(!this.props.image.ociImage)return da.history(this.props.image.name,this.props.image.tag)}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.buttonTittle()},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.routeToHistory()},{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>e.props.image.ociImage}],redundantAttribute:"expr163",selector:"[expr163]"}]),name:"tag-history-button"},$a={css:null,exports:{onBeforeMount(e,t){t.checked=e.checked,e.image.one("content-digest",(e=>{this.update({contentDigest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(){this.props.handleCheckboxChange(Xa,this.props.image)},handleCheckboxChange(e){const t=e.target.checked?Ha:za;this.props.handleCheckboxChange(t,this.props.image,e.shiftKey)}},template:(e,t,r,a)=>e('',[{type:r.IF,evaluate:e=>!e.props.multiDelete,redundantAttribute:"expr164",selector:"[expr164]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>!e.state.contentDigest},{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImage}]}])},{type:r.IF,evaluate:e=>e.props.multiDelete,redundantAttribute:"expr165",selector:"[expr165]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-checkbox",slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>!e.state.contentDigest},{type:t.EVENT,name:"onChange",evaluate:e=>e.handleCheckboxChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.checked}]}])}]),name:"remove-image"},Fa={css:'confirm-delete-image,[is="confirm-delete-image"]{ color: #000; list-style-type: disc; margin-block-start: 0.7em; } confirm-delete-image material-popup .content .material-popup-content,[is="confirm-delete-image"] material-popup .content .material-popup-content{ overflow-y: auto; max-height: 250px; }',exports:{displayImagesToDelete(e,t){const r=new Set;return e.forEach((e=>{e.contentDigest&&r.add(e.contentDigest)})),t.filter((e=>r.has(e.contentDigest)))},deleteImages(){this.props.toDelete.forEach((e=>this.getContentDigestThenDelete(e,this.props)))},getContentDigestThenDelete({name:e,tag:t},r){const{registryUrl:a,onNotify:n,onAuthentication:o}=r,i=new ma({onAuthentication:o}),s=this;i.addEventListener("loadend",(function(){200===this.status||202===this.status?i.getContentDigest((function(a){a?s.deleteImage({name:e,tag:t,contentDigest:a},r):n(ERROR_CAN_NOT_READ_CONTENT_DIGEST)})):404===this.status?n(`Manifest for ${e}:${t} not found`,!0):n(this.responseText)})),i.open("GET",`${a}/v2/${e}/manifests/${t}`),i.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.index.v1+json"),i.send()},deleteImage({name:e,tag:t,contentDigest:r},a){const{registryUrl:n,ignoreError:o,onNotify:i,onAuthentication:s,onClick:l}=a,u=new ma({onAuthentication:s});u.addEventListener("loadend",(function(){200===this.status||202===this.status?(da.taglist(e),i(`Deleting ${e}:${t} image. Run \`registry garbage-collect config.yml\` on your registry`)):404===this.status?o||i({message:"Digest not found for this image in your registry.",isError:!0}):i(this.responseText),l()})),u.open("DELETE",`${n}/v2/${e}/manifests/${r}`),u.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json"),u.addEventListener("error",(function(){const e=this.withCredentials?" When you use credentials on a different hostname, the registry server may fail preflight requests. Check FAQ and issue #104.":"";i({message:"An error occurred when deleting image. Check if your server accept DELETE methods Access-Control-Allow-Methods: ['DELETE']."+e,isError:!0})})),u.send()}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
These images will be deleted
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.image.name,":",e.image.tag].join("")}]}]),redundantAttribute:"expr167",selector:"[expr167]",itemName:"image",indexName:null,evaluate:e=>e.displayImagesToDelete(e.props.toDelete,e.props.tags)},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Delete\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImages}],redundantAttribute:"expr168",selector:"[expr168]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClick}],redundantAttribute:"expr169",selector:"[expr169]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClick}],redundantAttribute:"expr166",selector:"[expr166]"}]),name:"confirm-delete-image"};const Ha="CHECK",za="UNCHECK",Xa="DELETE";var qa={css:null,exports:{components:{ImageDate:ja,ImageSize:Ma,ImageTag:_a,ImageContentDigest:Pa,CopyToClipboard:Va,RemoveImage:$a,TagHistoryButton:Ga,ConfirmDeleteImage:Fa},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},deleteImages(){this.update({confirmDeleteImage:!0})},onConfirmDeleteImageClick(){this.state.singleDeleteAction&&this.state.toDelete.clear(),this.update({singleDeleteAction:!1,confirmDeleteImage:!1})},onRemoveImageHeaderChange(e){if(!0===e.altKey){Qr(this.props.tags,this.props.page).filter((e=>ya(this.props.filterResults,e.tag))).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete,slectedImage:void 0})}else this.update({multiDelete:e.target.checked,slectedImage:void 0})},onRemoveImageChange(e,t,r){let a,n=!1,o=!1;switch(e){case Ha:this.state.toDelete.add(t),r&&(a=this.supportShiftKey(t,!0));break;case za:this.state.toDelete.delete(t),r&&(a=this.supportShiftKey(t,!1));break;case Xa:this.state.toDelete.clear(),this.state.toDelete.add(t),n=!0,o=!0}this.update({toDelete:this.state.toDelete,confirmDeleteImage:n,singleDeleteAction:o,slectedImage:a})},supportShiftKey(e,t){if(!this.state.slectedImage)return e;{let r=!1;Qr(this.props.tags,this.props.page).filter((t=>t==this.state.slectedImage||t==e?(r=!r,!0):r)).forEach((e=>{t?this.state.toDelete.add(e):this.state.toDelete.delete(e)}))}},onReverseOrder(){this.state.orderType=null,this.state.desc=!1,this.props.onReverseOrder()},onPageReorder(e){this.update({orderType:e,desc:this.state.orderType&&this.state.orderType!==e||!this.state.desc})},getPage(e,t){const r=Qr(e,t);return"date"===this.state.orderType?r.sort(((e,t)=>this.state.desc?(e.creationDate?.getTime()||0)-(t.creationDate?.getTime()||0):(t.creationDate?.getTime()||0)-(e.creationDate?.getTime()||0))):"size"===this.state.orderType&&r.sort(((e,t)=>this.state.desc?e.size-t.size:t.size-e.size)),r},matchSearch:ya},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"confirm-delete-image",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.confirmDeleteImage},{type:t.EVENT,name:"on-click",evaluate:e=>e.onConfirmDeleteImageClick},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"tags",evaluate:e=>e.props.tags},{type:t.ATTRIBUTE,name:"to-delete",evaluate:e=>e.state.toDelete}],redundantAttribute:"expr72",selector:"[expr72]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'
\n Creation date\n \n Size\n \n Tag\n History
',bindings:[{redundantAttribute:"expr74",selector:"[expr74]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["creation-date ",e.state.desc&&"date"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>()=>e.onPageReorder("date")}]},{redundantAttribute:"expr75",selector:"[expr75]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["image-size ",e.state.desc&&"size"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>()=>e.onPageReorder("size")}]},{type:r.IF,evaluate:e=>e.props.showContentDigest,redundantAttribute:"expr76",selector:"[expr76]",template:e("Content Digest",[])},{redundantAttribute:"expr77",selector:"[expr77]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"},{type:t.EVENT,name:"onclick",evaluate:e=>e.onReverseOrder}]},{type:r.IF,evaluate:e=>e.props.isImageRemoveActivated,redundantAttribute:"expr78",selector:"[expr78]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["remove-tag ",e.state.toDelete.size>0&&!e.state.singleDeleteAction?"delete":""].join("")}]},{type:r.IF,evaluate:e=>0===e.state.toDelete.size||e.state.singleDeleteAction,redundantAttribute:"expr79",selector:"[expr79]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-checkbox",slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.multiDelete},{type:t.EVENT,name:"onChange",evaluate:e=>e.onRemoveImageHeaderChange}]}])},{type:r.IF,evaluate:e=>e.state.toDelete.size>0&&!e.state.singleDeleteAction,redundantAttribute:"expr80",selector:"[expr80]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImages}]}])}])},{type:r.EACH,getKey:null,condition:e=>e.matchSearch(e.props.filterResults,e.image.tag),template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"image-date",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr82",selector:"[expr82]"},{type:r.TAG,getComponent:a,evaluate:e=>"image-size",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr83",selector:"[expr83]"},{type:r.IF,evaluate:e=>e.props.showContentDigest,redundantAttribute:"expr84",selector:"[expr84]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"image-content-digest",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr85",selector:"[expr85]"},{type:r.TAG,getComponent:a,evaluate:e=>"copy-to-clipboard",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify}],redundantAttribute:"expr86",selector:"[expr86]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"image-tag",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr87",selector:"[expr87]"},{type:r.TAG,getComponent:a,evaluate:e=>"copy-to-clipboard",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify}],redundantAttribute:"expr88",selector:"[expr88]"},{type:r.TAG,getComponent:a,evaluate:e=>"tag-history-button",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr89",selector:"[expr89]"},{type:r.IF,evaluate:e=>e.props.isImageRemoveActivated,redundantAttribute:"expr90",selector:"[expr90]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"remove-image",slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:e=>e.state.multiDelete},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:e=>e.onRemoveImageChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.toDelete.has(e.image)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication}],redundantAttribute:"expr91",selector:"[expr91]"}])}]),redundantAttribute:"expr81",selector:"[expr81]",itemName:"image",indexName:null,evaluate:e=>e.getPage(e.props.tags,e.props.page)}]}],attributes:[],redundantAttribute:"expr73",selector:"[expr73]"}]),name:"tag-table"},Wa={css:null,exports:{components:{Pagination:La,TagTable:qa},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:da.getPageQueryParam()||1}},onMounted(e,t){this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize)},display(e,t){t.tags=[];const r=this,a=new ma({onAuthentication:e.onAuthentication});a.addEventListener("load",(function(){if(200===this.status){const a=(JSON.parse(this.responseText).tags||[]).map((t=>new Da(e.image,t,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication,useControlCacheHeader:e.useControlCacheHeader}))).sort(Sa);window.requestAnimationFrame(r.onResize),r.update({page:Math.min(t.page,Jr(a)),tags:a})}else 404===this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText,!0)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),a.addEventListener("loadend",(function(){r.update({loadend:!0})})),a.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),a.send(),t.asc=!0},onPageUpdate(e){const t=Zr(this.state.page,Jr(this.state.tags))[e].page;this.update({page:t}),da.updatePageQueryParam(t)},onResize(){const e=window.innerWidth;let t=0;const r=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,r>20&&(t-=r-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(Sa),this.state.asc=!0),this.update()},getPageLabels:Zr,getNumPages:Jr,router:da},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.router.home()}],redundantAttribute:"expr34",selector:"[expr34]"},{redundantAttribute:"expr35",selector:"[expr35]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Tags of ",e.props.image].join("")}]},{redundantAttribute:"expr36",selector:"[expr36]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}]},{redundantAttribute:"expr37",selector:"[expr37]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.tags.length," tags"].join("")}]}]}],attributes:[],redundantAttribute:"expr33",selector:"[expr33]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr38",selector:"[expr38]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr39",selector:"[expr39]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"pagination",slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:e=>e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))},{type:t.EVENT,name:"onPageUpdate",evaluate:e=>e.onPageUpdate}],redundantAttribute:"expr40",selector:"[expr40]"},{type:r.IF,evaluate:e=>e.state.loadend,redundantAttribute:"expr41",selector:"[expr41]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"tag-table",slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:e=>e.state.tags},{type:t.ATTRIBUTE,name:"asc",evaluate:e=>e.state.asc},{type:t.ATTRIBUTE,name:"page",evaluate:e=>e.state.page},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:e=>e.props.showContentDigest},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.props.isImageRemoveActivated},{type:t.EVENT,name:"onReverseOrder",evaluate:e=>e.onReverseOrder},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"pagination",slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:e=>e.getPageLabels(e.state.page,e.getNumPages(e.state.tags))},{type:t.EVENT,name:"onPageUpdate",evaluate:e=>e.onPageUpdate}],redundantAttribute:"expr42",selector:"[expr42]"}]),name:"tag-list"},Ka={css:'dockerfile material-popup .popup material-button,[is="dockerfile"] material-popup .popup material-button{ margin-right: 1em; } dockerfile material-popup .popup > .content,[is="dockerfile"] material-popup .popup > .content{ max-width: 75em; width: 80%; } dockerfile .material-popup-content,[is="dockerfile"] .material-popup-content{ background-color: var(--hover-background); } @media screen and (max-width: 800px) { dockerfile material-popup .popup > .content,[is="dockerfile"] material-popup .popup > .content{ width: 100%; } } dockerfile .instruction,[is="dockerfile"] .instruction{ font-family: \'Roboto Mono\', monospace !important; margin: 0.75em 0; } dockerfile .instruction .keyword,[is="dockerfile"] .instruction .keyword{ color: var(--accent-text); }',exports:null,template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Dockerfile
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e('',[{type:r.EACH,getKey:null,condition:null,template:e('
',[{redundantAttribute:"expr95",selector:"[expr95]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.element.value}]},{redundantAttribute:"expr96",selector:"[expr96]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>" "+e.element.content}]}]),redundantAttribute:"expr94",selector:"[expr94]",itemName:"element",indexName:null,evaluate:e=>e.props.elements[e.props.elements.length-1-e.idx].filter((e=>"created_by"===e.key))}]),redundantAttribute:"expr93",selector:"[expr93]",itemName:"_",indexName:"idx",evaluate:e=>e.props.elements},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr97",selector:"[expr97]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr92",selector:"[expr92]"}]),name:"dockerfile"};var Ya={css:'tag-history-element.Labels .value,[is="tag-history-element"].Labels .value, :host.Env .value { margin-bottom: 0.5em; } tag-history-element i,[is="tag-history-element"] i{ font-size: 20px; padding: 0px; } tag-history-element.docker_version .headline .material-icons,[is="tag-history-element"].docker_version .headline .material-icons, :host.docker_version .headline #docker_verion { height: 24px; } tag-history-element,[is="tag-history-element"]{ display: block; padding: 20px; min-width: 100px; min-height: 3em; width: 420px; float: left; } tag-history-element .content,[is="tag-history-element"] .content{ overflow-x: auto; } tag-history-element.id .content,[is="tag-history-element"].id .content{ overflow-x: initial; } tag-history-element .headline,[is="tag-history-element"] .headline{ height: 24px; display: flex; flex-direction: row; align-items: center; font-weight: bold; } tag-history-element .headline *,[is="tag-history-element"] .headline *{ margin-right: 6px; } tag-history-element.id div.value,[is="tag-history-element"].id div.value{ font-size: 12px; }',exports:{onBeforeStart(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router";case"comment":return"chat";default:return e.startsWith("custom-label-")?"label":""}}(e.entry.key),t.name=this.cleanName(e.entry.key),e.entry.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStart(e,t)},onBeforeUpdate(e,t){this.onBeforeStart(e,t)},onMounted(e,t){const r=this.$("#docker_verion");r&&(r.innerHTML=(new DOMParser).parseFromString('\n \n \n \n\n',"image/svg+xml").firstElementChild.outerHTML)},cleanName:e=>"id"===e?e:"os"===e?"OS":(e.startsWith("custom-label-")&&(e=e.replace("custom-label-","")),e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").split(" ").map((e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`)).join(" "))},template:(e,t,r,a)=>e('
',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.state.key}]},{type:r.IF,evaluate:e=>"docker_version"!==e.state.key,redundantAttribute:"expr98",selector:"[expr98]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.icon}]}])},{type:r.IF,evaluate:e=>"docker_version"===e.state.key,redundantAttribute:"expr99",selector:"[expr99]",template:e(null,[])},{redundantAttribute:"expr100",selector:"[expr100]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.name}]},{type:r.IF,evaluate:e=>e.state.value,redundantAttribute:"expr101",selector:"[expr101]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.value}]}])},{type:r.EACH,getKey:null,condition:e=>e.state.values,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.value}]}]),redundantAttribute:"expr102",selector:"[expr102]",itemName:"value",indexName:null,evaluate:e=>e.state.values}]),name:"tag-history-element"};const Qa=function(e){switch(e){case"created":return 1;case"created_by":return 2;case"size":return 3;case"os":return 4;case"architecture":return 5;case"id":return 6;case"linux":return 7;case"docker_version":return 8;default:return 10}},Ja=function(e,t){return Qa(e.key)-Qa(t.key)},Za=e=>{if(e.startsWith("COPY"))return{value:"COPY",content:e.replace(/^COPY /,"")};let t=e.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+) (.*)/);return{value:t&&t[1]||"RUN",content:t&&t[2]||e.replace(/^\/bin\/sh *-c *(#\(nop\))?/,"")}},en=function(e,t){switch(e){case"created":return{key:e,value:new Date(t).toLocaleString()};case"created_by":return t.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+) (.*)/),{key:e,...Za(t)};case"size":return{key:e,value:Yr(t)};case"Entrypoint":case"Cmd":return{key:e,value:(t||[]).join(" ")};case"Labels":return{key:e,value:Object.keys(t||{}).map((function(e){return t[e]?e+"="+t[e]:""}))};case"Volumes":case"ExposedPorts":return{key:e,value:Object.keys(t)}}return{key:e,value:t||""}};var tn,rn={css:'tag-history h2,[is="tag-history"] h2{ flex-grow: 1; display: flex; flex-direction: row; align-items: center; }',exports:{components:{TagHistoryElement:Ya,Dockerfile:Ka},onBeforeMount(e,t){t.elements=[],t.image=new Da(e.image,e.tag,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication,useControlCacheHeader:e.useControlCacheHeader}),t.image.fillInfo()},onMounted(e,t){t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const r=this.state,{registryUrl:a,onNotify:n,useControlCacheHeader:o}=this.props;if(r.elements=[],r.image.variants[t]=r.image.variants[t]||new Da(this.props.image,e.digest,{list:!1,registryUrl:a,onNotify:n,useControlCacheHeader:o}),r.image.variants[t].blobs)return this.processBlobs(r.image.variants[t].blobs);r.image.variants[t].fillInfo(),r.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){this.state;const{historyCustomLabels:t}=this.props;function r(e){const t=[];for(var r in e)if(e.hasOwnProperty(r)&&"empty_layer"!=r){const a=e[r],n=en(r,a);t.push(n)}return t.sort(Ja)}const a=new Array(e.history.length+1);a[0]=r(function(e,{historyCustomLabels:t}){const r=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,r){const a=e[r]||e.config[r];return a&&"architecture"===r&&e.variant?t[r]=a+e.variant:a&&(t[r]=a),t}),{});return!r.author&&r.Labels&&r.Labels.maintainer&&(r.author=e.config.Labels.maintainer,delete r.Labels.maintainer),r.Labels&&t.filter((e=>r.Labels[e])).forEach((e=>{r[`custom-label-${e}`]=r.Labels[e],delete r.Labels[e]})),r}(e,{historyCustomLabels:t})),e.history.forEach((function(t,n){a[e.history.length-n]=r(t)})),this.update({elements:a,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){return da.taglist(this.props.image)},showDockerfile(){console.log(this),this.update({showDockerfile:!0})},onDockerfileClose(){this.update({showDockerfile:!1})}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

history

',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.toTaglist()}],redundantAttribute:"expr44",selector:"[expr44]"},{redundantAttribute:"expr45",selector:"[expr45]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["History of ",e.props.image,":",e.props.tag].join("")}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Dockerfile\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.showDockerfile}],redundantAttribute:"expr46",selector:"[expr46]"}]}],attributes:[],redundantAttribute:"expr43",selector:"[expr43]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr47",selector:"[expr47]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr48",selector:"[expr48]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"dockerfile",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.showDockerfile},{type:t.EVENT,name:"on-close",evaluate:e=>e.onDockerfileClose},{type:t.ATTRIBUTE,name:"elements",evaluate:e=>e.state.elements}],redundantAttribute:"expr49",selector:"[expr49]"},{type:r.IF,evaluate:e=>e.state.archs&&e.state.loadend,redundantAttribute:"expr50",selector:"[expr50]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-tabs",slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:e=>!0},{type:t.ATTRIBUTE,name:"tabs",evaluate:e=>e.state.archs},{type:t.EVENT,name:"onTabChanged",evaluate:e=>e.onTabChanged}]}])},{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'',bindings:[{type:r.EACH,getKey:null,condition:e=>e.entry.value&&e.entry.value.length>0,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"tag-history-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:e=>e.entry}]}]),redundantAttribute:"expr52",selector:"[expr52]",itemName:"entry",indexName:null,evaluate:e=>e.element}]}],attributes:[]}]),redundantAttribute:"expr51",selector:"[expr51]",itemName:"element",indexName:null,evaluate:e=>e.state.elements}]),name:"tag-history"},an={css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=oa(e.value);da.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>da.updateUrlQueryParam(t)),100)},registryUrlValidator:e=>/^https?:\/\//.test(e)&&!/\/v2\/?$/.test(e)},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Add your Server ?
Write your URL without /v2
',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-input",slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:e=>e.onKeyUp},{type:t.ATTRIBUTE,name:"valid",evaluate:e=>e.registryUrlValidator}],redundantAttribute:"expr104",selector:"[expr104]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.add}],redundantAttribute:"expr105",selector:"[expr105]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr106",selector:"[expr106]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr103",selector:"[expr103]"}]),name:"add-registry-url"},nn={css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; font-size: 1em; line-height: 24px; height: 24px; border-bottom: 1px solid var(--accent-text); appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; color: var(--primary-text); } change-registry-url select option,[is="change-registry-url"] select option{ background-color: var(--background); }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const r=oa(t.value);da.home(),this.props.onServerChange(r),this.props.onClose(),setTimeout((()=>da.updateUrlQueryParam(r)),100)},getRegistryServers:aa},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Change your Server ?
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.url},{type:t.ATTRIBUTE,name:"value",evaluate:e=>e.url}]}]),redundantAttribute:"expr108",selector:"[expr108]",itemName:"url",indexName:null,evaluate:e=>e.getRegistryServers()},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.change}],redundantAttribute:"expr109",selector:"[expr109]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr110",selector:"[expr110]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr107",selector:"[expr107]"}]),name:"change-registry-url"},on={css:'remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; }',exports:{remove(e){return t=>{var r;r=e,na(aa().filter((function(e){return e!==r}))),setTimeout((()=>this.update()),100)}},getRegistryServers:aa},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Remove your Registry Server ?
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(' ',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.remove(e.url)},{type:t.ATTRIBUTE,name:"url",evaluate:e=>e.url}],redundantAttribute:"expr113",selector:"[expr113]"},{redundantAttribute:"expr114",selector:"[expr114]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.url}]}]),redundantAttribute:"expr112",selector:"[expr112]",itemName:"url",indexName:null,evaluate:e=>e.getRegistryServers()},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr115",selector:"[expr115]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr111",selector:"[expr111]"}]),name:"remove-registry-url"},sn={css:'dialogs-menu > .material-dropdown-wrapper,[is="dialogs-menu"] > .material-dropdown-wrapper{ color: var(--primary-text); list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu material-dropdown .material-dropdown-container,[is="dialogs-menu"] material-dropdown .material-dropdown-container,dialogs-menu material-dropdown .material-dropdown-container .material-dropdown-item,[is="dialogs-menu"] material-dropdown .material-dropdown-container .material-dropdown-item{ background-color: var(--background); color: var(--primary-text); } dialogs-menu material-dropdown .material-dropdown-container .material-dropdown-item:hover,[is="dialogs-menu"] material-dropdown .material-dropdown-container .material-dropdown-item:hover{ background-color: rgba(0, 0, 0, 0.12); } dialogs-menu .material-dropdown-wrapper material-dropdown .material-dropdown-container,[is="dialogs-menu"] .material-dropdown-wrapper material-dropdown .material-dropdown-container{ right: 0; top: 2em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button button,[is="dialogs-menu"] material-button button{ float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ font-size: 24px; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:an,ChangeRegistryUrl:nn,RemoveRegistryUrl:on},dropdownItems:[{title:"Add URL",name:"add-registry-url",ro:!1},{title:"Change URL",name:"change-registry-url",ro:!0},{title:"Remove URL",name:"remove-registry-url",ro:!1}],onDropdownSelect(e){this.update({[e.target.item]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>!e.props.readOnlyRegistries,redundantAttribute:"expr53",selector:"[expr53]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"add-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["add-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("add-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"change-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["change-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("change-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}],redundantAttribute:"expr54",selector:"[expr54]"},{type:r.IF,evaluate:e=>!e.props.readOnlyRegistries,redundantAttribute:"expr55",selector:"[expr55]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"remove-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["remove-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("remove-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.onClick}],redundantAttribute:"expr56",selector:"[expr56]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-dropdown",slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:e=>e.dropdownItems.filter((t=>t.ro||!e.props.readOnlyRegistries))},{type:t.EVENT,name:"on-click",evaluate:e=>e.onDropdownSelect},{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.isDropdownOpened}],redundantAttribute:"expr57",selector:"[expr57]"},{type:r.IF,evaluate:e=>e.state.isDropdownOpened,redundantAttribute:"expr58",selector:"[expr58]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]}])}]),name:"dialogs-menu"},ln={css:'error-page,[is="error-page"]{ display: flex; flex-direction: row; margin-top: 20px; } error-page .content,[is="error-page"] .content{ margin: auto; text-align: center; } error-page .content a,[is="error-page"] .content a{ color: var(--accent-text); } error-page .content a:visited,[is="error-page"] .content a:visited{ color: var(--accent-text); } error-page .content p span,[is="error-page"] .content p span{ color: var(--accent-text); font-weight: 700; } error-page .content h2,[is="error-page"] .content h2{ font-weight: 700; }',exports:{getStatusCode(){const{props:e}=this;if("CATALOG_NOT_FOUND"===e.code)return"404"},URL:window.URL},template:(e,t,r,a)=>e('

',[{type:r.IF,evaluate:e=>e.getStatusCode(),redundantAttribute:"expr18",selector:"[expr18]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getStatusCode()}]}])},{redundantAttribute:"expr19",selector:"[expr19]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.code}]},{type:r.IF,evaluate:e=>"CATALOG_NOT_FOUND"===e.props.code,redundantAttribute:"expr20",selector:"[expr20]",template:e('

We received a 404 status code from your registry.

The contact point was

\n This may be caused by a misconfiguration of Docker Registry UI. Check the\n FAQ and\n Available options

',[{redundantAttribute:"expr21",selector:"[expr21]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.url},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.props.url}]}])},{type:r.IF,evaluate:e=>"MIXED_CONTENT"===e.props.code,redundantAttribute:"expr22",selector:"[expr22]",template:e('

Mixed Content: The page at ` `\n was loaded over HTTPS, but requested an insecure server endpoint ` `.\n

This request may has been blocked; the content must be served over HTTPS.

\n You may unset the option `REGISTRY_URL` and set the registry server container URL in\n `NGINX_PROXY_PASS_URL`. It\'s usually the name of your container, and it should be on the shame\n network as the UI.\n

You can check the issue #277.

',[{redundantAttribute:"expr23",selector:"[expr23]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>window.location.origin},{type:t.ATTRIBUTE,name:"href",evaluate:e=>window.location.origin}]},{redundantAttribute:"expr24",selector:"[expr24]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>new e.URL(e.props.url).origin},{type:t.ATTRIBUTE,name:"href",evaluate:e=>new e.URL(e.props.url).origin}]}])},{type:r.IF,evaluate:e=>"INCORRECT_URL"===e.props.code,redundantAttribute:"expr25",selector:"[expr25]",template:e('

',[{redundantAttribute:"expr26",selector:"[expr26]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["`",e.props.url,"` does not seems to be a correct URL, should starts with http:// or https://."].join("")}]}])}]),name:"error-page"},un={"primary-text":"#25313b","neutral-text":"#777",background:"#fff","hover-background":"#eee","accent-text":"#6680a1","header-text":"#fff","header-background":"#25313b","footer-text":"#fff","footer-neutral-text":"#999","footer-background":"#555"},pn={"primary-text":"#8A9EBA","neutral-text":"#36527A",background:"#22272e","hover-background":"#30404D","accent-text":"#5684FF","header-text":"#fff","header-background":"#333A45","footer-text":"#fff","footer-neutral-text":"#999","footer-background":"#555"},cn="registryUiTheme",dn=function(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^theme-/,"")},mn=function(e,t){var r=function(e){var t=e.theme;if("auto"===t||""===t)switch(localStorage.getItem(cn)){case"dark":return!0;case"light":return!1;default:if("function"==typeof window.matchMedia){var r=window.matchMedia("(prefers-color-scheme: dark)");return r&&r.matches}}return"dark"===t}(e);tn=S({},r?pn:un),Object.entries(e).filter((function(e){var t=q(e,2),r=t[0];return t[1]&&/^theme[A-Z]/.test(r)})).map((function(e){var t=q(e,2),r=t[0],a=t[1];return[dn(r),a]})).forEach((function(e){var t=q(e,2),r=t[0],a=t[1];return tn[r]=a})),Object.entries(tn).forEach((function(e){var r=q(e,2),a=r[0],n=r[1];return t.setProperty("--".concat(a),n)}));var a=r?"dark":"light";return localStorage.setItem(cn,a),a},hn={css:'docker-registry-ui material-navbar,[is="docker-registry-ui"] material-navbar{ height: 64px; color: var(--header-text); background-color: var(--header-background); } docker-registry-ui material-navbar .menu,[is="docker-registry-ui"] material-navbar .menu{ display: flex; } docker-registry-ui material-navbar .nav-wrapper .menu,[is="docker-registry-ui"] material-navbar .nav-wrapper .menu{ flex-shrink: 1; } docker-registry-ui material-footer,[is="docker-registry-ui"] material-footer{ color: var(--footer-neutral-text); background-color: var(--footer-background); } docker-registry-ui material-footer .material-footer-logo,[is="docker-registry-ui"] material-footer .material-footer-logo{ color: var(--footer-text); } docker-registry-ui material-switch i,[is="docker-registry-ui"] material-switch i{ user-select: none; }',exports:{components:{Catalog:Na,TagList:Wa,TagHistory:rn,DialogsMenu:sn,SearchBar:Ia,Router:Wr,Route:gr,ErrorPage:ln},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){(e.defaultRegistries&&e.defaultRegistries.length>0&&0===aa().length||sa(e.readOnlyRegistries))&&na(e.defaultRegistries),window.onselectstart=e=>{if(e.target&&e.target.className)return!["checkbox","checkmark","remove-tag"].find((t=>e.target.className.indexOf(t)>=0))};const t=e.registryUrl||("true"===e.singleRegistry?void 0:da.getUrlQueryParam()||aa(0))||window.location.origin+window.location.pathname.replace(/\/+$/,"");this.state.registryUrl=t.replace(/\/$/,"").replace(/index(\.html?)?$/,""),this.state.name=e.name||ea(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e5,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl),this.state.useControlCacheHeader=e.useControlCacheHeader;const r=mn(e,this.root.parentNode.style);this.state.themeSwitch="dark"===r},onServerChange(e){this.update({registryUrl:e,name:ea(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},onAuthentication(e,t){if(e&&e.realm&&e.service&&e.scope){const{realm:r,service:a,scope:n}=e,o=new XMLHttpRequest;o.addEventListener("loadend",(()=>{try{const e=JSON.parse(o.responseText);t(e)}catch(e){this.notifySnackbar(`Failed to log in: ${e.message}`,!0)}})),o.open("GET",`${r}?service=${a}&scope=${n}`),o.send()}else t()},onAuthenticationClose(){this.update({authenticationDialogOpened:!1})},pullUrl:(e,t)=>ea(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&e.code?(this.update({pageError:e}),setTimeout((()=>delete this.state.pageError),1e3)):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},onThemeChange(e){const t=e.target.checked?"dark":"light";mn({...this.props,theme:t},this.root.parentNode.style),this.update({themeSwitch:e.target.checked})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:da,version:"2.4.1",truthy:sa,stringToArray:function(e){return e&&"string"==typeof e?e.split(","):[]}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-navbar",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"search-bar",slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:e=>e.onSearch}],redundantAttribute:"expr1",selector:"[expr1]"},{type:r.IF,evaluate:e=>"true"!==e.props.singleRegistry,redundantAttribute:"expr2",selector:"[expr2]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"dialogs-menu",slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.onServerChange},{type:t.ATTRIBUTE,name:"default-registries",evaluate:e=>e.props.defaultRegistries},{type:t.ATTRIBUTE,name:"read-only-registries",evaluate:e=>e.truthy(e.props.readOnlyRegistries)}]}])}]}],attributes:[],redundantAttribute:"expr0",selector:"[expr0]"},{type:r.TAG,getComponent:a,evaluate:e=>"router",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"catalog",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:e=>e.state.catalogElementsLimit},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.state.filter},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.truthy(e.props.showCatalogNbTags)}],redundantAttribute:"expr5",selector:"[expr5]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>e.baseRoute}],redundantAttribute:"expr4",selector:"[expr4]"},{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"tag-list",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.state.pullUrl},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.router.getTagListImage()},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:e=>e.truthy(e.props.showContentDigest)},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.truthy(e.props.isImageRemoveActivated)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.state.filter},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"use-control-cache-header",evaluate:e=>e.truthy(e.props.useControlCacheHeader)}],redundantAttribute:"expr7",selector:"[expr7]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>[e.baseRoute,"taglist/(.*)"].join("")}],redundantAttribute:"expr6",selector:"[expr6]"},{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"tag-history",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.state.pullUrl},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.router.getTagHistoryImage()},{type:t.ATTRIBUTE,name:"tag",evaluate:e=>e.router.getTagHistoryTag()},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.truthy(e.props.isImageRemoveActivated)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"history-custom-labels",evaluate:e=>e.stringToArray(e.props.historyCustomLabels)},{type:t.ATTRIBUTE,name:"use-control-cache-header",evaluate:e=>e.truthy(e.props.useControlCacheHeader)}],redundantAttribute:"expr9",selector:"[expr9]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>[e.baseRoute,"taghistory/(.*)"].join("")}],redundantAttribute:"expr8",selector:"[expr8]"}]}],attributes:[],redundantAttribute:"expr3",selector:"[expr3]"},{type:r.TAG,getComponent:a,evaluate:e=>"registry-authentication",slots:[],attributes:[{type:t.ATTRIBUTE,name:"realm",evaluate:e=>e.state.realm},{type:t.ATTRIBUTE,name:"scope",evaluate:e=>e.state.scope},{type:t.ATTRIBUTE,name:"service",evaluate:e=>e.state.service},{type:t.EVENT,name:"on-close",evaluate:e=>e.onAuthenticationClose},{type:t.EVENT,name:"on-authenticated",evaluate:e=>e.state.onAuthenticated},{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.authenticationDialogOpened}],redundantAttribute:"expr10",selector:"[expr10]"},{type:r.IF,evaluate:e=>e.state.pageError,redundantAttribute:"expr11",selector:"[expr11]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"error-page",slots:[],attributes:[{type:t.ATTRIBUTE,name:"code",evaluate:e=>e.state.pageError.code},{type:t.ATTRIBUTE,name:"status",evaluate:e=>e.state.pageError.status},{type:t.ATTRIBUTE,name:"message",evaluate:e=>e.state.pageError.message},{type:t.ATTRIBUTE,name:"url",evaluate:e=>e.state.pageError.url}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"material-snackbar",slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:e=>e.state.snackbarMessage},{type:t.ATTRIBUTE,name:"is-error",evaluate:e=>e.state.snackbarIsError}],redundantAttribute:"expr12",selector:"[expr12]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-footer",slots:[{id:"default",html:'',bindings:[{redundantAttribute:"expr14",selector:"[expr14]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Docker Registry UI ",e.version].join("")}]},{type:r.IF,evaluate:e=>"auto"===e.props.theme||""===e.props.theme,redundantAttribute:"expr15",selector:"[expr15]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-switch",slots:[{id:"thumb-icon",html:'wb_sunny',bindings:[]},{id:"thumb-selected-icon",html:'\n brightness_2\n ',bindings:[]}],attributes:[{type:t.EVENT,name:"on-change",evaluate:e=>e.onThemeChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.themeSwitch}],redundantAttribute:"expr16",selector:"[expr16]"}])}]}],attributes:[],redundantAttribute:"expr13",selector:"[expr13]"}]),name:"docker-registry-ui"};Tt("material-card",{css:null,exports:null,template:(e,t,r,a)=>e('',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr122",selector:"[expr122]"}]),name:"material-card"}),Tt("material-footer",{css:null,exports:{},template:(e,t,r,a)=>e('
',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr133",selector:"[expr133]"}]),name:"material-footer"}),Tt("material-navbar",{css:null,exports:null,template:(e,t,r,a)=>e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:e=>"toolbar"}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr141",selector:"[expr141]"}]),name:"material-navbar"}),Tt("material-spinner",{css:null,exports:null,template:(e,t,r,a)=>e('',[{redundantAttribute:"expr147",selector:"[expr147]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:e=>e.props.strokeWidth||3}]}]),name:"material-spinner"}),Tt("material-button",Nt),Tt("material-waves",wt),Tt("material-checkbox",Ut),Tt("material-snackbar",jt),Tt("material-tabs",_t),Tt("material-dropdown",Bt),Tt("material-popup",Lt),Tt("material-input",Dt),Tt("material-switch",Mt);for(var gn,vn=(gn=hn,function(e,t,r){var a=void 0===r?{}:r,n=a.slots,o=a.attributes,i=a.parentScope;return function(){for(var e=arguments.length,t=new Array(e),r=0;r0?a:0)}},{key:"setStyles",value:function(e){this.wave.setAttribute("style",this.convertStyle({top:"".concat(this.start.x,"px"),left:"".concat(this.start.y,"px"),transform:"scale(".concat(this.maxScale,")"),"transition-duration":"".concat(this.duration,"ms"),"transition-timing-function":"cubic-bezier(0.250, 0.460, 0.450, 0.940)",background:this.color,opacity:e}))}},{key:"convertStyle",value:function(e){var t="";return Object.keys(e).forEach((function(r){e.hasOwnProperty(r)&&(t+=r+":"+e[r]+";")})),t}}]),r}(function(){function e(){M(this,e)}return P(e,[{key:"receiveBound",value:function(){var e;this.container||console.error("Yor class must contain a container. It is DOM Element. Define please this.container property.");var t=this.container&&this.container.ownerDocument,r=t.documentElement;"undefined"!==L(this.container.getBoundingClientRect)&&(e=this.container.getBoundingClientRect());var a=this.getWindow(t);return this.mix(e,{size:Math.max(e.width,e.height),offsetTop:e.top+a.pageYOffset-r.clientTop,offsetLeft:e.left+a.pageXOffset-r.clientLeft})}},{key:"isWindow",value:function(e){return null!==e&&e===e.window}},{key:"getWindow",value:function(e){return this.isWindow(e)?e:9===e.nodeType&&e.defaultView}},{key:"mix",value:function(e,t){for(var r in e)r in t||(t[r]=e[r]);return t}}]),e}()),Et={css:null,exports:{onMounted(){this._waves=[],this._events=[]},launch(e){var t=new At(this.$("#waves"),this.props,e);this._waves.push(t),this.props.onWaveStart&&this.props.onWaveStart(t),this._events.length||(this._events.push(e.target.addEventListener("mouseup",(()=>this.hold()))),this._events.push(e.target.addEventListener("mouseleave",(()=>this.hold()))))},hold(){this._waves[this._waves.length-1]&&this._waves[this._waves.length-1].waveOut(this.waveOut),this._waves[this._waves.length-1]&&this._waves.slice(this._waves.length-1,1)},waveOut(){this.props.onWaveEnd&&this.props.onWaveEnd()}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr170",selector:"[expr170]",expressions:[{type:t.EVENT,name:"onmousedown",evaluate:e=>e.launch}]}]),name:"material-waves"},wt=function(e){return""===e||"true"===e},Ct=function(e){if("function"==typeof e){var t=$(Array,Array.prototype.slice.call(arguments)).slice(1);e.apply(void 0,J(t))}},It={array:function(e){if(!e)return[];for(var t=[],r=0;r{Ct(e.onClick,t)}},onUpdated(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){kt.forEach((r=>{wt(e[r])?(this.root.firstElementChild.setAttribute(r,!0),t.attributes[r]=!0):t.attributes[r]=!1}));const r=t.attributes.inverted?e.color:e.textColor,a=t.attributes.inverted?e.textColor:e.color;this.root.firstElementChild.style.background=a,this.root.firstElementChild.style.color=r,t.attributes.outlined&&(this.root.firstElementChild.style["border-color"]=a,this.root.firstElementChild.style.color=r,this.root.firstElementChild.style.background="")},onWaveStart(e){Ct(this.props.onWaveStart,e)},onWaveEnd(e){Ct(this.props.onWaveEnd,e)},attributeToBool:wt},template:(e,t,r,a)=>e('',[{type:r.IF,evaluate:e=>e.props.href,redundantAttribute:"expr130",selector:"[expr130]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.props.href},{type:t.ATTRIBUTE,name:"target",evaluate:e=>e.props.target}]},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.disabled),redundantAttribute:"expr131",selector:"[expr131]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"rounded",evaluate:e=>e.props.rounded},{type:t.ATTRIBUTE,name:"opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"duration",evaluate:e=>e.props.wavesDuration},{type:t.EVENT,name:"onWaveStart",evaluate:e=>e.onWaveStart},{type:t.EVENT,name:"onWaveEnd",evaluate:e=>e.onWaveEnd}]}])},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr132",selector:"[expr132]"}])},{type:r.IF,evaluate:e=>!e.props.href,redundantAttribute:"expr133",selector:"[expr133]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:e=>e.props.type}]},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.disabled),redundantAttribute:"expr134",selector:"[expr134]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[{type:t.ATTRIBUTE,name:"center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"rounded",evaluate:e=>e.props.rounded},{type:t.ATTRIBUTE,name:"opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"duration",evaluate:e=>e.props.wavesDuration},{type:t.EVENT,name:"onWaveStart",evaluate:e=>e.onWaveStart},{type:t.EVENT,name:"onWaveEnd",evaluate:e=>e.onWaveEnd}]}])},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr135",selector:"[expr135]"}])}]),name:"material-button"},Nt={css:null,exports:{onBeforeMount(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onBeforeUpdate(e,t){t.checked=void 0!==e.checked?e.checked:t.checked},onChange(e){wt(this.props.disabled)||(e.target.checked=!this.state.checked,Ct(this.props.onChange,e),this.update({checked:!this.state.checked}))}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr137",selector:"[expr137]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["checkbox ",e.state.checked?"checked":""].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{redundantAttribute:"expr138",selector:"[expr138]",expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr139",selector:"[expr139]"},{redundantAttribute:"expr140",selector:"[expr140]",expressions:[{type:t.VALUE,evaluate:e=>e.state.checked}]}]),name:"material-checkbox"},Ut={css:null,exports:{state:{transition:!1,opened:!1},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>this.update({opened:e.opened,transition:!1})),e.opened?0:200))},onUpdated(e,t){e.onClick&&this.$$(".material-dropdown-item").forEach(((e,t)=>{e.onclick=r=>{const a=e.attributes.getNamedItem("item");r.target.item=a&&a.value,r.target.index=t,Ct(this.props.onClick,r)}}))}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>e.props.opened||e.state.opened,redundantAttribute:"expr141",selector:"[expr141]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-container ",!!e.state.transition&&"opening"," ",e.props.animation||"top"].join("")}]},{type:r.IF,evaluate:e=>!e.props.items,redundantAttribute:"expr142",selector:"[expr142]",template:e('',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr143",selector:"[expr143]"}])},{type:r.EACH,getKey:null,condition:null,template:e('',[{type:r.IF,evaluate:e=>!e.item.href,redundantAttribute:"expr145",selector:"[expr145]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.item.title].join("")},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-item ",e.props.selected===e.key?"selected":""].join("")},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item.name||e.item.title}]}])},{type:r.IF,evaluate:e=>e.item.href,redundantAttribute:"expr146",selector:"[expr146]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.item.title].join("")},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.item.href},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-dropdown-item ",e.props.selected===e.key?"selected":""].join("")},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item.name||e.item.title},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.item.title}]}])}]),redundantAttribute:"expr144",selector:"[expr144]",itemName:"item",indexName:"key",evaluate:e=>e.props.items}])}]),name:"material-dropdown"},Bt=function(){function e(t){if(M(this,e),t||console.debug("Sorry, but for using validate mixin you should add an opts argument"),this.type=t.type,t.valid){if(this.validationType="function"==typeof t.valid?"Function":"Regexp","Regexp"===this.validationType)try{this.validationRegexp=new RegExp(t.valid)}catch(e){throw new Error("Something wrong with your regular expression!. Checkout --- ".concat(e))}"Function"===this.validationType&&(this.validationFunction=t.valid||!1)}else t&&-1!=Object.keys(this.base).indexOf(this.type)&&(this.validationType="Type")}return P(e,[{key:"base",get:function(){return{email:/^(([\w\.\-_]+)@[\w\-\_]+(\.\w+){1,}|)$/i,number:/^(\d+|)$/i,tel:/^((\+|\d)?([\d\-\(\)\#])|)+$/i,url:/([--:\w?@%&+~#=]*\.[a-z]{2,4}\/{0,2})((?:[?&](?:\w+)=(?:\w+))+|[--:\w?@%&+~#=]+)?/i}}},{key:"validate",value:function(e){return!this.validationType||this["validateBy"+this.validationType](e)}},{key:"validateByFunction",value:function(e){if(this.validationFunction)return this.validationFunction(e)}},{key:"validateByRegexp",value:function(e){if(this.validationRegexp)return this.validationRegexp.test(e)}},{key:"validateByType",value:function(e){return this.base[this.type].test(e)}}]),e}();const Ot=["disabled","rounded","outlined","inverted","icon"];var St={css:null,exports:{state:{focused:!1,showIcon:!1,value:"",disabled:!1,required:!1,error:!1},components:{MaterialButton:Rt},onMounted(e,t){if(this.required="",this.notSupportedTypes=["date","color","datetime","month","range","time"],-1!=this.notSupportedTypes.indexOf(this.props.type))throw new Error(`Sorry but we do not support ${this.props.type} type yet!`);this.validator=new Bt(this.props),this.update({showIcon:!1,value:this.props.value||""}),this.$("input").addEventListener("focus",this.changeFocus),this.$("input").addEventListener("blur",this.changeFocus),this.updateAttributes(e,t)},onBeforeUpdate(e,t){this.state.value=this.$("input").value,this.state.error=0!==t.value.length&&!this.validator.validate(t.value)||0===t.value.length&&wt(e.required)},onUpdated(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){const r=function(e,t){return e.reduce((function(e,r){return e[r]=wt(t[r]),e}),{})}(Ot,e),a=r.inverted?e.textColor:e.color,n=r.inverted?e.color:e.textColor;It.children(this.$(".underline")).forEach((e=>e.style.background=a)),this.$("input").style.color=n,this.$("label")&&(this.$("label").style.color=e.labelColor||n),(r.outlined||r.rounded)&&(this.$(".input-content").style["border-color"]=a)},changeFocus(e){if(wt(this.props.disabled))return!1;const t=this.$("input")==document.activeElement;this.state.focused!=t&&(this.update({focused:t}),Ct(this.props.onFocus,t,e))},changeValue(e){this.update({value:this.$("input").value}),Ct(this.props.onValueChange,this.$("input").value,e)},iconClickHandler(e){Ct.call(this,this.props.onIconClick,e)},attributeToBool:wt},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr148",selector:"[expr148]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["input-content ",e.state.value?"not-empty":null," ",e.state.error?"error":null].join("")}]},{type:r.IF,evaluate:e=>e.props.label,redundantAttribute:"expr149",selector:"[expr149]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.label}]}])},{redundantAttribute:"expr150",selector:"[expr150]",expressions:[{type:t.ATTRIBUTE,name:"type",evaluate:e=>e.props.type||"text"},{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>e.attributeToBool(e.props.disabled)},{type:t.ATTRIBUTE,name:"placeholder",evaluate:e=>e.props.placeholder},{type:t.EVENT,name:"onkeyup",evaluate:e=>e.changeValue},{type:t.VALUE,evaluate:e=>e.state.value},{type:t.ATTRIBUTE,name:"required",evaluate:e=>e.attributeToBool(e.props.required)}]},{type:r.IF,evaluate:e=>e.attributeToBool(e.props.icon),redundantAttribute:"expr151",selector:"[expr151]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'',bindings:[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr153",selector:"[expr153]"}]}],attributes:[{type:t.ATTRIBUTE,name:"waves-color",evaluate:e=>e.props["waves-color"]||"#fff"},{type:t.EVENT,name:"onclick",evaluate:e=>e.iconClickHandler},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:e=>e.props["waves-opacity"]||"0.6"},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:e=>e.props["waves-duration"]||"600"}],redundantAttribute:"expr152",selector:"[expr152]"}])},{type:r.IF,evaluate:e=>!e.attributeToBool(e.props.outlined)&&!e.attributeToBool(e.props.rounded),redundantAttribute:"expr154",selector:"[expr154]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["underline ",e.state.focused?"focused":null," ",e.state.error?"error":null].join("")}]}])}]),name:"material-input"},Dt={css:null,exports:{state:{transition:!1,opened:!1},onBeforeUpdate(e,t){t.opened!==e.opened&&(t.transition=!0,setTimeout((()=>{this.update({opened:e.opened,transition:!1})}),e.opened?0:200))},onClick(e){Ct(this.props.onClick,e,"overlay")}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>e.props.opened||e.state.opened,redundantAttribute:"expr156",selector:"[expr156]",template:e('
',[{redundantAttribute:"expr157",selector:"[expr157]",expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]},{redundantAttribute:"expr158",selector:"[expr158]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["content ",e.state.transition?"opening":""," ",e.props.animation||"top"].join("")}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr159",selector:"[expr159]"}])}]),name:"material-popup"},Lt={css:null,exports:{state:{toasts:{}},onBeforeUpdate(e,t){e.message&&!t.internal&&this.addToast({message:e.message,isError:e.isError,color:e.color,textColor:e.textColor},e.duration),t.internal=!1},generateStyle(e){let t="";return e.textColor&&(t+=`color: ${e.textColor};`),e.color&&(t+=`background-color: ${e.color};`),t},addToast(e,t){var r=this.toastID=Math.random().toString(36).substring(7);this.state.toasts[r]=Object.assign(e,{opening:!0}),setTimeout((()=>{this.state.toasts[r].opening=!1,this.update({toasts:this.state.toasts,internal:!0})}),50),this.state.toasts[r].interval=setTimeout((()=>{this.removeToast(r)}),t||5e3)},removeToastByClick(e){return()=>{clearInterval(this.state.toasts[e].interval),this.removeToast(e)}},removeToast(e){this.state.toasts[e]&&(this.state.toasts[e].opening=!0,this.update({toasts:this.state.toasts,internal:!0}),setTimeout((()=>{delete this.state.toasts[e],this.update({toasts:this.state.toasts,internal:!0})}),200))}},template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.toasts[e.toastID].message].join("")},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["toast ",e.state.toasts[e.toastID].isError?"error":""," ",e.state.toasts[e.toastID].opening?"opening":""].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>e.removeToastByClick(e.toastID)},{type:t.ATTRIBUTE,name:"style",evaluate:e=>e.generateStyle(e.state.toasts[e.toastID])}]}]),redundantAttribute:"expr160",selector:"[expr160]",itemName:"toastID",indexName:null,evaluate:e=>Object.keys(e.state.toasts)}]),name:"material-snackbar"},jt={css:null,exports:{onBeforeMount(e,t){this.updateAttributes(e,t)},onMounted(e,t){this.updateAttributes(e,t)},onBeforeUpdate(e,t){this.updateAttributes(e,t)},updateAttributes(e,t){t.checked=void 0!==e.checked?e.checked:t.checked,e.size&&"string"==typeof e.size&&(this.root.style["font-size"]=e.size);const r=this.$("span.material-switch-track"),a=this.$("span.material-switch-thumb"),n=(t.checked?e.trackSelectedColor:e.trackColor)||null,o=(t.checked?e.thumbSelectedColor:e.thumbColor)||null,i=(t.checked?e.outlineSelectedColor:e.outlineColor)||null;r&&(r.style["background-color"]=n),r&&(r.style["border-color"]=i),a&&(a.style["background-color"]=o,a.children.length>0?a.classList.add("material-switch-thumb-w-icon"):a.classList.remove("material-switch-thumb-w-icon"))},onChange(e){wt(this.props.disabled)||(e.target.checked=!this.state.checked,Ct(this.props.onChange,e),this.update({checked:this.checkedValue()}))},checkedValue(){return wt(this.props.intermediate)?!0!==this.state.checked&&this.state.checked?!this.oldValue:(this.oldValue=this.state.checked,"intermediate"):!this.state.checked},attributeToBool:wt},template:(e,t,r,a)=>e('',[{redundantAttribute:"expr162",selector:"[expr162]",expressions:[{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.checked},{type:t.EVENT,name:"onclick",evaluate:e=>e.onChange}]},{type:r.IF,evaluate:e=>!e.state.checked,redundantAttribute:"expr163",selector:"[expr163]",template:e('',[{type:r.SLOT,attributes:[],name:"thumb-icon",redundantAttribute:"expr164",selector:"[expr164]"}])},{type:r.IF,evaluate:e=>e.state.checked,redundantAttribute:"expr165",selector:"[expr165]",template:e('',[{type:r.SLOT,attributes:[],name:"thumb-selected-icon",redundantAttribute:"expr166",selector:"[expr166]"}])}]),name:"material-switch"},Mt={css:null,exports:{state:{selected:0,widths:{}},components:{MaterialButton:Rt},onMounted(e,t){this.$(".line");const r=this.$$("material-button"),a=parseFloat((100/this.props.tabs.length).toFixed(2));r.forEach(((e,n)=>{n==r.length-1&&a*r.length!=100?t.widths[n]=a+(100-a*r.length):t.widths[n]=a,e.style.width=`${t.widths[n]}%`})),this.setLinePosition(),this.updateLineColor(e,t),this.setLinePosition()},onUpdated(e,t){this.updateLineColor(e,t)},updateLineColor(e,t){const r=e.inverted?e.lineColor:e.lineSelectedColor,a=e.inverted?e.lineSelectedColor:e.lineColor,n=this.$(".line"),o=this.$(".line-wrapper");n&&o&&(n.style.background=r,o.style.background=a)},onTabChanged(e,t){this.update({selected:t}),this.setLinePosition(),Ct(this.props.onTabChanged,this.props.tabs[t],t)},setLinePosition(){const e=this.$(".line");e&&(e.style.left=(100/this.props.tabs.length).toFixed(2)*this.state.selected+"%",e.style.width=`${this.state.widths[this.state.selected]}%`)},cut:e=>e.length>props.cut?e.substr(0,props.cut)+"...":e},template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'
',bindings:[{redundantAttribute:"expr168",selector:"[expr168]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.cut?e.cut(e.tab.title||e.tab):e.tab.title||e.tab},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.tab.title||e.tab}]}]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>t=>e.onTabChanged(t,e.k)},{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.state.selected==e.k?"selected":""},{type:t.ATTRIBUTE,name:"waves-opacity",evaluate:e=>e.props.wavesOpacity},{type:t.ATTRIBUTE,name:"waves-duration",evaluate:e=>e.props.wavesDuration},{type:t.ATTRIBUTE,name:"waves-center",evaluate:e=>e.props.wavesCenter},{type:t.ATTRIBUTE,name:"waves-color",evaluate:e=>e.props.wavesColor},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.state.selected==e.k&&e.props.inverted?e.props.textSelectedColor:e.props.color},{type:t.ATTRIBUTE,name:"text-color",evaluate:e=>e.state.selected!=e.k||e.props.inverted?e.props.textColor:e.props.textSelectedColor},{type:t.ATTRIBUTE,name:"inverted",evaluate:e=>e.props.inverted}]}]),redundantAttribute:"expr167",selector:"[expr167]",itemName:"tab",indexName:"k",evaluate:e=>e.props.tabs},{type:r.IF,evaluate:e=>e.props.useLine,redundantAttribute:"expr169",selector:"[expr169]",template:e('
',[{expressions:[{type:t.ATTRIBUTE,name:"inverted",evaluate:e=>e.props.inverted}]}])}]),name:"material-tabs"};function _t(e,t){void 0===t&&(t={});for(var r=function(e){for(var t=[],r=0;r=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122||95===l))break;i+=e[s++]}if(!i)throw new TypeError("Missing parameter name at "+r);t.push({type:"NAME",index:r,value:i}),r=s}else t.push({type:"CLOSE",index:r,value:e[r++]});else t.push({type:"OPEN",index:r,value:e[r++]});else t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});else t.push({type:"MODIFIER",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}(e),a=t.prefixes,n=void 0===a?"./":a,o="[^"+Pt(t.delimiter||"/#?")+"]+?",i=[],s=0,l=0,u="",p=function(e){if(l-1:void 0===b;n||(m+="(?:"+d+"(?="+c+"))?"),T||(m+="(?="+d+"|"+c+")")}return new RegExp(m,Gt(r))}(_t(e,r),t,r)}function zt(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,a=0,n=r.exec(e.source);n;)t.push({name:n[1]||a++,prefix:"",suffix:"",modifier:"",pattern:""}),n=r.exec(e.source);return e}(e,t):Array.isArray(e)?function(e,t,r){var a=e.map((function(e){return zt(e,t,r).source}));return new RegExp("(?:"+a.join("|")+")",Gt(r))}(e,t,r):Vt(e,t,r)}var Ft=Symbol();function Ht(){for(var e=arguments.length,t=new Array(e),r=0;r1?r-1:0),n=1;n',[{type:r.IF,evaluate:function(e){return e.state.route},redundantAttribute:"expr0",selector:"[expr0]",template:e('',[{type:r.SLOT,attributes:[{type:t.ATTRIBUTE,name:"route",evaluate:function(e){return e.state.route}}],name:"default",redundantAttribute:"expr1",selector:"[expr1]"}])}])},name:"route-hoc"},hr=function(){return gr()||global},gr=function(){return"undefined"==typeof window?null:window},vr=function(){return"undefined"==typeof document?null:document},fr=function(){var e=gr();return e?e.location:{}},yr=(cr=hr()).requestAnimationFrame||cr.setTimeout,xr=function(){var e=hr();return e.cancelAnimationFrame||e.clearTimeout}(),br="popstate",Tr="click",Ar="/",Er=/^.+?\/\/+[^/]+/,wr=function(e){return e[e.length-1]===Ar?e.substr(0,e.length-1):e},Cr=function(e){var t,r=gr().location,a=r?"".concat(r.protocol,"//").concat(r.host):"",n=(r||{}).pathname;switch(!0){case!1===Boolean(e):return wr("".concat(a).concat(n||""));case/(www|http(s)?:)/.test(e):return e;case"#"===e[0]:return"".concat(a).concat(n&&n!==Ar?n:"").concat(e);case e===Ar:return wr(a);default:return wr("".concat(a).concat((t=e)[0]===Ar?t:"".concat(Ar).concat(t)))}};function Ir(e){return Array.isArray(e)?e:/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&"number"==typeof e.length?Array.from(e):[e]}var kr=function(e){return e.split(/\s/)};function Rr(e,t,r,a,n){e=Ir(e),kr(t).forEach((function(t){e.forEach((function(e){return e[a](t,r,n||!1)}))}))}function Nr(e,t,r,a){return Rr(e,t,r,"addEventListener",a),e}function Ur(e,t,r,a){return Rr(e,t,r,"removeEventListener",a),e}var Br=function(e){return 1===e.length?e[0]:e};function Or(e,t){return function(e,t,r){var a="string"==typeof t?[t]:t;return Br(Ir(e).map((function(e){return Br(a.map((function(t){return e[r](t)})))})))}(e,t,"hasAttribute")}var Sr=function(){return er.push(_r(String(fr().href)))},Dr=function(e){var t=e.includes(tr.base)?e:tr.base+e,r=fr(),a="undefined"==typeof history?null:history,n=vr();a&&t!==r.href&&a.pushState(null,n.title,t)},Lr=function e(t){return t&&!jr(t)?e(t.parentNode):t},jr=function(e){return"A"===e.nodeName},Mr=function(e){return!e||!jr(e)||Or(e,"download")||!Or(e,"href")||function(e){return e.target&&"_self"!==e.target}(e)||-1===e.href.indexOf(fr().href.match(Er)[0])},_r=function(e){return e.replace(tr.base,"")},Pr=function(e){if(!function(e){return e.which&&1!==e.which||e.metaKey||e.ctrlKey||e.shiftKey||e.defaultPrevented}(e)){var t=Lr(e.target);if(!Mr(t)&&!function(e){return e.split("#").length>1}(t.href)&&function(e){return!tr.base||e.includes(tr.base)}(t.href)){var r=_r(t.href);er.push(r),e.preventDefault()}}};var Gr,Vr="base",zr=Tt.DOMBindings,Fr=zr.template,Hr=zr.bindingTypes,$r=!1,Xr={css:null,exports:(Gr=function(e){var t=e.slots,r=e.attributes,a=e.props;$r&&function(e){throw new Error(e)}("Multiple components are not supported");var n=function(e){return r&&r.find((function(t){return t.name.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}))===e}))};return{slot:null,el:null,teardown:null,mount:function(e,t){var r,a,o,i=this,s=n("initialRoute"),l=s?s.evaluate(t):null,u=ur();$r=!0,this.el=e,this.teardown=(r=this.root,a=gr(),o=r||vr(),a&&(Nr(a,br,Sr),Nr(o,Tr,Pr)),er.on.value(Dr),function(){a&&(Ur(a,br,Sr),Ur(o,Tr,Pr)),er.off.value(Dr)}),this.setBase(t),u&&!l?this.createSlot(t):(er.on.value((function e(){i.createSlot(t),er.off.value(e)})),er.push(l||window.location.href))},createSlot:function(e){if(t&&t.length){var r=n("onStarted");this.slot=Fr(null,[{type:Hr.SLOT,name:"default"}]),this.slot.mount(this.el,{slots:t},e),r&&r.evaluate(e)(ur())}},update:function(e){var t=this;this.setBase(e),this.slot&&(xr(this.deferred),this.deferred=yr((function(){t.slot.update({},e)})))},unmount:function(){var e;this.teardown(),$r=!1,this.slot&&(e=this.slot).unmount.apply(e,arguments)},getBase:function(e){var t=n(Vr);return t?this.el.getAttribute(Vr)||t.evaluate(e):"/"},setBase:function(e){var t;t=a?a.base:this.getBase(e),tr.base=Cr(t)}}},se(Gr)||N('riot.pure accepts only arguments of type "function"'),Gr[x]=!0,Gr),template:null,name:"router-hoc"},qr="registryServer";function Wr(e){var t=["Bytes","KB","MB","GB","TB"];if(null==e||isNaN(e))return"?";if(0===e)return"0 Byte";var r=parseInt(Math.floor(Math.log(e)/Math.log(1024))),a=e/Math.pow(1024,r);if(a<10){var n=(e-Math.floor(a)*Math.pow(1024,r))/Math.pow(1024,r);return"".concat(Math.floor(a),".").concat(Math.floor(10*n)," ").concat(t[r])}return Math.ceil(a)+" "+t[r]}function Kr(e,t,r){return r||(r=100),e?e.slice((t-1)*r,r*t):[]}function Yr(e,t){return t||(t=100),e?Math.trunc(e.length/t)+1:0}function Jr(e,t){var r=[],a=10;if(1===t)return r;1!==e&&t>=a&&(r.push({icon:"first_page",page:1}),r.push({icon:"chevron_left",page:e-1}));for(var n=Math.round(Math.max(1,Math.min(e-5,t-a+1))),o=n;oa,"space-right":e===t&&t>a});return e!==t&&t>=a&&(r.push({icon:"chevron_right",page:e+1}),r.push({icon:"last_page",page:t})),r}function Qr(e){return e?e.replace(/^https?:\/\//,""):""}function Zr(e){return e>="0"&&e<="9"}var ea={message:"Access on registry response was blocked. Try adding the header `Access-Control-Expose-Headers: Docker-Content-Digest` to your proxy or registry: https://docs.docker.com/registry/configuration/#http",isError:!0};function ta(e){try{var t=JSON.parse(localStorage.getItem(qr));if(t instanceof Array)return isNaN(e)?t.map((function(e){return e.trim().replace(/\/*$/,"")})):t[e]}catch(e){}return isNaN(e)?[]:""}function ra(e){if("string"==typeof e)e=e.split(",");else if(!Array.isArray(e))throw new Error("setRegistries must be called with string or array parameter");e=e.map((function(e){return e.replace(/\/*$/,"")})),localStorage.setItem(qr,JSON.stringify(e))}function aa(e){var t=e.trim().replace(/\/*$/,""),r=ta().filter((function(e){return e!==t}));return ra([t].concat(r)),t}function na(e){if(e)return e.indexOf("&")<0?window.encodeURIComponent(e):btoa(e)}function oa(e){return!0===e||"true"===e}var ia=function(e,t){var r=parseInt(e),a=parseInt(t);return r>a?1:a>r?-1:!isNaN(r)&&isNaN(a)?1:isNaN(r)&&!isNaN(a)?-1:0};function sa(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0.0.0",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.0.0";if(e===t)return!0;e=e.split("."),t=t.split(".");var r=e[2].indexOf("-")>=0,a=ia(e[0],t[0]),n=ia(e[1],t[1]),o=ia(e[2],t[2]);return!r&&(a>0||0===a&&n>0||0===a&&0===n&&o>=0)||!(!r||!(a>0||0===a&&n>0))}function la(e){if(e)try{return JSON.parse(e)}catch(e){}}function ua(){var e={};return window.location.search.slice(1).split("&").forEach((function(t){var r=t.indexOf("=");e[t.slice(0,r)]=r<0?"":t.slice(r+1)})),e}function pa(e){var t=ua();for(var r in e)null===e[r]?delete t[r]:t[r]=e[r];return t}function ca(e){var t=[];for(var r in e)r&&void 0!==e[r]&&t.push("".concat(r,"=").concat(e[r]));return 0===t.length?"":"?".concat(t.join("&"))}function da(e){var t=window.location,r=pa(e);return t.origin+t.pathname+ca(r)}var ma={home:function(){return da({page:null})},taglist:function(e){return"".concat(da({page:null}),"#!/taglist/").concat(e)},getTagListImage:function(){return ur().replace(/^.*(#!)?\/?taglist\//,"")},history:function(e,t){return"".concat(da({page:null}),"#!/taghistory/image/").concat(e,"/tag/").concat(t)},getTagHistoryImage:function(){return ur().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$2")},getTagHistoryTag:function(){return ur().replace(/^.*(#!)?\/?taghistory\/image\/(.*)\/tag\/(.*)\/?$/,"$3")},updateQueryString:function(e){var t=ca(pa(e));history.pushState(null,"",t+window.location.hash)},updateUrlQueryParam:function(e){this.updateQueryString({url:na(e)})},getUrlQueryParam:function(){var e=ua().url;if(e)try{return function(e){if(e)return e.startsWith("http")?window.decodeURIComponent(e):atob(e)}(e)}catch(t){console.error("Can't decode query parameter URL: ".concat(e),t)}},updatePageQueryParam:function(e){this.updateQueryString({page:e})},getPageQueryParam:function(){return ua().page}},ha=/(blobs|manifests)\/sha256:[a-f0-9]+$/,ga=function(e,t){if("GET"===e){var r=ha.exec(t);if(r&&r[0])return r[0]}},va=function(){function e(t){M(this,e),this.oReq=new XMLHttpRequest,this.oReq.hasHeader=fa,this.oReq.getErrorMessage=ya,this._events={},this._headers={},this.onAuthentication=t&&t.onAuthentication,this.withCredentials=t&&t.withCredentials}return P(e,[{key:"getContentDigest",value:function(e){this.oReq.hasHeader("Docker-Content-Digest")?e(this.oReq.getResponseHeader("Docker-Content-Digest")):window.crypto&&window.TextEncoder&&crypto.subtle.digest("SHA-256",(new TextEncoder).encode(this.oReq.responseText)).then((function(t){e("sha256:"+Array.from(new Uint8Array(t)).map((function(e){return e.toString(16).padStart(2,"0")})).join(""))}))}},{key:"addEventListener",value:function(e,t){this._events[e]=t;var r=this;switch(e){case"loadend":r.oReq.addEventListener("loadend",(function(){if(401!==this.status||this.withCredentials)200===this.status&&function(e,t,r){var a=ga(e,t);if(a)try{sessionStorage.setItem(a,r)}catch(e){}}(r._method,r._url,this.responseText),t.bind(this)();else{var e=this.hasHeader("www-authenticate")&&ba(this.getResponseHeader("www-authenticate"));r.onAuthentication(e,(function(e){var t=new XMLHttpRequest;for(var a in t._url=r._url,t.open(r._method,r._url),r._events)t.addEventListener(a,r._events[a]);for(var n in r._headers)t.setRequestHeader(n,r._headers[n]);e&&e.token?t.setRequestHeader("Authorization","Bearer ".concat(e.token)):e&&e.access_token?t.setRequestHeader("Authorization","Bearer ".concat(e.access_token)):t.withCredentials=!0,t.hasHeader=fa,t.getErrorMessage=ya,r.oReq=t,t.send()}))}}));break;case"load":r.oReq.addEventListener("load",(function(){401!==this.status&&t.bind(this)()}));break;default:r.oReq.addEventListener(e,(function(){t.bind(this)()}))}}},{key:"setRequestHeader",value:function(e,t){this.oReq.setRequestHeader(e,t),this._headers[e]=t}},{key:"open",value:function(e,t){this._method=e,this._url=t,this.oReq._url=t,this.withCredentials&&(this.oReq.withCredentials=!0),this.oReq.open(e,t)}},{key:"send",value:function(){var e=function(e,t){var r=ga(e,t);if(r)try{return sessionStorage.getItem(r)}catch(e){}}(this._method,this._url);if(e)return this._events.loadend.bind({status:200,responseText:e})();this.oReq.send()}}]),e}(),fa=function(e){return this.getAllResponseHeaders().split("\n").some((function(t){return new RegExp("^"+e+":","i").test(t)}))},ya=function(){return this._url.match("^http://")&&"https:"===window.location.protocol?{code:"MIXED_CONTENT",url:this._url}:this._url&&this._url.match("^http")?this.withCredentials&&!this.hasHeader("Access-Control-Allow-Credentials")?"The `Access-Control-Allow-Credentials` header in the response is missing and must be set to `true` when the request's credentials mode is on. Origin `"+new URL(this._url).origin+"` is therefore not allowed access.":"An error occured: Check your connection and your registry must have `Access-Control-Allow-Origin` header set to `"+window.location.origin+"`":{code:"INCORRECT_URL",url:this._url}},xa=j(/Bearer realm="([^"]+)",service="([^"]+)",scope="([^"]+)"/,{realm:1,service:2,scope:3}),ba=function(e){var t=xa.exec(e);return t&&t.groups};function Ta(e,t){return!e||t&&t.toLowerCase().indexOf(e)>=0}var Aa={css:'search-bar material-input,[is="search-bar"] material-input{ line-height: initial; min-width: 5em; } @media screen and (max-width: 400px) { search-bar material-input,[is="search-bar"] material-input{ display: none; } }',exports:{onMounted(e,t){const r=this.$("input");let a="";const n=()=>{a!==r.value&&e.onSearch(r.value.toLowerCase()),a=r.value};r.addEventListener("keyup",n),er.on.value((()=>{r.value="",n()})),window.addEventListener("keydown",(e=>{if(114===e.keyCode||e.ctrlKey&&70===e.keyCode){if(document.activeElement===r)return!0;e.preventDefault(),r.focus()}}))}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-input",slots:[],attributes:[],redundantAttribute:"expr19",selector:"[expr19]"}]),name:"search-bar"},Ea={css:null,exports:{onBeforeMount(e,t){e.item.images&&1===e.item.images.length?t.image=e.item.images[0]:"string"==typeof e.item?t.image=e.item:e.item.images&&e.item.repo&&(t.images=e.item.images,t.repo=e.item.repo,t.nImages=e.item.images.length,t.expanded=e.catalogDefaultExpanded),e.showCatalogNbTags&&t.image&&this.getNbTags(e,t)},onMounted(e,t){const r=this.$("material-card");r&&(r.style["z-index"]=e.zIndex)},onBeforeUpdate(e,t){e.filterResults&&t.images?t.nImages=t.images.filter((t=>Ta(e.filterResults,t))).length:t.nImages=t.images&&t.images.length},onClick(){this.state.repo&&(this.update({expanded:!this.state.expanded,expanding:!0}),setTimeout((()=>{this.update({expanding:!1})}),50))},getNbTags(e,t){const r=this,a=new va({onAuthentication:e.onAuthentication,withCredentials:e.isRegistrySecured});a.addEventListener("load",(function(){if(200===this.status){const e=(JSON.parse(this.responseText).tags||[]).length;r.update({nbTags:e})}else 404===this.status?e.onNotify("Server not found",!0):e.onNotify(this.responseText,!0)})),a.addEventListener("error",(function(){e.onNotify(this.getErrorMessage(),!0)})),a.open("GET",e.registryUrl+"/v2/"+t.image+"/tags/list"),a.send()},matchSearch:Ta,router:ma},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>!e.props.filterResults||e.state.nImages>0||e.matchSearch(e.props.filterResults,e.state.image),redundantAttribute:"expr72",selector:"[expr72]",template:e('',[{type:r.IF,evaluate:e=>!e.props.showCatalogNbTags||0!==e.state.nbTags,redundantAttribute:"expr73",selector:"[expr73]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'send
',bindings:[{type:r.IF,evaluate:e=>e.state.image,redundantAttribute:"expr74",selector:"[expr74]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.router.taglist(e.state.image)}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[],redundantAttribute:"expr75",selector:"[expr75]"}])},{type:r.IF,evaluate:e=>e.state.images,redundantAttribute:"expr76",selector:"[expr76]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-waves",slots:[],attributes:[]}])},{redundantAttribute:"expr77",selector:"[expr77]",expressions:[{type:t.TEXT,childNodeIndex:1,evaluate:e=>[e.state.image||e.state.repo].join("")}]},{type:r.IF,evaluate:e=>e.state.images,redundantAttribute:"expr78",selector:"[expr78]",template:e(' expand_more',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nImages," images"].join("")}]},{redundantAttribute:"expr79",selector:"[expr79]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["material-icons animated ",e.state.expanded?"expanded":""].join("")}]}])},{type:r.IF,evaluate:e=>e.props.showCatalogNbTags&&e.state.image,redundantAttribute:"expr80",selector:"[expr80]",template:e(' ',[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nbTags," tags"].join("")}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"expanded",evaluate:e=>e.state.expanded},{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]}])},{type:r.EACH,getKey:null,condition:e=>e.state.images,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"catalog-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onnNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.props.showCatalogNbTags},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.props.isRegistrySecured},{type:t.ATTRIBUTE,name:"class",evaluate:e=>["animated ",e.state.expanded||e.props.filterResults?"":"hide"," ",e.state.expanding?"expanding":""].join("")},{type:t.ATTRIBUTE,name:"z-index",evaluate:e=>e.props.zIndex-1},{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item}]}]),redundantAttribute:"expr81",selector:"[expr81]",itemName:"item",indexName:null,evaluate:e=>e.state.images}])}]),name:"catalog-element"},wa=function(e){V(r,e);var t=W(r);function r(e,a){var n;return M(this,r),(n=t.call(this,e)).isError=!0,n.code=a,n}return P(r)}(X(Error)),Ca="CATALOG_BRANCHING_CONFIGURATION",Ia=function e(t,r){if(t.images){if(t.repo===r)return t;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(e=ka(e),t=ka(t),isNaN(e)||isNaN(t))throw new wa("min and max must be integers: (min: ".concat(e," and max: ").concat(t,"))"),Ca);if(e>t)throw new wa("min must be inferior to max (min: ".concat(e," <= max: ").concat(t,")"),Ca);if(t<0||e<0)throw new wa("min and max must be greater than equals to 0 (min: ".concat(e," >= 0 and max: ").concat(t," >= 0)"),Ca);return 1==t&&(e=1),function(r){return r.sort().reduce((function(r,a){var n=a.split("/");if(n.length>e&&e>0){var o=function(e,t){for(var r="",a=0;a0&&Ia(r[r.length-1],o);return i||(i={repo:o,images:[]},r.push(i)),i.images.push(a),r}return r.push(a),r}),[])}},Na={css:"catalog { display: block; margin: auto; } catalog > material-card { width: 100%; }",exports:{components:{CatalogElement:Ea},state:{registryName:"",length:0,loadend:!1,repositories:[],registryUrl:""},onBeforeMount(e){this.state.registryName=e.registryName,this.state.catalogElementsLimit=e.catalogElementsLimit;try{this.state.branching=Ra(e.catalogMinBranches,e.catalogMaxBranches)}catch(t){e.onNotify(t)}},onMounted(e,t){this.display(e,t)},onUpdated(e,t){this.display(e,t)},display(e,t){if(e.registryUrl===t.registryUrl)return;t.registryUrl=e.registryUrl;let r=[],a=0;const n=this,o=`${e.registryUrl}/v2/_catalog?n=${t.catalogElementsLimit}`,i=new va({onAuthentication:this.props.onAuthentication,withCredentials:e.isRegistrySecured});i.addEventListener("load",(function(){if(200===this.status)r=JSON.parse(this.responseText).repositories||[],r.sort(),a=r.length,"function"==typeof t.branching&&(r=t.branching(r));else if(404===this.status)n.props.onNotify({code:"CATALOG_NOT_FOUND",url:o},!0);else if(400===this.status){let e;try{e=JSON.parse(this.responseText)}catch(e){}if(!e||!Array.isArray(e.errors))return n.props.onNotify(this.responseText,!0);n.props.onNotify({...e,url:o},!0)}else n.props.onNotify(this.responseText)})),i.addEventListener("error",(function(){n.props.onNotify(this.getErrorMessage(),!0)})),i.addEventListener("loadend",(function(){n.update({repositories:r,nRepositories:r.length,nImages:a,loadend:!0})})),i.open("GET",o),i.send()}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

',bindings:[{redundantAttribute:"expr41",selector:"[expr41]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Repositories of ",e.state.registryName].join("")}]},{redundantAttribute:"expr42",selector:"[expr42]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.nImages," images in ",e.state.nRepositories," repositories"].join("")}]}]}],attributes:[],redundantAttribute:"expr40",selector:"[expr40]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr43",selector:"[expr43]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr44",selector:"[expr44]"}])},{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"catalog-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"item",evaluate:e=>e.item},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.props.showCatalogNbTags},{type:t.ATTRIBUTE,name:"catalog-default-expanded",evaluate:e=>e.props.catalogDefaultExpanded||1===e.state.nRepositories},{type:t.ATTRIBUTE,name:"z-index",evaluate:e=>e.props.catalogMaxBranches-e.props.catalogMinBranches+2},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.props.isRegistrySecured}]}]),redundantAttribute:"expr45",selector:"[expr45]",itemName:"item",indexName:null,evaluate:e=>e.state.repositories}]),name:"catalog"};function Ua(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ba,Oa,Sa,Da,La,ja,Ma,_a,Pa={exports:{}};Ba=Pa,Oa="*",Sa=Object.defineProperties,Da=Object.entries,La=function(e,t){return function(r,a){return e.has(r)?e.get(r).add(a):e.set(r,(new Set).add(a)),t}},ja=function(e,t){return function(r,a){return r!==Oa||a?function(e,t,r,a){if(a){var n=e.get(r);n&&(n.delete(a),0===n.size&&e.delete(r))}else e.delete(r)}(e,0,r,a):e.clear(),t}},Ma=function(e,t){return function(e,r){return t.on(e,(function a(){t.off(e,a);for(var n=arguments.length,o=new Array(n),i=0;i1?a-1:0),o=1;o :first-child,[is="pagination"] material-button > :first-child{ padding: 0; min-width: 40px; min-height: 44px; } pagination material-button > :first-child .content,[is="pagination"] material-button > :first-child .content{ display: flex; align-content: center; flex-direction: column; font-size: 16px; line-height: 42px; } pagination material-button.current > :first-child.space-left,[is="pagination"] material-button.current > :first-child.space-left{ margin-left: 85px; } pagination material-button.current > :first-child.space-right,[is="pagination"] material-button.current > :first-child.space-right{ margin-right: 85px; } pagination material-button .content i.material-icons,[is="pagination"] material-button .content i.material-icons{ height: unset; }',exports:null,template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'',bindings:[{type:r.IF,evaluate:e=>e.p.icon,redundantAttribute:"expr83",selector:"[expr83]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.p.icon}]}])},{type:r.IF,evaluate:e=>!e.p.icon,redundantAttribute:"expr84",selector:"[expr84]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.p.page}]}])}]}],attributes:[{type:t.ATTRIBUTE,name:"aria-label",evaluate:e=>["page-",e.p.page].join("")},{type:t.ATTRIBUTE,name:"color",evaluate:e=>e.p.current?"var(--accent-text)":"rgba(0, 0, 0, 0 )"},{type:t.ATTRIBUTE,name:"text-color",evaluate:e=>e.p.current?"var(--accent-text)":"var(--primary-text)"},{type:t.ATTRIBUTE,name:"class",evaluate:e=>[e.p.current?"current":""," ",e.p["space-left"]?"space-left":""," ",e.p["space-right"]?"space-right":""].join("")},{type:t.EVENT,name:"onClick",evaluate:e=>t=>e.props.onPageUpdate(e.idx)}]}]),redundantAttribute:"expr82",selector:"[expr82]",itemName:"p",indexName:"idx",evaluate:e=>e.props.pages}]),name:"pagination"},Ha={css:null,exports:{onMounted(e){this.loadCreationDate(e)},onUpdated(e){this.loadCreationDate(e)},loadCreationDate(e){e.image.creationDate||e.image.ociImage||(e.image.one("creation-date",(e=>{this.update({date:e,localDate:e&&e.toLocaleString()})})),e.image.trigger("get-date"))},getDate:e=>e.ociImage?"Not Available":`${function(e){if(void 0===e)return"";for(var t=["a second","seconds","a minute","minutes","an hour","hours","a day","days","a month","months","a year","years"],r=[1,60,3600,86400,2592e3,31104e3,1/0],a=(new Date-e)/1e3,n=0;n=a)return t[2*n];if(r[n+1]>a)return Math.floor(a/r[n])+" "+t[2*n+1]}}(e.creationDate)} ago`,getLocalDate:e=>e.ociImage?"unavailable on OCI index/Buildkit export cache":e.creationDate&&e.creationDate.toLocaleString()||"unknown"},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr173",selector:"[expr173]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getDate(e.props.image)},{type:t.ATTRIBUTE,name:"title",evaluate:e=>["Creation date ",e.getLocalDate(e.props.image)].join("")}]}]),name:"image-date"},$a={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){"number"!=typeof e.image.size&&(e.image.on("size",(e=>{this.update({size:e})})),e.image.trigger("get-size"))},getImageSize:e=>Wr(e.size)},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr174",selector:"[expr174]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getImageSize(e.props.image)}]}]),name:"image-size"},Xa={css:null,exports:{onMounted(e){e.image.on("sha256",(e=>{this.update({sha256:e&&e.substring(0,19)})})),e.image.trigger("get-sha256")}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr172",selector:"[expr172]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.image.tag},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.state.sha256}]}]),name:"image-tag"},qa={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},load(e,t){e.image.contentDigest||(t.chars=-1,e.image.one("content-digest",(t=>{this.contentDigest=t,e.image.on("content-digest-chars",this.onResize),e.image.trigger("get-content-digest-chars")})),e.image.trigger("get-content-digest"))},onResize(e){e!==this.state.chars&&this.update({chars:e})},getTitle:(e,t)=>t>=70?"":e.contentDigest||"",getContentDigest:(e,t)=>t>=70?e.contentDigest||"":t<=0?"":e.contentDigest&&e.contentDigest.slice(0,t)+"..."},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr171",selector:"[expr171]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getContentDigest(e.props.image,e.state.chars)},{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.getTitle(e.props.image,e.state.chars)}]}]),name:"image-content-digest"},Wa={css:null,exports:{onMounted(e,t){this.load(e,t)},onUpdated(e,t){this.load(e,t)},getDockerCmd:e=>"tag"===e.target?`docker pull ${e.pullUrl}/${e.image.name}:${e.image.tag}`:`docker pull ${e.pullUrl}/${e.image.name}@${e.image.contentDigest}`,load(e,t){"tag"===e.target||e.image.contentDigest||(e.image.one("content-digest",(e=>{this.update()})),e.image.trigger("get-content-digest"))},copy(){const e=this.$("input");e.value?(e.style.display="block",e.select(),document.execCommand("copy"),e.style.display="none",this.props.onNotify("`"+e.value+"` has been copied to clipboard.")):this.props.onNotify(ea)}},template:(e,t,r,a)=>e('
',[{redundantAttribute:"expr175",selector:"[expr175]",expressions:[{type:t.VALUE,evaluate:e=>e.getDockerCmd(e.props)}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'content_copy',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.copy}],redundantAttribute:"expr176",selector:"[expr176]"}]),name:"copy-to-clipboard"},Ka={css:null,exports:{onMounted(e){e.image.one("oci-image",(()=>{this.update()}))},buttonTittle(){return this.props.image.ociImage?"History is unavailable on OCI index/Buildkit export cache":"This will show the history of given tag"},routeToHistory(){if(!this.props.image.ociImage)return ma.history(this.props.image.name,this.props.image.tag)}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'history',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"title",evaluate:e=>e.buttonTittle()},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.routeToHistory()},{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>e.props.image.ociImage}],redundantAttribute:"expr177",selector:"[expr177]"}]),name:"tag-history-button"},Ya={css:null,exports:{onBeforeMount(e,t){t.checked=e.checked,e.image.one("content-digest",(e=>{this.update({contentDigest:e})}))},onMounted(e,t){e.image.trigger("get-content-digest")},onBeforeUpdate(e,t){t.checked=e.checked},deleteImage(){this.props.handleCheckboxChange(tn,this.props.image)},handleCheckboxChange(e){const t=e.target.checked?Za:en;this.props.handleCheckboxChange(t,this.props.image,e.shiftKey)}},template:(e,t,r,a)=>e('',[{type:r.IF,evaluate:e=>!e.props.multiDelete,redundantAttribute:"expr179",selector:"[expr179]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>!e.state.contentDigest},{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImage}]}])},{type:r.IF,evaluate:e=>e.props.multiDelete,redundantAttribute:"expr180",selector:"[expr180]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-checkbox",slots:[],attributes:[{type:t.ATTRIBUTE,name:"disabled",evaluate:e=>!e.state.contentDigest},{type:t.EVENT,name:"onChange",evaluate:e=>e.handleCheckboxChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.checked}]}])}]),name:"remove-image"},Ja={css:'architectures architectures,[is="architectures"] architectures{ display: flex; flex-direction: column; } architectures .architecture { background-color: var(--hover-background); padding: 2px 4px; border-radius: 12px; margin: 4px 0; text-align: center; } architectures .architecture:first-child { margin-top: 0; } architectures .architecture:last-child { margin-bottom: 0; }',exports:{onMounted(e,t){this.onLoad(e,t)},onUpdated(e,t){e.image!==t.image&&this.onLoad(e,t)},onLoad(e,t){return e.image.manifests?this.onList(e.image.manifests,e,t):e.image.blobs?this.onBlobs(e.image.blobs,e,t):(e.image.on("blobs",(r=>this.onBlobs(r,e,t))),void e.image.on("list",(r=>this.onList(r,e,t))))},onBlobs(e,t,r){const a=[Va(e)];t.image.manifests||this.update({architectures:a,image:t.image})},onList(e,t,r){const a=e.map((({platform:e})=>Va(e)));this.update({architectures:a,image:t.image})}},template:(e,t,r,a)=>e('
',[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.architecture}]}]),redundantAttribute:"expr178",selector:"[expr178]",itemName:"architecture",indexName:null,evaluate:e=>e.state.architectures}]),name:"architectures"},Qa={css:'confirm-delete-image,[is="confirm-delete-image"]{ color: #000; list-style-type: disc; margin-block-start: 0.7em; } confirm-delete-image material-popup .content .material-popup-content,[is="confirm-delete-image"] material-popup .content .material-popup-content{ overflow-y: auto; max-height: 250px; }',exports:{displayImagesToDelete(e,t){const r=new Set;return e.forEach((e=>{e.contentDigest&&r.add(e.contentDigest)})),t.filter((e=>r.has(e.contentDigest)))},deleteImages(){this.props.toDelete.forEach((e=>this.getContentDigestThenDelete(e,this.props))),this.props.onImageDeleted()},getContentDigestThenDelete({name:e,tag:t},r){const{registryUrl:a,onNotify:n,onAuthentication:o,isRegistrySecured:i}=r,s=new va({onAuthentication:o,withCredentials:i}),l=this;s.addEventListener("loadend",(function(){200===this.status||202===this.status?s.getContentDigest((function(a){a?l.deleteImage({name:e,tag:t,contentDigest:a},r):n(ERROR_CAN_NOT_READ_CONTENT_DIGEST)})):404===this.status?n(`Manifest for ${e}:${t} not found`,!0):n(this.responseText)})),s.open("GET",`${a}/v2/${e}/manifests/${t}`),s.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.index.v1+json"),s.send()},deleteImage({name:e,tag:t,contentDigest:r},a){const{registryUrl:n,ignoreError:o,onNotify:i,onAuthentication:s,onClick:l,isRegistrySecured:u}=a,p=new va({onAuthentication:s,withCredentials:u});p.addEventListener("loadend",(function(){200===this.status||202===this.status?(ma.taglist(e),i(`Deleting ${e}:${t} image. Run \`registry garbage-collect config.yml\` on your registry`)):404===this.status?o||i({message:"Digest not found for this image in your registry.",isError:!0}):i(this.responseText),l()})),p.open("DELETE",`${n}/v2/${e}/manifests/${r}`),p.setRequestHeader("Accept","application/vnd.docker.distribution.manifest.v2+json, application/vnd.oci.image.manifest.v1+json"),p.addEventListener("error",(function(){const e=this.withCredentials?" When you use credentials on a different hostname, the registry server may fail preflight requests. Check FAQ and issue #104.":"";i({message:"An error occurred when deleting image. Check if your server accept DELETE methods Access-Control-Allow-Methods: ['DELETE']."+e,isError:!0})})),p.send()}},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
These images will be deleted
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.image.name,":",e.image.tag].join("")}]}]),redundantAttribute:"expr182",selector:"[expr182]",itemName:"image",indexName:null,evaluate:e=>e.displayImagesToDelete(e.props.toDelete,e.props.tags)},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Delete\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImages}],redundantAttribute:"expr183",selector:"[expr183]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClick}],redundantAttribute:"expr184",selector:"[expr184]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClick}],redundantAttribute:"expr181",selector:"[expr181]"}]),name:"confirm-delete-image"};const Za="CHECK",en="UNCHECK",tn="DELETE";var rn={css:"tag-table table th.architectures { text-align: center; }",exports:{components:{ImageDate:Ha,ImageSize:$a,ImageTag:Xa,ImageContentDigest:qa,CopyToClipboard:Wa,RemoveImage:Ya,TagHistoryButton:Ka,ConfirmDeleteImage:Qa,Architectures:Ja},onBeforeMount(e){this.state={toDelete:new Set,multiDelete:!1,page:e.page}},onBeforeUpdate(e,t){t.page!==e.page&&t.toDelete.clear(),t.page=e.page},deleteImages(){this.update({confirmDeleteImage:!0})},onConfirmDeleteImageClick(){this.state.singleDeleteAction&&this.state.toDelete.clear(),this.update({singleDeleteAction:!1,confirmDeleteImage:!1})},onRemoveImageHeaderChange(e){if(!0===e.altKey){Kr(this.props.tags,this.props.page).filter((e=>Ta(this.props.filterResults,e.tag))).forEach((e=>this.state.toDelete.add(e))),this.update({multiDelete:!0,toDelete:this.state.toDelete,selectedImage:void 0})}else this.update({multiDelete:e.target.checked,selectedImage:void 0})},onRemoveImageChange(e,t,r){let a,n=!1,o=!1;switch(e){case Za:this.state.toDelete.add(t),r&&(a=this.supportShiftKey(t,!0));break;case en:this.state.toDelete.delete(t),r&&(a=this.supportShiftKey(t,!1));break;case tn:this.state.toDelete.clear(),this.state.toDelete.add(t),n=!0,o=!0}this.update({toDelete:this.state.toDelete,confirmDeleteImage:n,singleDeleteAction:o,selectedImage:a})},supportShiftKey(e,t){if(!this.state.selectedImage)return e;{let r=!1;Kr(this.props.tags,this.props.page).filter((t=>t==this.state.selectedImage||t==e?(r=!r,!0):r)).forEach((e=>{t?this.state.toDelete.add(e):this.state.toDelete.delete(e)}))}},onReverseOrder(){this.state.orderType=null,this.state.desc=!1,this.props.onReverseOrder()},onPageReorder(e){this.update({orderType:e,desc:this.state.orderType&&this.state.orderType!==e||!this.state.desc})},getPage(e,t){const r=Kr(e,t,this.props.tagsPerPage);return"date"===this.state.orderType?r.sort(((e,t)=>this.state.desc?(e.creationDate?.getTime()||0)-(t.creationDate?.getTime()||0):(t.creationDate?.getTime()||0)-(e.creationDate?.getTime()||0))):"size"===this.state.orderType&&r.sort(((e,t)=>this.state.desc?e.size-t.size:t.size-e.size)),r},matchSearch:Ta},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"confirm-delete-image",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.confirmDeleteImage},{type:t.EVENT,name:"on-click",evaluate:e=>e.onConfirmDeleteImageClick},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"tags",evaluate:e=>e.props.tags},{type:t.ATTRIBUTE,name:"to-delete",evaluate:e=>e.state.toDelete},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.props.isRegistrySecured},{type:t.EVENT,name:"on-image-deleted",evaluate:e=>e.props.onImageDeleted}],redundantAttribute:"expr85",selector:"[expr85]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'
\n Creation date\n \n Size\n \n Tag\n ArchHistory
',bindings:[{redundantAttribute:"expr87",selector:"[expr87]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["creation-date ",e.state.desc&&"date"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>()=>e.onPageReorder("date")}]},{redundantAttribute:"expr88",selector:"[expr88]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["image-size ",e.state.desc&&"size"===e.state.orderType?"material-card-th-sorted-descending":"material-card-th-sorted-ascending"].join("")},{type:t.EVENT,name:"onclick",evaluate:e=>()=>e.onPageReorder("size")}]},{type:r.IF,evaluate:e=>e.props.showContentDigest,redundantAttribute:"expr89",selector:"[expr89]",template:e("Content Digest",[])},{redundantAttribute:"expr90",selector:"[expr90]",expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.props.asc?"material-card-th-sorted-ascending":"material-card-th-sorted-descending"},{type:t.EVENT,name:"onclick",evaluate:e=>e.onReverseOrder}]},{type:r.IF,evaluate:e=>e.props.isImageRemoveActivated,redundantAttribute:"expr91",selector:"[expr91]",template:e('',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>["remove-tag ",e.state.toDelete.size>0&&!e.state.singleDeleteAction?"delete":""].join("")}]},{type:r.IF,evaluate:e=>0===e.state.toDelete.size||e.state.singleDeleteAction,redundantAttribute:"expr92",selector:"[expr92]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-checkbox",slots:[],attributes:[{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.multiDelete},{type:t.EVENT,name:"onChange",evaluate:e=>e.onRemoveImageHeaderChange}]}])},{type:r.IF,evaluate:e=>e.state.toDelete.size>0&&!e.state.singleDeleteAction,redundantAttribute:"expr93",selector:"[expr93]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.deleteImages}]}])}])},{type:r.EACH,getKey:null,condition:e=>e.matchSearch(e.props.filterResults,e.image.tag),template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"image-date",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr95",selector:"[expr95]"},{type:r.TAG,getComponent:a,evaluate:e=>"image-size",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr96",selector:"[expr96]"},{type:r.IF,evaluate:e=>e.props.showContentDigest,redundantAttribute:"expr97",selector:"[expr97]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"image-content-digest",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr98",selector:"[expr98]"},{type:r.TAG,getComponent:a,evaluate:e=>"copy-to-clipboard",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify}],redundantAttribute:"expr99",selector:"[expr99]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"image-tag",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr100",selector:"[expr100]"},{type:r.TAG,getComponent:a,evaluate:e=>"copy-to-clipboard",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify}],redundantAttribute:"expr101",selector:"[expr101]"},{type:r.TAG,getComponent:a,evaluate:e=>"architectures",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr102",selector:"[expr102]"},{type:r.TAG,getComponent:a,evaluate:e=>"tag-history-button",slots:[],attributes:[{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image}],redundantAttribute:"expr103",selector:"[expr103]"},{type:r.IF,evaluate:e=>e.props.isImageRemoveActivated,redundantAttribute:"expr104",selector:"[expr104]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"remove-image",slots:[],attributes:[{type:t.ATTRIBUTE,name:"multi-delete",evaluate:e=>e.state.multiDelete},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.image},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.ATTRIBUTE,name:"handleCheckboxChange",evaluate:e=>e.onRemoveImageChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.toDelete.has(e.image)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication}],redundantAttribute:"expr105",selector:"[expr105]"}])}]),redundantAttribute:"expr94",selector:"[expr94]",itemName:"image",indexName:null,evaluate:e=>e.getPage(e.props.tags,e.props.page)}]}],attributes:[],redundantAttribute:"expr86",selector:"[expr86]"}]),name:"tag-table"},an=/(alpha-(asc|desc);num-(asc|desc))|(num-(asc|desc);alpha-(asc|desc))/,nn=function(e){var t=function(e){switch(e){case"desc":return"alpha-desc;num-desc";case"asc":return"num-asc;alpha-asc";case"alpha-desc":case"alpha-asc":case"num-desc":case"num-asc":return"".concat(e,";").concat(e.startsWith("num")?"alpha":"num","-asc");default:if(!e)return"alpha-asc;num-desc";if(an.test(e))return e;throw new wa("The taglist order `".concat(e,"` is not recognized."))}}(e).split(";").filter((function(e){return e})).map((function(e){return e.split("-").filter((function(e){return e}))})).reduce((function(e,t,r){return t.length>1&&(e[t[0]+"Asc"]="asc"===t[1]),0===r&&(e.numFirst="num"===t[0]),e}),{});return t},on=function(e,t){return e.length>0&&Zr(e[e.length-1].charAt(0))==Zr(t)?e[e.length-1]+=t:e.push(t),e},sn=function(e){return e.split("").reduce(on,[]).map((function(e){return Zr(e.charAt(0))?parseInt(e):e}))},ln=function(e,t,r){if(t===r)return 0;var a=e.numFirst?1:-1;if("number"==typeof t){var n=e.numAsc?1:-1;return"number"==typeof r?(t-r)*n:-1*a}if("number"==typeof r)return 1*a;var o=e.alphaAsc?1:-1;return t.localeCompare(r)*o},un={css:null,exports:{components:{Pagination:Fa,TagTable:rn},onBeforeMount(e){this.state={registryName:e.registryName,tags:[],loadend:!1,asc:!0,page:ma.getPageQueryParam()||1};try{this.state.taglistOrder=nn(e.taglistOrder)}catch(t){e.onNotify(t)}},onMounted(e,t){var r;this.display(e,t),window.addEventListener("resize",this.onResize),window.requestAnimationFrame(this.onResize),this.tagComparator=(r=e.taglistOrder,function(e,t){for(var a=sn(e.tag||e),n=sn(t.tag||t),o=0;osetTimeout((()=>this.display(e,t)),1e3),t.tags=[];const r=this,a=new va({onAuthentication:e.onAuthentication,withCredentials:e.isRegistrySecured});a.addEventListener("load",(function(){if(200===this.status){const a=(JSON.parse(this.responseText).tags||[]).map((t=>new za(e.image,t,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication,useControlCacheHeader:e.useControlCacheHeader,isRegistrySecured:e.isRegistrySecured}))).sort(r.tagComparator);window.requestAnimationFrame(r.onResize),r.update({page:Math.min(t.page,Yr(a)),tags:a})}else 404===this.status?r.props.onNotify("Server not found",!0):r.props.onNotify(this.responseText,!0)})),a.addEventListener("error",(function(){r.props.onNotify(this.getErrorMessage(),!0),t.tags=[]})),a.addEventListener("loadend",(function(){r.update({loadend:!0})})),a.open("GET",e.registryUrl+"/v2/"+e.image+"/tags/list"),a.send(),t.asc=!0},onPageUpdate(e){const t=Jr(this.state.page,Yr(this.state.tags))[e].page;this.update({page:t}),ma.updatePageQueryParam(t)},onResize(){const e=window.innerWidth;let t=0;const r=this.state.tags.reduce((function(e,t){return t.tag.length>e?t.tag.length:e}),0);t=e>=1440?71:e<1024?0:15+(e-1024)/416*56,r>20&&(t-=r-20),t=Math.floor(t),this.state.tags.map((function(e){e.trigger("content-digest-chars",t)}))},onReverseOrder(){this.state.asc?(this.state.tags.reverse(),this.state.asc=!1):(this.state.tags.sort(this.tagComparator),this.state.asc=!0),this.update()},getPageLabels:Jr,getNumPages:Yr,router:ma},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.router.home()}],redundantAttribute:"expr47",selector:"[expr47]"},{redundantAttribute:"expr48",selector:"[expr48]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Tags of ",e.props.image].join("")}]},{redundantAttribute:"expr49",selector:"[expr49]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Sourced from ",e.state.registryName+"/"+e.props.image].join("")}]},{redundantAttribute:"expr50",selector:"[expr50]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>[e.state.tags.length," tags"].join("")}]}]}],attributes:[],redundantAttribute:"expr46",selector:"[expr46]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr51",selector:"[expr51]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr52",selector:"[expr52]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"pagination",slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:e=>e.getPageLabels(e.state.page,e.getNumPages(e.state.tags,e.props.tagsPerPage))},{type:t.EVENT,name:"onPageUpdate",evaluate:e=>e.onPageUpdate}],redundantAttribute:"expr53",selector:"[expr53]"},{type:r.IF,evaluate:e=>e.state.loadend,redundantAttribute:"expr54",selector:"[expr54]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"tag-table",slots:[],attributes:[{type:t.ATTRIBUTE,name:"tags",evaluate:e=>e.state.tags},{type:t.ATTRIBUTE,name:"asc",evaluate:e=>e.state.asc},{type:t.ATTRIBUTE,name:"page",evaluate:e=>e.state.page},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:e=>e.props.showContentDigest},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.props.isImageRemoveActivated},{type:t.EVENT,name:"onReverseOrder",evaluate:e=>e.onReverseOrder},{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.props.registryUrl},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.props.pullUrl},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.props.filterResults},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.props.onAuthentication},{type:t.ATTRIBUTE,name:"tags-per-page",evaluate:e=>e.props.tagsPerPage},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.props.isRegistrySecured},{type:t.EVENT,name:"on-image-deleted",evaluate:e=>()=>e.state.reload()}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"pagination",slots:[],attributes:[{type:t.ATTRIBUTE,name:"pages",evaluate:e=>e.getPageLabels(e.state.page,e.getNumPages(e.state.tags,e.props.tagsPerPage))},{type:t.EVENT,name:"onPageUpdate",evaluate:e=>e.onPageUpdate}],redundantAttribute:"expr55",selector:"[expr55]"}]),name:"tag-list"},pn={css:'dockerfile material-popup .popup material-button,[is="dockerfile"] material-popup .popup material-button{ margin-right: 1em; } dockerfile material-popup .popup > .content,[is="dockerfile"] material-popup .popup > .content{ max-width: 75em; width: 80%; } dockerfile .material-popup-content,[is="dockerfile"] .material-popup-content{ background-color: var(--hover-background); } @media screen and (max-width: 800px) { dockerfile material-popup .popup > .content,[is="dockerfile"] material-popup .popup > .content{ width: 100%; } } dockerfile .instruction,[is="dockerfile"] .instruction{ font-family: \'Roboto Mono\', monospace !important; margin: 0.75em 0; } dockerfile .instruction .keyword,[is="dockerfile"] .instruction .keyword{ color: var(--accent-text); }',exports:null,template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Dockerfile
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e('',[{type:r.EACH,getKey:null,condition:null,template:e('
',[{redundantAttribute:"expr109",selector:"[expr109]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.element.value}]},{redundantAttribute:"expr110",selector:"[expr110]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>" "+e.element.content}]}]),redundantAttribute:"expr108",selector:"[expr108]",itemName:"element",indexName:null,evaluate:e=>e.props.elements[e.props.elements.length-1-e.idx].filter((e=>"created_by"===e.key))}]),redundantAttribute:"expr107",selector:"[expr107]",itemName:"_",indexName:"idx",evaluate:e=>e.props.elements},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr111",selector:"[expr111]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr106",selector:"[expr106]"}]),name:"dockerfile"};var cn={css:'tag-history-element.Labels .value,[is="tag-history-element"].Labels .value, :host.Env .value { margin-bottom: 0.5em; } tag-history-element i,[is="tag-history-element"] i{ font-size: 20px; padding: 0px; } tag-history-element.docker_version .headline .material-icons,[is="tag-history-element"].docker_version .headline .material-icons, :host.docker_version .headline #docker_verion { height: 24px; } tag-history-element,[is="tag-history-element"]{ display: block; padding: 20px; min-width: 100px; min-height: 3em; width: 420px; float: left; } tag-history-element .content,[is="tag-history-element"] .content{ overflow-x: auto; } tag-history-element.id .content,[is="tag-history-element"].id .content{ overflow-x: initial; } tag-history-element .headline,[is="tag-history-element"] .headline{ height: 24px; display: flex; flex-direction: row; align-items: center; font-weight: bold; } tag-history-element .headline *,[is="tag-history-element"] .headline *{ margin-right: 6px; } tag-history-element.id div.value,[is="tag-history-element"].id div.value{ font-size: 12px; }',exports:{onBeforeStart(e,t){t.key=e.entry.key,t.icon=function(e){switch(e){case"architecture":return"memory";case"created":return"event";case"docker_version":return"";case"os":return"developer_board";case"Cmd":return"launch";case"Entrypoint":return"input";case"Env":return"notes";case"Labels":return"label";case"User":return"face";case"Volumes":return"storage";case"WorkingDir":return"home";case"author":return"account_circle";case"id":case"digest":return"settings_ethernet";case"created_by":return"build";case"size":return"get_app";case"ExposedPorts":return"router";case"comment":return"chat";default:return e.startsWith("custom-label-")?"label":""}}(e.entry.key),t.name=this.cleanName(e.entry.key),e.entry.value instanceof Array?t.values=e.entry.value:t.value=e.entry.value},onBeforeMount(e,t){this.onBeforeStart(e,t)},onBeforeUpdate(e,t){this.onBeforeStart(e,t)},onMounted(e,t){const r=this.$("#docker_verion");r&&(r.innerHTML=(new DOMParser).parseFromString('\n \n \n \n\n',"image/svg+xml").firstElementChild.outerHTML)},cleanName:e=>"id"===e?e:"os"===e?"OS":(e.startsWith("custom-label-")&&(e=e.replace("custom-label-","")),e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").split(" ").map((e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`)).join(" "))},template:(e,t,r,a)=>e('
',[{expressions:[{type:t.ATTRIBUTE,name:"class",evaluate:e=>e.state.key}]},{type:r.IF,evaluate:e=>"docker_version"!==e.state.key,redundantAttribute:"expr112",selector:"[expr112]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.icon}]}])},{type:r.IF,evaluate:e=>"docker_version"===e.state.key,redundantAttribute:"expr113",selector:"[expr113]",template:e(null,[])},{redundantAttribute:"expr114",selector:"[expr114]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.name}]},{type:r.IF,evaluate:e=>e.state.value,redundantAttribute:"expr115",selector:"[expr115]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.value}]}])},{type:r.EACH,getKey:null,condition:e=>e.state.values,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.value}]}]),redundantAttribute:"expr116",selector:"[expr116]",itemName:"value",indexName:null,evaluate:e=>e.state.values}]),name:"tag-history-element"};const dn=function(e){switch(e){case"created":return 1;case"created_by":return 2;case"size":return 3;case"os":return 4;case"architecture":return 5;case"id":return 6;case"linux":return 7;case"docker_version":return 8;default:return 10}},mn=function(e,t){return dn(e.key)-dn(t.key)},hn=e=>{if(e.startsWith("COPY"))return{value:"COPY",content:e.replace(/^COPY /,"")};let t=e.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+) (.*)/);return{value:t&&t[1]||"RUN",content:t&&t[2]||e.replace(/^\/bin\/sh *-c *(#\(nop\))?/,"")}},gn=function(e,t){switch(e){case"created":return{key:e,value:new Date(t).toLocaleString()};case"created_by":return t.match(/\/bin\/sh *-c *#\(nop\) *([A-Z]+) (.*)/),{key:e,...hn(t)};case"size":return{key:e,value:Wr(t)};case"Entrypoint":case"Cmd":return{key:e,value:(t||[]).join(" ")};case"Labels":return{key:e,value:Object.keys(t||{}).map((function(e){return t[e]?e+"="+t[e]:""}))};case"Volumes":case"ExposedPorts":return{key:e,value:Object.keys(t)}}return{key:e,value:t||""}};var vn={css:'tag-history h2,[is="tag-history"] h2{ flex-grow: 1; display: flex; flex-direction: row; align-items: center; }',exports:{components:{TagHistoryElement:cn,Dockerfile:pn},onBeforeMount(e,t){t.elements=[],t.image=new za(e.image,e.tag,{list:!0,registryUrl:e.registryUrl,onNotify:e.onNotify,onAuthentication:e.onAuthentication,useControlCacheHeader:e.useControlCacheHeader,isRegistrySecured:e.isRegistrySecured}),t.image.fillInfo()},onMounted(e,t){t.image.on("blobs",this.processBlobs),t.image.on("list",this.multiArchList)},onTabChanged(e,t){const r=this.state,{registryUrl:a,onNotify:n,useControlCacheHeader:o}=this.props;if(r.elements=[],r.image.variants[t]=r.image.variants[t]||new za(this.props.image,e.digest,{list:!1,registryUrl:a,onNotify:n,useControlCacheHeader:o}),r.image.variants[t].blobs)return this.processBlobs(r.image.variants[t].blobs);r.image.variants[t].fillInfo(),r.image.variants[t].on("blobs",this.processBlobs)},processBlobs(e){this.state;const{historyCustomLabels:t}=this.props;function r(e){const t=[];for(var r in e)if(e.hasOwnProperty(r)&&"empty_layer"!=r){const a=e[r],n=gn(r,a);t.push(n)}return t.sort(mn)}const a=new Array(e.history.length+1);a[0]=r(function(e,{historyCustomLabels:t}){const r=["architecture","User","created","docker_version","os","Cmd","Entrypoint","Env","Labels","User","Volumes","WorkingDir","author","id","ExposedPorts"].reduce((function(t,r){const a=e[r]||e.config[r];return a&&"architecture"===r&&e.variant?t[r]=a+e.variant:a&&(t[r]=a),t}),{});return!r.author&&r.Labels&&r.Labels.maintainer&&(r.author=e.config.Labels.maintainer,delete r.Labels.maintainer),r.Labels&&t.filter((e=>r.Labels[e])).forEach((e=>{r[`custom-label-${e}`]=r.Labels[e],delete r.Labels[e]})),r}(e,{historyCustomLabels:t})),e.history.forEach((function(t,n){a[e.history.length-n]=r(t)})),this.update({elements:a,loadend:!0})},multiArchList(e){const t=(e=e.manifests||e).map((function(e){return{title:e.platform.os+"/"+e.platform.architecture+(e.platform.variant?e.platform.variant:""),digest:e.digest}}));this.update({archs:t})},toTaglist(){return ma.taglist(this.props.image)},showDockerfile(){this.update({showDockerfile:!0})},onDockerfileClose(){this.update({showDockerfile:!1})}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'

history

',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'arrow_back',bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.toTaglist()}],redundantAttribute:"expr57",selector:"[expr57]"},{redundantAttribute:"expr58",selector:"[expr58]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["History of ",e.props.image,":",e.props.tag].join("")}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Dockerfile\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.showDockerfile}],redundantAttribute:"expr59",selector:"[expr59]"}]}],attributes:[],redundantAttribute:"expr56",selector:"[expr56]"},{type:r.IF,evaluate:e=>!e.state.loadend,redundantAttribute:"expr60",selector:"[expr60]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-spinner",slots:[],attributes:[],redundantAttribute:"expr61",selector:"[expr61]"}])},{type:r.TAG,getComponent:a,evaluate:e=>"dockerfile",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.showDockerfile},{type:t.EVENT,name:"on-close",evaluate:e=>e.onDockerfileClose},{type:t.ATTRIBUTE,name:"elements",evaluate:e=>e.state.elements}],redundantAttribute:"expr62",selector:"[expr62]"},{type:r.IF,evaluate:e=>e.state.archs&&e.state.loadend,redundantAttribute:"expr63",selector:"[expr63]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-tabs",slots:[],attributes:[{type:t.ATTRIBUTE,name:"useLine",evaluate:e=>!0},{type:t.ATTRIBUTE,name:"tabs",evaluate:e=>e.state.archs},{type:t.EVENT,name:"onTabChanged",evaluate:e=>e.onTabChanged}]}])},{type:r.EACH,getKey:null,condition:null,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"material-card",slots:[{id:"default",html:'',bindings:[{type:r.EACH,getKey:null,condition:e=>e.entry.value&&e.entry.value.length>0,template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"tag-history-element",slots:[],attributes:[{type:t.ATTRIBUTE,name:"entry",evaluate:e=>e.entry}]}]),redundantAttribute:"expr65",selector:"[expr65]",itemName:"entry",indexName:null,evaluate:e=>e.element}]}],attributes:[]}]),redundantAttribute:"expr64",selector:"[expr64]",itemName:"element",indexName:null,evaluate:e=>e.state.elements}]),name:"tag-history"},fn={css:null,exports:{onKeyUp(e){13===e.keyCode&&this.add()},add(){const e=this.$("input");if(!e||!e.value||0===e.value.length)return this.props.onNotify("The input field is empty. Please enter an url.",!0);if(!e.value.startsWith("http"))return this.props.onNotify("The input field should start with http:// or https://.",!0);const t=aa(e.value);ma.home(),this.props.onServerChange(t),this.props.onClose(),setTimeout((()=>ma.updateUrlQueryParam(t)),100)},registryUrlValidator:e=>/^https?:\/\//.test(e)&&!/\/v2\/?$/.test(e)},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Add your Server ?
Write your URL without /v2
',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"material-input",slots:[],attributes:[{type:t.EVENT,name:"onkeyup",evaluate:e=>e.onKeyUp},{type:t.ATTRIBUTE,name:"valid",evaluate:e=>e.registryUrlValidator}],redundantAttribute:"expr118",selector:"[expr118]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Add\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.add}],redundantAttribute:"expr119",selector:"[expr119]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr120",selector:"[expr120]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr117",selector:"[expr117]"}]),name:"add-registry-url"},yn={css:'change-registry-url select,[is="change-registry-url"] select{ position: relative; outline: 0; box-shadow: none; padding: 0; width: 100%; background: 0 0; border: none; font-weight: 400; font-size: 1em; line-height: 24px; height: 24px; border-bottom: 1px solid var(--accent-text); appearance: none; -moz-appearance: none; -webkit-appearance: none; margin: 1.5em 0; color: var(--primary-text); } change-registry-url select option,[is="change-registry-url"] select option{ background-color: var(--background); }',exports:{change(e){const t=this.$("select");if(!t||!t.value||0===t.value.length)return this.props.onNotify("The select field is empty. Please add an url.",!0);if(!t.value.startsWith("http"))return this.props.onNotify("The select field should start with http:// or https://.",!0);const r=aa(t.value);ma.home(),this.props.onServerChange(r),this.props.onClose(),setTimeout((()=>ma.updateUrlQueryParam(r)),100)},getRegistryServers:ta},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Change your Server ?
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.url},{type:t.ATTRIBUTE,name:"value",evaluate:e=>e.url}]}]),redundantAttribute:"expr127",selector:"[expr127]",itemName:"url",indexName:null,evaluate:e=>e.getRegistryServers()},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Change\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.change}],redundantAttribute:"expr128",selector:"[expr128]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Cancel\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr129",selector:"[expr129]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr126",selector:"[expr126]"}]),name:"change-registry-url"},xn={css:'remove-registry-url material-popup .popup material-button,[is="remove-registry-url"] material-popup .popup material-button{ margin-right: 1em; }',exports:{remove(e){return t=>{var r;r=e,ra(ta().filter((function(e){return e!==r}))),setTimeout((()=>this.update()),100)}},getRegistryServers:ta},template:(e,t,r,a)=>e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Remove your Registry Server ?
',bindings:[{type:r.EACH,getKey:null,condition:null,template:e(' ',[{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'delete',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.remove(e.url)},{type:t.ATTRIBUTE,name:"url",evaluate:e=>e.url}],redundantAttribute:"expr123",selector:"[expr123]"},{redundantAttribute:"expr124",selector:"[expr124]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.url}]}]),redundantAttribute:"expr122",selector:"[expr122]",itemName:"url",indexName:null,evaluate:e=>e.getRegistryServers()},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr125",selector:"[expr125]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.props.opened},{type:t.EVENT,name:"onClick",evaluate:e=>e.props.onClose}],redundantAttribute:"expr121",selector:"[expr121]"}]),name:"remove-registry-url"},bn={css:'dialogs-menu > .material-dropdown-wrapper,[is="dialogs-menu"] > .material-dropdown-wrapper{ color: var(--primary-text); list-style-type: disc; margin-block-start: 0.7em; } dialogs-menu material-dropdown .material-dropdown-container,[is="dialogs-menu"] material-dropdown .material-dropdown-container,dialogs-menu material-dropdown .material-dropdown-container .material-dropdown-item,[is="dialogs-menu"] material-dropdown .material-dropdown-container .material-dropdown-item{ background-color: var(--background); color: var(--primary-text); } dialogs-menu material-dropdown .material-dropdown-container .material-dropdown-item:hover,[is="dialogs-menu"] material-dropdown .material-dropdown-container .material-dropdown-item:hover{ background-color: rgba(0, 0, 0, 0.12); } dialogs-menu .material-dropdown-wrapper material-dropdown .material-dropdown-container,[is="dialogs-menu"] .material-dropdown-wrapper material-dropdown .material-dropdown-container{ right: 0; top: 2em; } dialogs-menu .overlay,[is="dialogs-menu"] .overlay{ position: fixed; height: 100%; width: 100%; top: 0; right: 0; z-index: 10; } dialogs-menu material-button button,[is="dialogs-menu"] material-button button{ float: right; z-index: 2; } dialogs-menu material-button .content i.material-icons,[is="dialogs-menu"] material-button .content i.material-icons{ font-size: 24px; } dialogs-menu material-popup *,[is="dialogs-menu"] material-popup *{ line-height: 1em; } dialogs-menu material-popup material-button .content,[is="dialogs-menu"] material-popup material-button .content{ line-height: 36px; }',exports:{components:{AddRegistryUrl:fn,ChangeRegistryUrl:yn,RemoveRegistryUrl:xn},dropdownItems:[{title:"Add URL",name:"add-registry-url",ro:!1},{title:"Change URL",name:"change-registry-url",ro:!0},{title:"Remove URL",name:"remove-registry-url",ro:!1}],onDropdownSelect(e){this.update({[e.target.item]:!0,isDropdownOpened:!1})},onClose(e){return()=>{this.update({[e]:!1,isDropdownOpened:!1})}},onClick(){this.update({isDropdownOpened:!this.state.isDropdownOpened})}},template:(e,t,r,a)=>e('
',[{type:r.IF,evaluate:e=>!e.props.readOnlyRegistries,redundantAttribute:"expr66",selector:"[expr66]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"add-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["add-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("add-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"change-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["change-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("change-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}],redundantAttribute:"expr67",selector:"[expr67]"},{type:r.IF,evaluate:e=>!e.props.readOnlyRegistries,redundantAttribute:"expr68",selector:"[expr68]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"remove-registry-url",slots:[],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state["remove-registry-url"]},{type:t.EVENT,name:"on-close",evaluate:e=>e.onClose("remove-registry-url")},{type:t.EVENT,name:"on-notify",evaluate:e=>e.props.onNotify},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.props.onServerChange}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:'more_vert',bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.onClick}],redundantAttribute:"expr69",selector:"[expr69]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-dropdown",slots:[],attributes:[{type:t.ATTRIBUTE,name:"items",evaluate:e=>e.dropdownItems.filter((t=>t.ro||!e.props.readOnlyRegistries))},{type:t.EVENT,name:"on-click",evaluate:e=>e.onDropdownSelect},{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.isDropdownOpened}],redundantAttribute:"expr70",selector:"[expr70]"},{type:r.IF,evaluate:e=>e.state.isDropdownOpened,redundantAttribute:"expr71",selector:"[expr71]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]}])}]),name:"dialogs-menu"},Tn={css:'error-page,[is="error-page"]{ display: flex; flex-direction: row; margin: 20px 3em; } error-page .content,[is="error-page"] .content{ margin: auto; text-align: center; } error-page .content a,[is="error-page"] .content a{ color: var(--accent-text); } error-page .content a:visited,[is="error-page"] .content a:visited{ color: var(--accent-text); } error-page .content p span,[is="error-page"] .content p span{ color: var(--accent-text); font-weight: 700; } error-page .content h2,[is="error-page"] .content h2{ font-weight: 700; } error-page pre,[is="error-page"] pre,error-page code,[is="error-page"] code{ background-color: var(--hover-background); font-family: \'Roboto Mono\', monospace !important; text-align: left; border-radius: 5px; } error-page code,[is="error-page"] code{ padding: 0 0.5em; } error-page pre,[is="error-page"] pre{ padding: 0.5em; } error-page pre .keyword,[is="error-page"] pre .keyword{ color: var(--accent-text); }',exports:{getStatusCode(){const{props:e}=this;switch(e.code){case"CATALOG_NOT_FOUND":return"404";case"PAGINATION_NUMBER_INVALID":return"400"}},URL:window.URL},template:(e,t,r,a)=>e('

',[{type:r.IF,evaluate:e=>e.getStatusCode(),redundantAttribute:"expr20",selector:"[expr20]",template:e(" ",[{expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.getStatusCode()}]}])},{redundantAttribute:"expr21",selector:"[expr21]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.code}]},{type:r.IF,evaluate:e=>"CATALOG_NOT_FOUND"===e.props.code,redundantAttribute:"expr22",selector:"[expr22]",template:e('

We received a 404 status code from your registry.

The contact point was

\n This may be caused by a misconfiguration of Docker Registry UI. Check the\n FAQ and\n Available options

',[{redundantAttribute:"expr23",selector:"[expr23]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.url},{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.props.url}]}])},{type:r.IF,evaluate:e=>"MIXED_CONTENT"===e.props.code,redundantAttribute:"expr24",selector:"[expr24]",template:e('

Mixed Content: The page at ` `\n was loaded over HTTPS, but requested an insecure server endpoint ` `.\n

This request may has been blocked; the content must be served over HTTPS.

\n You may unset the option `REGISTRY_URL` and set the registry server container URL in\n `NGINX_PROXY_PASS_URL`. It\'s usually the name of your container, and it should be on the shame\n network as the UI.\n

You can check the issue #277.

',[{redundantAttribute:"expr25",selector:"[expr25]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>window.location.origin},{type:t.ATTRIBUTE,name:"href",evaluate:e=>window.location.origin}]},{redundantAttribute:"expr26",selector:"[expr26]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>new e.URL(e.props.url).origin},{type:t.ATTRIBUTE,name:"href",evaluate:e=>new e.URL(e.props.url).origin}]}])},{type:r.IF,evaluate:e=>"INCORRECT_URL"===e.props.code,redundantAttribute:"expr27",selector:"[expr27]",template:e('

',[{redundantAttribute:"expr28",selector:"[expr28]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["`",e.props.url,"` does not seems to be a correct URL, should starts with http:// or https://."].join("")}]}])},{type:r.IF,evaluate:e=>"PAGINATION_NUMBER_INVALID"===e.props.code,redundantAttribute:"expr29",selector:"[expr29]",template:e('

\n A default limit of 1000 images in catalog has been added in docker registry server\n v2.8.2 (May 11, 2023) and we\n cannot exceed this value without configuration.\n

\n The new default value for the UI is 1000 since\n 2.5.0 and was 100000 from\n 0.3.6.\n

Possible fixes

\n You can update the environment variable\n of your\n docker registry server or you can update your\n /etc/docker/registry/config.yml configuration of your docker registry server and add\n those lines:\n

\ncatalog:\n  maxentries:  \n

\n If you don\'t need that many images, you can reduce the number of elements fetch by the\n docker registry UI with the environment variable CATALOG_ELEMENTS_LIMIT=1000.\n

\n More about this issue:\n Joxit/docker-registry-ui#306.\n

',[{redundantAttribute:"expr30",selector:"[expr30]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["REGISTRY_CATALOG_MAXENTRIES=",e.props.detail?.n||1e5].join("")}]},{redundantAttribute:"expr31",selector:"[expr31]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.props.detail?.n||1e5}]}])},{type:r.IF,evaluate:e=>"CATALOG_BRANCHING_CONFIGURATION"===e.props.code,redundantAttribute:"expr32",selector:"[expr32]",template:e('

Configuration environment variables are : CATALOG_MIN_BRANCH and CATALOG_MAX_BRANCH

',[{redundantAttribute:"expr33",selector:"[expr33]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Wrong configuration for the branching feature: ",e.props.message].join("")}]}])}]),name:"error-page"};const An="version-notification:latest",En="version-notification:expiration-date";var wn,Cn={css:'version-notification,[is="version-notification"]{ display: inline; } version-notification svg,[is="version-notification"] svg{ margin-left: 10px; cursor: pointer; } version-notification material-popup material-button > a:first-child,[is="version-notification"] material-popup material-button > a:first-child{ display: flex; align-items: center; } version-notification material-popup .material-popup-content code,[is="version-notification"] material-popup .material-popup-content code{ background-color: var(--hover-background); padding: 0 5px; border-radius: 4px; line-height: 1.5em; } version-notification material-popup .material-popup-content b,[is="version-notification"] material-popup .material-popup-content b{ color: var(--accent-text); }',exports:{onMounted(e,t){const r=la(localStorage.getItem(An)),a=parseInt(localStorage.getItem(En));r&&r.tag_name&&this.update({tag_name:r.tag_name,latest:r}),(!r||isNaN(a)||(new Date).getTime()>a)&&this.checkForUpdates(e,t)},onUpdated(e,t){const r=this.$("span");r&&(r.innerHTML=(new DOMParser).parseFromString('\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n',"image/svg+xml").firstElementChild.outerHTML)},onClose(){this.update({open:!1})},onClick(){this.update({open:!0})},checkForUpdates(e,t){const r=new va,a=this;r.addEventListener("load",(function(){if(200===this.status){const t=la(this.responseText);t&&a.tag_name!==t.tag_name&&!sa(e.version,t.tag_name)&&e.onNotify("A new version of Docker Registry UI is available!"),localStorage.setItem(An,this.responseText),localStorage.setItem(En,(new Date).getTime()+864e5),a.update({tag_name:t.tag_name,latest:t})}else e.onNotify("Cannot check for new updates. See the browser console."),console.error(`Got status code ${this.status} from Github API with response ${this.responseText}`)})),r.open("GET","https://api.github.com/repos/joxit/docker-registry-ui/releases/latest"),r.send()},isNewestVersion:sa},template:(e,t,r,a)=>e('',[{type:r.IF,evaluate:e=>e.state.tag_name&&!e.isNewestVersion(e.props.version,e.state.tag_name),redundantAttribute:"expr34",selector:"[expr34]",template:e(null,[{expressions:[{type:t.EVENT,name:"onclick",evaluate:e=>e.onClick}]}])},{type:r.TAG,getComponent:a,evaluate:e=>"material-popup",slots:[{id:"default",html:'
Check for updates

The version of Docker Regisrty UI now available.

You can download the lastest version with docker.

',bindings:[{redundantAttribute:"expr36",selector:"[expr36]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>e.state.tag_name}]},{redundantAttribute:"expr37",selector:"[expr37]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["joxit/docker-registry-ui:",e.state.tag_name].join("")}]},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Release Note\n ",bindings:[]}],attributes:[{type:t.ATTRIBUTE,name:"href",evaluate:e=>e.state.latest&&e.state.latest.html_url}],redundantAttribute:"expr38",selector:"[expr38]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-button",slots:[{id:"default",html:"\n Close\n ",bindings:[]}],attributes:[{type:t.EVENT,name:"onClick",evaluate:e=>e.onClose}],redundantAttribute:"expr39",selector:"[expr39]"}]}],attributes:[{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.open},{type:t.EVENT,name:"onClick",evaluate:e=>e.onClose}],redundantAttribute:"expr35",selector:"[expr35]"}]),name:"version-notification"},In={"primary-text":"#25313b","neutral-text":"#777",background:"#fff","hover-background":"#eee","accent-text":"#6680a1","header-text":"#fff","header-background":"#25313b","footer-text":"#fff","footer-neutral-text":"#999","footer-background":"#555"},kn={"primary-text":"#8A9EBA","neutral-text":"#36527A",background:"#22272e","hover-background":"#30404D","accent-text":"#5684FF","header-text":"#fff","header-background":"#333A45","footer-text":"#fff","footer-neutral-text":"#999","footer-background":"#555"},Rn="registryUiTheme",Nn=function(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase().replace(/^theme-/,"")},Un=function(e,t){var r=function(e){var t=e.theme;if("auto"===t||""===t)switch(localStorage.getItem(Rn)){case"dark":return!0;case"light":return!1;default:if("function"==typeof window.matchMedia){var r=window.matchMedia("(prefers-color-scheme: dark)");return r&&r.matches}}return"dark"===t}(e);wn=S({},r?kn:In),Object.entries(e).filter((function(e){var t=K(e,2),r=t[0];return t[1]&&/^theme[A-Z]/.test(r)})).map((function(e){var t=K(e,2),r=t[0],a=t[1];return[Nn(r),a]})).forEach((function(e){var t=K(e,2),r=t[0],a=t[1];return wn[r]=a})),Object.entries(wn).forEach((function(e){var r=K(e,2),a=r[0],n=r[1];return t.setProperty("--".concat(a),n)}));var a=r?"dark":"light";return localStorage.setItem(Rn,a),a},Bn={css:'docker-registry-ui material-navbar,[is="docker-registry-ui"] material-navbar{ height: 64px; color: var(--header-text); background-color: var(--header-background); } docker-registry-ui material-navbar .menu,[is="docker-registry-ui"] material-navbar .menu{ display: flex; } docker-registry-ui material-navbar .nav-wrapper .menu,[is="docker-registry-ui"] material-navbar .nav-wrapper .menu{ flex-shrink: 1; } docker-registry-ui material-navbar .nav-wrapper .logo,[is="docker-registry-ui"] material-navbar .nav-wrapper .logo{ display: flex; align-items: center; flex-direction: row; } docker-registry-ui material-footer,[is="docker-registry-ui"] material-footer{ color: var(--footer-neutral-text); background-color: var(--footer-background); } docker-registry-ui material-footer .material-footer-logo,[is="docker-registry-ui"] material-footer .material-footer-logo{ color: var(--footer-text); } docker-registry-ui material-switch i,[is="docker-registry-ui"] material-switch i{ user-select: none; }',exports:{components:{Catalog:Na,TagList:un,TagHistory:vn,DialogsMenu:bn,SearchBar:Aa,Router:Xr,Route:mr,ErrorPage:Tn,VersionNotification:Cn},onUpdated(e,t){t.snackbarIsError=!1,t.snackbarMessage=void 0},onBeforeMount(e){(e.defaultRegistries&&e.defaultRegistries.length>0&&0===ta().length||oa(e.readOnlyRegistries))&&ra(e.defaultRegistries),window.onselectstart=e=>{if(e.target&&e.target.className&&"function"==typeof e.target.className.indexOf)return!["checkbox","checkmark","remove-tag"].find((t=>e.target.className.indexOf(t)>=0))};const t=e.registryUrl||("true"===e.singleRegistry?void 0:ma.getUrlQueryParam()||ta(0))||window.location.origin+window.location.pathname.replace(/\/+$/,"");this.state.registryUrl=t.replace(/\/$/,"").replace(/index(\.html?)?$/,""),this.state.name=e.name||Qr(e.registryUrl),this.state.catalogElementsLimit=e.catalogElementsLimit||1e3,this.state.pullUrl=this.pullUrl(this.state.registryUrl,e.pullUrl),this.state.useControlCacheHeader=e.useControlCacheHeader;const r=Un(e,this.root.parentNode.style);this.state.themeSwitch="dark"===r},onServerChange(e){this.update({registryUrl:e,name:Qr(e),pullUrl:this.pullUrl(e),snackbarMessage:"Registry server changed to `"+e+"`."})},onAuthentication(e,t){if(e&&e.realm&&e.service&&e.scope){const{realm:r,service:a,scope:n}=e,o=new XMLHttpRequest;o.addEventListener("loadend",(()=>{try{const e=JSON.parse(o.responseText);t(e)}catch(e){this.notifySnackbar(`Failed to log in: ${e.message}`,!0)}})),o.withCredentials=!0,o.open("GET",`${r}?service=${a}&scope=${n}`),o.send()}else t()},onAuthenticationClose(){this.update({authenticationDialogOpened:!1})},pullUrl:(e,t)=>Qr(t||e&&e.length>0&&e||window.location.host),notifySnackbar(e,t){"string"==typeof e?this.update({snackbarMessage:e,snackbarIsError:t||!1}):e&&(e.code||e.errors)?(this.update({pageError:e}),setTimeout((()=>delete this.state.pageError),1e3)):e&&e.message&&this.update({snackbarMessage:e.message,snackbarIsError:e.isError})},onSearch(e){this.update({filter:e})},onThemeChange(e){const t=e.target.checked?"dark":"light";Un({...this.props,theme:t},this.root.parentNode.style),this.update({themeSwitch:e.target.checked})},baseRoute:"([^#]*?)/(\\?[^#]*?)?(#!)?(/?)",router:ma,version:"2.5.0",truthy:oa,stringToArray:function(e){return e&&"string"==typeof e?e.split(","):[]}},template:(e,t,r,a)=>e('
',[{type:r.TAG,getComponent:a,evaluate:e=>"material-navbar",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"version-notification",slots:[],attributes:[{type:t.ATTRIBUTE,name:"version",evaluate:e=>e.version},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar}],redundantAttribute:"expr1",selector:"[expr1]"},{type:r.TAG,getComponent:a,evaluate:e=>"search-bar",slots:[],attributes:[{type:t.EVENT,name:"on-search",evaluate:e=>e.onSearch}],redundantAttribute:"expr2",selector:"[expr2]"},{type:r.IF,evaluate:e=>"true"!==e.props.singleRegistry,redundantAttribute:"expr3",selector:"[expr3]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"dialogs-menu",slots:[],attributes:[{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.EVENT,name:"on-server-change",evaluate:e=>e.onServerChange},{type:t.ATTRIBUTE,name:"default-registries",evaluate:e=>e.props.defaultRegistries},{type:t.ATTRIBUTE,name:"read-only-registries",evaluate:e=>e.truthy(e.props.readOnlyRegistries)}]}])}]}],attributes:[],redundantAttribute:"expr0",selector:"[expr0]"},{type:r.IF,evaluate:e=>e.state.pageError&&!Array.isArray(e.state.pageError.errors),redundantAttribute:"expr4",selector:"[expr4]",template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"error-page",slots:[],attributes:[{type:t.ATTRIBUTE,name:"code",evaluate:e=>e.state.pageError.code},{type:t.ATTRIBUTE,name:"status",evaluate:e=>e.state.pageError.status},{type:t.ATTRIBUTE,name:"message",evaluate:e=>e.state.pageError.message},{type:t.ATTRIBUTE,name:"url",evaluate:e=>e.state.pageError.url}]}])},{type:r.EACH,getKey:null,condition:e=>e.state.pageError&&Array.isArray(e.state.pageError.errors),template:e(null,[{type:r.TAG,getComponent:a,evaluate:e=>"error-page",slots:[],attributes:[{type:t.ATTRIBUTE,name:"code",evaluate:e=>e.error.code},{type:t.ATTRIBUTE,name:"detail",evaluate:e=>e.error.detail},{type:t.ATTRIBUTE,name:"message",evaluate:e=>e.error.message},{type:t.ATTRIBUTE,name:"url",evaluate:e=>e.state.pageError.url}]}]),redundantAttribute:"expr5",selector:"[expr5]",itemName:"error",indexName:null,evaluate:e=>e.state.pageError&&e.state.pageError.errors},{type:r.TAG,getComponent:a,evaluate:e=>"router",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"catalog",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"catalog-elements-limit",evaluate:e=>e.state.catalogElementsLimit},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.state.filter},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"show-catalog-nb-tags",evaluate:e=>e.truthy(e.props.showCatalogNbTags)},{type:t.ATTRIBUTE,name:"catalog-default-expanded",evaluate:e=>e.truthy(e.props.catalogDefaultExpanded)},{type:t.ATTRIBUTE,name:"catalog-min-branches",evaluate:e=>e.props.catalogMinBranches},{type:t.ATTRIBUTE,name:"catalog-max-branches",evaluate:e=>e.props.catalogMaxBranches},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.truthy(e.props.isRegistrySecured)}],redundantAttribute:"expr8",selector:"[expr8]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>e.baseRoute}],redundantAttribute:"expr7",selector:"[expr7]"},{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"tag-list",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.state.pullUrl},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.router.getTagListImage()},{type:t.ATTRIBUTE,name:"show-content-digest",evaluate:e=>e.truthy(e.props.showContentDigest)},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.truthy(e.props.isImageRemoveActivated)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.ATTRIBUTE,name:"filter-results",evaluate:e=>e.state.filter},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"use-control-cache-header",evaluate:e=>e.truthy(e.props.useControlCacheHeader)},{type:t.ATTRIBUTE,name:"taglist-order",evaluate:e=>e.props.taglistOrder},{type:t.ATTRIBUTE,name:"tags-per-page",evaluate:e=>e.props.tagsPerPage},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.truthy(e.props.isRegistrySecured)}],redundantAttribute:"expr10",selector:"[expr10]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>[e.baseRoute,"taglist/(.*)"].join("")}],redundantAttribute:"expr9",selector:"[expr9]"},{type:r.TAG,getComponent:a,evaluate:e=>"route",slots:[{id:"default",html:'',bindings:[{type:r.TAG,getComponent:a,evaluate:e=>"tag-history",slots:[],attributes:[{type:t.ATTRIBUTE,name:"registry-url",evaluate:e=>e.state.registryUrl},{type:t.ATTRIBUTE,name:"registry-name",evaluate:e=>e.state.name},{type:t.ATTRIBUTE,name:"pull-url",evaluate:e=>e.state.pullUrl},{type:t.ATTRIBUTE,name:"image",evaluate:e=>e.router.getTagHistoryImage()},{type:t.ATTRIBUTE,name:"tag",evaluate:e=>e.router.getTagHistoryTag()},{type:t.ATTRIBUTE,name:"is-image-remove-activated",evaluate:e=>e.truthy(e.props.isImageRemoveActivated)},{type:t.EVENT,name:"on-notify",evaluate:e=>e.notifySnackbar},{type:t.EVENT,name:"on-authentication",evaluate:e=>e.onAuthentication},{type:t.ATTRIBUTE,name:"history-custom-labels",evaluate:e=>e.stringToArray(e.props.historyCustomLabels)},{type:t.ATTRIBUTE,name:"use-control-cache-header",evaluate:e=>e.truthy(e.props.useControlCacheHeader)},{type:t.ATTRIBUTE,name:"is-registry-secured",evaluate:e=>e.truthy(e.props.isRegistrySecured)}],redundantAttribute:"expr12",selector:"[expr12]"}]}],attributes:[{type:t.ATTRIBUTE,name:"path",evaluate:e=>[e.baseRoute,"taghistory/(.*)"].join("")}],redundantAttribute:"expr11",selector:"[expr11]"}]}],attributes:[],redundantAttribute:"expr6",selector:"[expr6]"},{type:r.TAG,getComponent:a,evaluate:e=>"registry-authentication",slots:[],attributes:[{type:t.ATTRIBUTE,name:"realm",evaluate:e=>e.state.realm},{type:t.ATTRIBUTE,name:"scope",evaluate:e=>e.state.scope},{type:t.ATTRIBUTE,name:"service",evaluate:e=>e.state.service},{type:t.EVENT,name:"on-close",evaluate:e=>e.onAuthenticationClose},{type:t.EVENT,name:"on-authenticated",evaluate:e=>e.state.onAuthenticated},{type:t.ATTRIBUTE,name:"opened",evaluate:e=>e.state.authenticationDialogOpened}],redundantAttribute:"expr13",selector:"[expr13]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-snackbar",slots:[],attributes:[{type:t.ATTRIBUTE,name:"message",evaluate:e=>e.state.snackbarMessage},{type:t.ATTRIBUTE,name:"is-error",evaluate:e=>e.state.snackbarIsError}],redundantAttribute:"expr14",selector:"[expr14]"},{type:r.TAG,getComponent:a,evaluate:e=>"material-footer",slots:[{id:"default",html:'',bindings:[{redundantAttribute:"expr16",selector:"[expr16]",expressions:[{type:t.TEXT,childNodeIndex:0,evaluate:e=>["Docker Registry UI ",e.version].join("")}]},{type:r.IF,evaluate:e=>"auto"===e.props.theme||""===e.props.theme,redundantAttribute:"expr17",selector:"[expr17]",template:e('',[{type:r.TAG,getComponent:a,evaluate:e=>"material-switch",slots:[{id:"thumb-icon",html:'wb_sunny',bindings:[]},{id:"thumb-selected-icon",html:'\n brightness_2\n ',bindings:[]}],attributes:[{type:t.EVENT,name:"on-change",evaluate:e=>e.onThemeChange},{type:t.ATTRIBUTE,name:"checked",evaluate:e=>e.state.themeSwitch}],redundantAttribute:"expr18",selector:"[expr18]"}])}]}],attributes:[],redundantAttribute:"expr15",selector:"[expr15]"}]),name:"docker-registry-ui"};bt("material-card",{css:null,exports:null,template:(e,t,r,a)=>e('',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr136",selector:"[expr136]"}]),name:"material-card"}),bt("material-footer",{css:null,exports:{},template:(e,t,r,a)=>e('
',[{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr147",selector:"[expr147]"}]),name:"material-footer"}),bt("material-navbar",{css:null,exports:null,template:(e,t,r,a)=>e('',[{expressions:[{type:t.ATTRIBUTE,name:"role",evaluate:e=>"toolbar"}]},{type:r.SLOT,attributes:[],name:"default",redundantAttribute:"expr155",selector:"[expr155]"}]),name:"material-navbar"}),bt("material-spinner",{css:null,exports:null,template:(e,t,r,a)=>e('',[{redundantAttribute:"expr161",selector:"[expr161]",expressions:[{type:t.ATTRIBUTE,name:"stroke-width",evaluate:e=>e.props.strokeWidth||3}]}]),name:"material-spinner"}),bt("material-button",Rt),bt("material-waves",Et),bt("material-checkbox",Nt),bt("material-snackbar",Lt),bt("material-tabs",Mt),bt("material-dropdown",Ut),bt("material-popup",Dt),bt("material-input",St),bt("material-switch",jt);for(var On,Sn=(On=Bn,function(e,t,r){var a=void 0===r?{}:r,n=a.slots,o=a.attributes,i=a.parentScope;return function(){for(var e=arguments.length,t=new Array(e),r=0;r \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 92861ec..99f463b 100644 --- a/dist/index.html +++ b/dist/index.html @@ -26,6 +26,11 @@ show-catalog-nb-tags="${SHOW_CATALOG_NB_TAGS}" history-custom-labels="${HISTORY_CUSTOM_LABELS}" use-control-cache-header="${USE_CONTROL_CACHE_HEADER}" + taglist-order="${TAGLIST_ORDER}" + catalog-default-expanded="${CATALOG_DEFAULT_EXPANDED}" + catalog-min-branches="${CATALOG_MIN_BRANCHES}" + catalog-max-branches="${CATALOG_MAX_BRANCHES}" + is-registry-secured="${REGISTRY_SECURED}" theme="${THEME}" theme-primary-text="${THEME_PRIMARY_TEXT}" theme-neutral-text="${THEME_NEUTRAL_TEXT}" @@ -37,4 +42,5 @@ theme-footer-text="${THEME_FOOTER_TEXT}" theme-footer-neutra-text="${THEME_FOOTER_NEUTRAL_TEXT}" theme-footer-background="${THEME_FOOTER_BACKGROUND}" + tags-per-page="${TAGLIST_PAGE_SIZE}" > \ No newline at end of file diff --git a/package.json b/package.json index e002059..8c91932 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "docker-registry-ui", - "version": "2.4.1", + "version": "2.5.0", "type": "module", "scripts": { "format": "npm run format-html && npm run format-js && npm run format-riot",