diff --git a/devenv/package.json b/devenv/package.json new file mode 100644 index 00000000..687dc3f9 --- /dev/null +++ b/devenv/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "sass": "^1.69.4" + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 51e9f666..baa3b7e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,6 +11,8 @@ services: DATABUS_DATABASE_URL: "http://gstore:8080" DATABUS_OIDC_ISSUER_BASE_URL: ${DATABUS_OIDC_ISSUER_BASE_URL} DATABUS_NAME: ${DATABUS_NAME} + DATABUS_ORG_ICON: ${DATABUS_ORG_ICON} + DATABUS_BANNER_COLOR: ${DATABUS_BANNER_COLOR} DATABUS_OIDC_CLIENT_ID: ${DATABUS_OIDC_CLIENT_ID} DATABUS_OIDC_SECRET: ${DATABUS_OIDC_SECRET} DATABUS_PRIVATE_MODE: ${DATABUS_PRIVATE_MODE} # Private mode will only show metadata for logged-in users diff --git a/public/css/_collections.scss b/public/css/_collections.scss index ff7359ad..7856424b 100644 --- a/public/css/_collections.scss +++ b/public/css/_collections.scss @@ -233,6 +233,22 @@ padding-left: 1.5em; padding-right:1.5em; cursor: pointer; + + border-top: 1px solid rgba(0, 0, 0, 0); + border-left: 1px solid rgba(0, 0, 0, 0); + border-right: 1px solid rgba(0, 0, 0, 0); +} + +.collection-editor-tab svg { + fill: #999 !important; +} + +.collection-editor-tab:hover svg { + fill: #777 !important; +} + +.collection-editor-tab:hover .section-label { + color: #777 !important; } .collection-editor-tab.is-active { diff --git a/public/css/website.css b/public/css/website.css index 3c96a074..5d695294 100644 --- a/public/css/website.css +++ b/public/css/website.css @@ -222,6 +222,21 @@ padding-left: 1.5em; padding-right: 1.5em; cursor: pointer; + border-top: 1px solid rgba(0, 0, 0, 0); + border-left: 1px solid rgba(0, 0, 0, 0); + border-right: 1px solid rgba(0, 0, 0, 0); +} + +.collection-editor-tab svg { + fill: #999 !important; +} + +.collection-editor-tab:hover svg { + fill: #777 !important; +} + +.collection-editor-tab:hover .section-label { + color: #777 !important; } .collection-editor-tab.is-active { @@ -366,7 +381,7 @@ .control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after { animation: spinAround 500ms infinite linear; - border: 2px solid hsl(0deg, 0%, 86%); + border: 2px solid hsl(0, 0%, 86%); border-radius: 290486px; border-right-color: transparent; border-top-color: transparent; @@ -581,7 +596,7 @@ pre { } body { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); font-size: 1em; font-weight: 400; line-height: 1.5; @@ -596,12 +611,12 @@ a strong { color: currentColor; } a:hover { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } code { background-color: #f5f5f5; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); font-size: 0.875em; font-weight: normal; padding: 0.25em 0.5em 0.25em; @@ -635,7 +650,7 @@ span { } strong { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); font-weight: 700; } @@ -646,7 +661,7 @@ fieldset { pre { -webkit-overflow-scrolling: touch; background-color: #f5f5f5; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); font-size: 0.875em; overflow-x: auto; padding: 1.25rem 1.5rem; @@ -669,7 +684,7 @@ table th:not([align]) { text-align: left; } table th { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .is-clearfix::after { @@ -1081,7 +1096,7 @@ a.has-text-white:hover, a.has-text-white:focus { } .has-text-black { - color: hsl(0deg, 0%, 4%) !important; + color: hsl(0, 0%, 4%) !important; } a.has-text-black:hover, a.has-text-black:focus { @@ -1089,11 +1104,11 @@ a.has-text-black:hover, a.has-text-black:focus { } .has-background-black { - background-color: hsl(0deg, 0%, 4%) !important; + background-color: hsl(0, 0%, 4%) !important; } .has-text-light { - color: hsl(0deg, 0%, 96%) !important; + color: hsl(0, 0%, 96%) !important; } a.has-text-light:hover, a.has-text-light:focus { @@ -1101,11 +1116,11 @@ a.has-text-light:hover, a.has-text-light:focus { } .has-background-light { - background-color: hsl(0deg, 0%, 96%) !important; + background-color: hsl(0, 0%, 96%) !important; } .has-text-dark { - color: hsl(0deg, 0%, 21%) !important; + color: hsl(0, 0%, 21%) !important; } a.has-text-dark:hover, a.has-text-dark:focus { @@ -1113,7 +1128,7 @@ a.has-text-dark:hover, a.has-text-dark:focus { } .has-background-dark { - background-color: hsl(0deg, 0%, 21%) !important; + background-color: hsl(0, 0%, 21%) !important; } .has-text-primary { @@ -1141,7 +1156,7 @@ a.has-text-link:hover, a.has-text-link:focus { } .has-text-info { - color: hsl(204deg, 86%, 53%) !important; + color: hsl(204, 86%, 53%) !important; } a.has-text-info:hover, a.has-text-info:focus { @@ -1149,11 +1164,11 @@ a.has-text-info:hover, a.has-text-info:focus { } .has-background-info { - background-color: hsl(204deg, 86%, 53%) !important; + background-color: hsl(204, 86%, 53%) !important; } .has-text-success { - color: hsl(141deg, 71%, 48%) !important; + color: hsl(141, 71%, 48%) !important; } a.has-text-success:hover, a.has-text-success:focus { @@ -1161,11 +1176,11 @@ a.has-text-success:hover, a.has-text-success:focus { } .has-background-success { - background-color: hsl(141deg, 71%, 48%) !important; + background-color: hsl(141, 71%, 48%) !important; } .has-text-warning { - color: hsl(48deg, 100%, 67%) !important; + color: hsl(48, 100%, 67%) !important; } a.has-text-warning:hover, a.has-text-warning:focus { @@ -1173,11 +1188,11 @@ a.has-text-warning:hover, a.has-text-warning:focus { } .has-background-warning { - background-color: hsl(48deg, 100%, 67%) !important; + background-color: hsl(48, 100%, 67%) !important; } .has-text-danger { - color: hsl(348deg, 100%, 61%) !important; + color: hsl(348, 100%, 61%) !important; } a.has-text-danger:hover, a.has-text-danger:focus { @@ -1185,47 +1200,47 @@ a.has-text-danger:hover, a.has-text-danger:focus { } .has-background-danger { - background-color: hsl(348deg, 100%, 61%) !important; + background-color: hsl(348, 100%, 61%) !important; } .has-text-black-bis { - color: hsl(0deg, 0%, 7%) !important; + color: hsl(0, 0%, 7%) !important; } .has-background-black-bis { - background-color: hsl(0deg, 0%, 7%) !important; + background-color: hsl(0, 0%, 7%) !important; } .has-text-black-ter { - color: hsl(0deg, 0%, 14%) !important; + color: hsl(0, 0%, 14%) !important; } .has-background-black-ter { - background-color: hsl(0deg, 0%, 14%) !important; + background-color: hsl(0, 0%, 14%) !important; } .has-text-grey-darker { - color: hsl(0deg, 0%, 21%) !important; + color: hsl(0, 0%, 21%) !important; } .has-background-grey-darker { - background-color: hsl(0deg, 0%, 21%) !important; + background-color: hsl(0, 0%, 21%) !important; } .has-text-grey-dark { - color: hsl(0deg, 0%, 29%) !important; + color: hsl(0, 0%, 29%) !important; } .has-background-grey-dark { - background-color: hsl(0deg, 0%, 29%) !important; + background-color: hsl(0, 0%, 29%) !important; } .has-text-grey { - color: hsl(0deg, 0%, 48%) !important; + color: hsl(0, 0%, 48%) !important; } .has-background-grey { - background-color: hsl(0deg, 0%, 48%) !important; + background-color: hsl(0, 0%, 48%) !important; } .has-text-grey-light { @@ -1237,27 +1252,27 @@ a.has-text-danger:hover, a.has-text-danger:focus { } .has-text-grey-lighter { - color: hsl(0deg, 0%, 86%) !important; + color: hsl(0, 0%, 86%) !important; } .has-background-grey-lighter { - background-color: hsl(0deg, 0%, 86%) !important; + background-color: hsl(0, 0%, 86%) !important; } .has-text-white-ter { - color: hsl(0deg, 0%, 96%) !important; + color: hsl(0, 0%, 96%) !important; } .has-background-white-ter { - background-color: hsl(0deg, 0%, 96%) !important; + background-color: hsl(0, 0%, 96%) !important; } .has-text-white-bis { - color: hsl(0deg, 0%, 98%) !important; + color: hsl(0, 0%, 98%) !important; } .has-background-white-bis { - background-color: hsl(0deg, 0%, 98%) !important; + background-color: hsl(0, 0%, 98%) !important; } .has-text-weight-light { @@ -1678,7 +1693,7 @@ a.has-text-danger:hover, a.has-text-danger:focus { background-color: #fff; border-radius: 6px; box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: block; padding: 1.25rem; } @@ -1692,9 +1707,9 @@ a.box:active { .button { background-color: #fff; - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-width: 1px; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); cursor: pointer; justify-content: center; padding-bottom: calc(0.375em - 1px); @@ -1725,32 +1740,32 @@ a.box:active { } .button:hover, .button.is-hovered { border-color: #dbdbdb; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button:focus, .button.is-focused { - border-color: hsl(217deg, 71%, 53%); - color: hsl(0deg, 0%, 21%); + border-color: hsl(217, 71%, 53%); + color: hsl(0, 0%, 21%); } .button:focus:not(:active), .button.is-focused:not(:active) { box-shadow: 0 0 0 0.125em rgba(56, 103, 214, 0.25); } .button:active, .button.is-active { - border-color: hsl(0deg, 0%, 29%); - color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 29%); + color: hsl(0, 0%, 21%); } .button.is-text { background-color: transparent; border-color: transparent; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); text-decoration: underline; } .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused { background-color: #f5f5f5; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-text:active, .button.is-text.is-active { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-text[disabled], fieldset[disabled] .button.is-text { background-color: transparent; @@ -1760,16 +1775,16 @@ a.box:active { .button.is-white { background-color: #fff; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white:hover, .button.is-white.is-hovered { background-color: #f9f9f9; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white:focus, .button.is-white.is-focused { border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) { box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); @@ -1777,7 +1792,7 @@ a.box:active { .button.is-white:active, .button.is-white.is-active { background-color: #f2f2f2; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white[disabled], fieldset[disabled] .button.is-white { background-color: #fff; @@ -1785,20 +1800,20 @@ a.box:active { box-shadow: none; } .button.is-white.is-inverted { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered { background-color: black; } .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); border-color: transparent; box-shadow: none; color: #fff; } .button.is-white.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 4%) hsl(0deg, 0%, 4%) !important; + border-color: transparent transparent hsl(0, 0%, 4%) hsl(0, 0%, 4%) !important; } .button.is-white.is-outlined { background-color: transparent; @@ -1808,13 +1823,13 @@ a.box:active { .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused { background-color: #fff; border-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white.is-outlined.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 4%) hsl(0deg, 0%, 4%) !important; + border-color: transparent transparent hsl(0, 0%, 4%) hsl(0, 0%, 4%) !important; } .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined { background-color: transparent; @@ -1824,11 +1839,11 @@ a.box:active { } .button.is-white.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 4%); - color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after { @@ -1836,12 +1851,12 @@ a.box:active { } .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); box-shadow: none; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); border-color: transparent; color: #fff; } @@ -1863,13 +1878,13 @@ a.box:active { color: #fff; } .button.is-black[disabled], fieldset[disabled] .button.is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); border-color: transparent; box-shadow: none; } .button.is-black.is-inverted { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered { background-color: #f2f2f2; @@ -1878,32 +1893,32 @@ a.box:active { background-color: #fff; border-color: transparent; box-shadow: none; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-black.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 4%); - color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 4%); - border-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); + border-color: hsl(0, 0%, 4%); color: #fff; } .button.is-black.is-outlined.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 4%) hsl(0deg, 0%, 4%) !important; + border-color: transparent transparent hsl(0, 0%, 4%) hsl(0, 0%, 4%) !important; } .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after { border-color: transparent transparent #fff #fff !important; } .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); box-shadow: none; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black.is-inverted.is-outlined { background-color: transparent; @@ -1912,10 +1927,10 @@ a.box:active { } .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 4%) hsl(0deg, 0%, 4%) !important; + border-color: transparent transparent hsl(0, 0%, 4%) hsl(0, 0%, 4%) !important; } .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined { background-color: transparent; @@ -1924,18 +1939,18 @@ a.box:active { color: #fff; } .button.is-light { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-light:hover, .button.is-light.is-hovered { background-color: #eeeeee; border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-light:focus, .button.is-light.is-focused { border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) { box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); @@ -1943,82 +1958,82 @@ a.box:active { .button.is-light:active, .button.is-light.is-active { background-color: #e8e8e8; border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-light[disabled], fieldset[disabled] .button.is-light { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); border-color: transparent; box-shadow: none; } .button.is-light.is-inverted { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered { background-color: #292929; } .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); border-color: transparent; box-shadow: none; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-light.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important; + border-color: transparent transparent hsl(0, 0%, 21%) hsl(0, 0%, 21%) !important; } .button.is-light.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 96%); - border-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + border-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .button.is-light.is-outlined.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important; + border-color: transparent transparent hsl(0, 0%, 96%) hsl(0, 0%, 96%) !important; } .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important; + border-color: transparent transparent hsl(0, 0%, 21%) hsl(0, 0%, 21%) !important; } .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); box-shadow: none; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-light.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important; + border-color: transparent transparent hsl(0, 0%, 96%) hsl(0, 0%, 96%) !important; } .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); box-shadow: none; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-dark { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-dark:hover, .button.is-dark.is-hovered { background-color: #2f2f2f; border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-dark:focus, .button.is-dark.is-focused { border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) { box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); @@ -2026,68 +2041,68 @@ a.box:active { .button.is-dark:active, .button.is-dark.is-active { background-color: #292929; border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-dark[disabled], fieldset[disabled] .button.is-dark { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); border-color: transparent; box-shadow: none; } .button.is-dark.is-inverted { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered { background-color: #e8e8e8; } .button.is-dark.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); border-color: transparent; box-shadow: none; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-dark.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important; + border-color: transparent transparent hsl(0, 0%, 96%) hsl(0, 0%, 96%) !important; } .button.is-dark.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 21%); - border-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + border-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .button.is-dark.is-outlined.is-loading::after { - border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important; + border-color: transparent transparent hsl(0, 0%, 21%) hsl(0, 0%, 21%) !important; } .button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 96%) hsl(0deg, 0%, 96%) !important; + border-color: transparent transparent hsl(0, 0%, 96%) hsl(0, 0%, 96%) !important; } .button.is-dark.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); box-shadow: none; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .button.is-dark.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(0deg, 0%, 21%) hsl(0deg, 0%, 21%) !important; + border-color: transparent transparent hsl(0, 0%, 21%) hsl(0, 0%, 21%) !important; } .button.is-dark.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined { background-color: transparent; - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); box-shadow: none; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .button.is-primary { background-color: #65bdb2; @@ -2256,7 +2271,7 @@ a.box:active { color: #fff; } .button.is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); border-color: transparent; color: #fff; } @@ -2278,13 +2293,13 @@ a.box:active { color: #fff; } .button.is-info[disabled], fieldset[disabled] .button.is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); border-color: transparent; box-shadow: none; } .button.is-info.is-inverted { background-color: #fff; - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered { background-color: #f2f2f2; @@ -2293,32 +2308,32 @@ a.box:active { background-color: #fff; border-color: transparent; box-shadow: none; - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .button.is-info.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-info.is-outlined { background-color: transparent; - border-color: hsl(204deg, 86%, 53%); - color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); + color: hsl(204, 86%, 53%); } .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused { - background-color: hsl(204deg, 86%, 53%); - border-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); + border-color: hsl(204, 86%, 53%); color: #fff; } .button.is-info.is-outlined.is-loading::after { - border-color: transparent transparent hsl(204deg, 86%, 53%) hsl(204deg, 86%, 53%) !important; + border-color: transparent transparent hsl(204, 86%, 53%) hsl(204, 86%, 53%) !important; } .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after { border-color: transparent transparent #fff #fff !important; } .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined { background-color: transparent; - border-color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); box-shadow: none; - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .button.is-info.is-inverted.is-outlined { background-color: transparent; @@ -2327,10 +2342,10 @@ a.box:active { } .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused { background-color: #fff; - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(204deg, 86%, 53%) hsl(204deg, 86%, 53%) !important; + border-color: transparent transparent hsl(204, 86%, 53%) hsl(204, 86%, 53%) !important; } .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined { background-color: transparent; @@ -2339,7 +2354,7 @@ a.box:active { color: #fff; } .button.is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); border-color: transparent; color: #fff; } @@ -2361,13 +2376,13 @@ a.box:active { color: #fff; } .button.is-success[disabled], fieldset[disabled] .button.is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); border-color: transparent; box-shadow: none; } .button.is-success.is-inverted { background-color: #fff; - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered { background-color: #f2f2f2; @@ -2376,32 +2391,32 @@ a.box:active { background-color: #fff; border-color: transparent; box-shadow: none; - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .button.is-success.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-success.is-outlined { background-color: transparent; - border-color: hsl(141deg, 71%, 48%); - color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); + color: hsl(141, 71%, 48%); } .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused { - background-color: hsl(141deg, 71%, 48%); - border-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); + border-color: hsl(141, 71%, 48%); color: #fff; } .button.is-success.is-outlined.is-loading::after { - border-color: transparent transparent hsl(141deg, 71%, 48%) hsl(141deg, 71%, 48%) !important; + border-color: transparent transparent hsl(141, 71%, 48%) hsl(141, 71%, 48%) !important; } .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after { border-color: transparent transparent #fff #fff !important; } .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined { background-color: transparent; - border-color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); box-shadow: none; - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .button.is-success.is-inverted.is-outlined { background-color: transparent; @@ -2410,10 +2425,10 @@ a.box:active { } .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused { background-color: #fff; - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(141deg, 71%, 48%) hsl(141deg, 71%, 48%) !important; + border-color: transparent transparent hsl(141, 71%, 48%) hsl(141, 71%, 48%) !important; } .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined { background-color: transparent; @@ -2422,7 +2437,7 @@ a.box:active { color: #fff; } .button.is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); border-color: transparent; color: rgba(0, 0, 0, 0.7); } @@ -2444,13 +2459,13 @@ a.box:active { color: rgba(0, 0, 0, 0.7); } .button.is-warning[disabled], fieldset[disabled] .button.is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); border-color: transparent; box-shadow: none; } .button.is-warning.is-inverted { background-color: rgba(0, 0, 0, 0.7); - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered { background-color: rgba(0, 0, 0, 0.7); @@ -2459,32 +2474,32 @@ a.box:active { background-color: rgba(0, 0, 0, 0.7); border-color: transparent; box-shadow: none; - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .button.is-warning.is-loading::after { border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; } .button.is-warning.is-outlined { background-color: transparent; - border-color: hsl(48deg, 100%, 67%); - color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); + color: hsl(48, 100%, 67%); } .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused { - background-color: hsl(48deg, 100%, 67%); - border-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); + border-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .button.is-warning.is-outlined.is-loading::after { - border-color: transparent transparent hsl(48deg, 100%, 67%) hsl(48deg, 100%, 67%) !important; + border-color: transparent transparent hsl(48, 100%, 67%) hsl(48, 100%, 67%) !important; } .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after { border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; } .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined { background-color: transparent; - border-color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); box-shadow: none; - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .button.is-warning.is-inverted.is-outlined { background-color: transparent; @@ -2493,10 +2508,10 @@ a.box:active { } .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused { background-color: rgba(0, 0, 0, 0.7); - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(48deg, 100%, 67%) hsl(48deg, 100%, 67%) !important; + border-color: transparent transparent hsl(48, 100%, 67%) hsl(48, 100%, 67%) !important; } .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined { background-color: transparent; @@ -2505,7 +2520,7 @@ a.box:active { color: rgba(0, 0, 0, 0.7); } .button.is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); border-color: transparent; color: #fff; } @@ -2527,13 +2542,13 @@ a.box:active { color: #fff; } .button.is-danger[disabled], fieldset[disabled] .button.is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); border-color: transparent; box-shadow: none; } .button.is-danger.is-inverted { background-color: #fff; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered { background-color: #f2f2f2; @@ -2542,32 +2557,32 @@ a.box:active { background-color: #fff; border-color: transparent; box-shadow: none; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .button.is-danger.is-loading::after { border-color: transparent transparent #fff #fff !important; } .button.is-danger.is-outlined { background-color: transparent; - border-color: hsl(348deg, 100%, 61%); - color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); + color: hsl(348, 100%, 61%); } .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused { - background-color: hsl(348deg, 100%, 61%); - border-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); + border-color: hsl(348, 100%, 61%); color: #fff; } .button.is-danger.is-outlined.is-loading::after { - border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important; + border-color: transparent transparent hsl(348, 100%, 61%) hsl(348, 100%, 61%) !important; } .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after { border-color: transparent transparent #fff #fff !important; } .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined { background-color: transparent; - border-color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); box-shadow: none; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .button.is-danger.is-inverted.is-outlined { background-color: transparent; @@ -2576,10 +2591,10 @@ a.box:active { } .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused { background-color: #fff; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after { - border-color: transparent transparent hsl(348deg, 100%, 61%) hsl(348deg, 100%, 61%) !important; + border-color: transparent transparent hsl(348, 100%, 61%) hsl(348, 100%, 61%) !important; } .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined { background-color: transparent; @@ -2602,7 +2617,7 @@ a.box:active { } .button[disabled], fieldset[disabled] .button { background-color: #fff; - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); box-shadow: none; opacity: 0.5; } @@ -2616,14 +2631,14 @@ a.box:active { } .button.is-loading::after { position: absolute; - left: calc(50% - (1em / 2)); - top: calc(50% - (1em / 2)); + left: calc(50% - 1em / 2); + top: calc(50% - 1em / 2); position: absolute !important; } .button.is-static { - background-color: hsl(0deg, 0%, 96%); - border-color: hsl(0deg, 0%, 86%); - color: hsl(0deg, 0%, 48%); + background-color: hsl(0, 0%, 96%); + border-color: hsl(0, 0%, 86%); + color: hsl(0, 0%, 48%); box-shadow: none; pointer-events: none; } @@ -2756,7 +2771,7 @@ a.box:active { .content h4, .content h5, .content h6 { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); font-weight: 600; line-height: 1.125; } @@ -2795,7 +2810,7 @@ a.box:active { } .content blockquote { background-color: #f5f5f5; - border-left: 5px solid hsl(0deg, 0%, 86%); + border-left: 5px solid hsl(0, 0%, 86%); padding: 1.25em 1.5em; } .content ol { @@ -2866,13 +2881,13 @@ a.box:active { } .content table td, .content table th { - border: 1px solid hsl(0deg, 0%, 86%); + border: 1px solid hsl(0, 0%, 86%); border-width: 0 0 1px; padding: 0.5em 0.75em; vertical-align: top; } .content table th { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .content table th:not([align]) { text-align: left; @@ -2880,12 +2895,12 @@ a.box:active { .content table thead td, .content table thead th { border-width: 0 0 2px; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .content table tfoot td, .content table tfoot th { border-width: 2px 0 0; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .content table tbody tr:last-child td, .content table tbody tr:last-child th { @@ -3062,19 +3077,19 @@ a.box:active { } .notification.is-white { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .notification.is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .notification.is-light { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .notification.is-dark { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .notification.is-primary { background-color: #65bdb2; @@ -3085,19 +3100,19 @@ a.box:active { color: #fff; } .notification.is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } .notification.is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } .notification.is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .notification.is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } @@ -3113,16 +3128,16 @@ a.box:active { width: 100%; } .progress::-webkit-progress-bar { - background-color: hsl(0deg, 0%, 86%); + background-color: hsl(0, 0%, 86%); } .progress::-webkit-progress-value { - background-color: hsl(0deg, 0%, 29%); + background-color: hsl(0, 0%, 29%); } .progress::-moz-progress-bar { - background-color: hsl(0deg, 0%, 29%); + background-color: hsl(0, 0%, 29%); } .progress::-ms-fill { - background-color: hsl(0deg, 0%, 29%); + background-color: hsl(0, 0%, 29%); border: none; } .progress.is-white::-webkit-progress-value { @@ -3135,43 +3150,43 @@ a.box:active { background-color: #fff; } .progress.is-white:indeterminate { - background-image: linear-gradient(to right, #fff 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, #fff 30%, hsl(0, 0%, 86%) 30%); } .progress.is-black::-webkit-progress-value { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); } .progress.is-black::-moz-progress-bar { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); } .progress.is-black::-ms-fill { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); } .progress.is-black:indeterminate { - background-image: linear-gradient(to right, hsl(0deg, 0%, 4%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(0, 0%, 4%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-light::-webkit-progress-value { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); } .progress.is-light::-moz-progress-bar { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); } .progress.is-light::-ms-fill { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); } .progress.is-light:indeterminate { - background-image: linear-gradient(to right, hsl(0deg, 0%, 96%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(0, 0%, 96%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-dark::-webkit-progress-value { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); } .progress.is-dark::-moz-progress-bar { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); } .progress.is-dark::-ms-fill { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); } .progress.is-dark:indeterminate { - background-image: linear-gradient(to right, hsl(0deg, 0%, 21%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(0, 0%, 21%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-primary::-webkit-progress-value { background-color: #65bdb2; @@ -3183,7 +3198,7 @@ a.box:active { background-color: #65bdb2; } .progress.is-primary:indeterminate { - background-image: linear-gradient(to right, #65bdb2 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, #65bdb2 30%, hsl(0, 0%, 86%) 30%); } .progress.is-link::-webkit-progress-value { background-color: #3867d6; @@ -3195,63 +3210,63 @@ a.box:active { background-color: #3867d6; } .progress.is-link:indeterminate { - background-image: linear-gradient(to right, #3867d6 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, #3867d6 30%, hsl(0, 0%, 86%) 30%); } .progress.is-info::-webkit-progress-value { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); } .progress.is-info::-moz-progress-bar { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); } .progress.is-info::-ms-fill { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); } .progress.is-info:indeterminate { - background-image: linear-gradient(to right, hsl(204deg, 86%, 53%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(204, 86%, 53%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-success::-webkit-progress-value { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); } .progress.is-success::-moz-progress-bar { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); } .progress.is-success::-ms-fill { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); } .progress.is-success:indeterminate { - background-image: linear-gradient(to right, hsl(141deg, 71%, 48%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(141, 71%, 48%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-warning::-webkit-progress-value { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); } .progress.is-warning::-moz-progress-bar { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); } .progress.is-warning::-ms-fill { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); } .progress.is-warning:indeterminate { - background-image: linear-gradient(to right, hsl(48deg, 100%, 67%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(48, 100%, 67%) 30%, hsl(0, 0%, 86%) 30%); } .progress.is-danger::-webkit-progress-value { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); } .progress.is-danger::-moz-progress-bar { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); } .progress.is-danger::-ms-fill { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); } .progress.is-danger:indeterminate { - background-image: linear-gradient(to right, hsl(348deg, 100%, 61%) 30%, hsl(0deg, 0%, 86%) 30%); + background-image: linear-gradient(to right, hsl(348, 100%, 61%) 30%, hsl(0, 0%, 86%) 30%); } .progress:indeterminate { animation-duration: 1.5s; animation-iteration-count: infinite; animation-name: moveIndeterminate; animation-timing-function: linear; - background-color: hsl(0deg, 0%, 86%); - background-image: linear-gradient(to right, hsl(0deg, 0%, 29%) 30%, hsl(0deg, 0%, 86%) 30%); + background-color: hsl(0, 0%, 86%); + background-image: linear-gradient(to right, hsl(0, 0%, 29%) 30%, hsl(0, 0%, 86%) 30%); background-position: top left; background-repeat: no-repeat; background-size: 150% 150%; @@ -3282,11 +3297,11 @@ a.box:active { } .table { background-color: #fff; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .table td, .table th { - border: 1px solid hsl(0deg, 0%, 86%); + border: 1px solid hsl(0, 0%, 86%); border-width: 0 0 1px; padding: 0.5em 0.75em; vertical-align: top; @@ -3295,25 +3310,25 @@ a.box:active { .table th.is-white { background-color: #fff; border-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .table td.is-black, .table th.is-black { - background-color: hsl(0deg, 0%, 4%); - border-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); + border-color: hsl(0, 0%, 4%); color: #fff; } .table td.is-light, .table th.is-light { - background-color: hsl(0deg, 0%, 96%); - border-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + border-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .table td.is-dark, .table th.is-dark { - background-color: hsl(0deg, 0%, 21%); - border-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + border-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .table td.is-primary, .table th.is-primary { @@ -3329,26 +3344,26 @@ a.box:active { } .table td.is-info, .table th.is-info { - background-color: hsl(204deg, 86%, 53%); - border-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); + border-color: hsl(204, 86%, 53%); color: #fff; } .table td.is-success, .table th.is-success { - background-color: hsl(141deg, 71%, 48%); - border-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); + border-color: hsl(141, 71%, 48%); color: #fff; } .table td.is-warning, .table th.is-warning { - background-color: hsl(48deg, 100%, 67%); - border-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); + border-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .table td.is-danger, .table th.is-danger { - background-color: hsl(348deg, 100%, 61%); - border-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); + border-color: hsl(348, 100%, 61%); color: #fff; } .table td.is-narrow, @@ -3368,7 +3383,7 @@ a.box:active { color: currentColor; } .table th { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .table th:not([align]) { text-align: left; @@ -3392,7 +3407,7 @@ a.box:active { .table thead td, .table thead th { border-width: 0 0 2px; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .table tfoot { background-color: transparent; @@ -3400,7 +3415,7 @@ a.box:active { .table tfoot td, .table tfoot th { border-width: 2px 0 0; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .table tbody { background-color: transparent; @@ -3421,20 +3436,20 @@ a.box:active { width: 100%; } .table.is-hoverable tbody tr:not(.is-selected):hover { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); } .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); } .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); } .table.is-narrow td, .table.is-narrow th { padding: 0.25em 0.5em; } .table.is-striped tbody tr:not(.is-selected):nth-child(even) { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); } .table-container { @@ -3501,7 +3516,7 @@ a.box:active { align-items: center; background-color: #f5f5f5; border-radius: 4px; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: inline-flex; font-size: 0.75rem; height: 2em; @@ -3517,19 +3532,19 @@ a.box:active { } .tag:not(body).is-white { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .tag:not(body).is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .tag:not(body).is-light { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .tag:not(body).is-dark { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .tag:not(body).is-primary { background-color: #65bdb2; @@ -3540,19 +3555,19 @@ a.box:active { color: #fff; } .tag:not(body).is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } .tag:not(body).is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } .tag:not(body).is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .tag:not(body).is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } .tag:not(body).is-normal { @@ -3638,7 +3653,7 @@ a.tag:hover { } .title { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); font-size: 2rem; font-weight: 600; line-height: 1.125; @@ -3676,13 +3691,13 @@ a.tag:hover { } .subtitle { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); font-size: 1.25rem; font-weight: 400; line-height: 1.25; } .subtitle strong { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); font-weight: 600; } .subtitle:not(.is-spaced) + .title { @@ -3746,9 +3761,9 @@ a.tag:hover { .select select, .textarea, .input { background-color: #fff; - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-radius: 4px; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder { color: rgba(54, 54, 54, 0.3); @@ -3773,7 +3788,7 @@ a.tag:hover { background-color: #f5f5f5; border-color: #f5f5f5; box-shadow: none; - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); } .select select[disabled]::-moz-placeholder, [disabled].textarea::-moz-placeholder, [disabled].input::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder { color: rgba(122, 122, 122, 0.3); @@ -3803,19 +3818,19 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } .is-black.textarea, .is-black.input { - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); } .is-black.textarea:focus, .is-black.input:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, .is-black.textarea:active, .is-black.input:active, .is-black.is-active.textarea, .is-black.is-active.input { box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } .is-light.textarea, .is-light.input { - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); } .is-light.textarea:focus, .is-light.input:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, .is-light.textarea:active, .is-light.input:active, .is-light.is-active.textarea, .is-light.is-active.input { box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); } .is-dark.textarea, .is-dark.input { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); } .is-dark.textarea:focus, .is-dark.input:focus, .is-dark.is-focused.textarea, .is-dark.is-focused.input, .is-dark.textarea:active, .is-dark.input:active, .is-dark.is-active.textarea, .is-dark.is-active.input { box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); @@ -3833,25 +3848,25 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(56, 103, 214, 0.25); } .is-info.textarea, .is-info.input { - border-color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); } .is-info.textarea:focus, .is-info.input:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, .is-info.textarea:active, .is-info.input:active, .is-info.is-active.textarea, .is-info.is-active.input { box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); } .is-success.textarea, .is-success.input { - border-color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); } .is-success.textarea:focus, .is-success.input:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, .is-success.textarea:active, .is-success.input:active, .is-success.is-active.textarea, .is-success.is-active.input { box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25); } .is-warning.textarea, .is-warning.input { - border-color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); } .is-warning.textarea:focus, .is-warning.input:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, .is-warning.textarea:active, .is-warning.input:active, .is-warning.is-active.textarea, .is-warning.is-active.input { box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); } .is-danger.textarea, .is-danger.input { - border-color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); } .is-danger.textarea:focus, .is-danger.input:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, .is-danger.textarea:active, .is-danger.input:active, .is-danger.is-active.textarea, .is-danger.is-active.input { box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25); @@ -3916,10 +3931,10 @@ a.tag:hover { cursor: pointer; } .radio:hover, .checkbox:hover { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } [disabled].radio, [disabled].checkbox, fieldset[disabled] .radio, fieldset[disabled] .checkbox { - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); cursor: not-allowed; } @@ -3969,7 +3984,7 @@ a.tag:hover { padding: 0.5em 1em; } .select:not(.is-multiple):not(.is-loading):hover::after { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); } .select.is-white:not(:hover)::after { border-color: #fff; @@ -3984,10 +3999,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); } .select.is-black:not(:hover)::after { - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); } .select.is-black select { - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); } .select.is-black select:hover, .select.is-black select.is-hovered { border-color: black; @@ -3996,10 +4011,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); } .select.is-light:not(:hover)::after { - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); } .select.is-light select { - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); } .select.is-light select:hover, .select.is-light select.is-hovered { border-color: #e8e8e8; @@ -4008,10 +4023,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); } .select.is-dark:not(:hover)::after { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); } .select.is-dark select { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); } .select.is-dark select:hover, .select.is-dark select.is-hovered { border-color: #292929; @@ -4044,10 +4059,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(56, 103, 214, 0.25); } .select.is-info:not(:hover)::after { - border-color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); } .select.is-info select { - border-color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); } .select.is-info select:hover, .select.is-info select.is-hovered { border-color: #118fe4; @@ -4056,10 +4071,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); } .select.is-success:not(:hover)::after { - border-color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); } .select.is-success select { - border-color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); } .select.is-success select:hover, .select.is-success select.is-hovered { border-color: #20bc56; @@ -4068,10 +4083,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25); } .select.is-warning:not(:hover)::after { - border-color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); } .select.is-warning select { - border-color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); } .select.is-warning select:hover, .select.is-warning select.is-hovered { border-color: #ffd83d; @@ -4080,10 +4095,10 @@ a.tag:hover { box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); } .select.is-danger:not(:hover)::after { - border-color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); } .select.is-danger select { - border-color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); } .select.is-danger select:hover, .select.is-danger select.is-hovered { border-color: #ff1f4b; @@ -4102,7 +4117,7 @@ a.tag:hover { font-size: 1.5rem; } .select.is-disabled::after { - border-color: hsl(0deg, 0%, 48%); + border-color: hsl(0, 0%, 48%); } .select.is-fullwidth { width: 100%; @@ -4136,25 +4151,25 @@ a.tag:hover { .file.is-white .file-cta { background-color: #fff; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta { background-color: #f9f9f9; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta { border-color: transparent; box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .file.is-white:active .file-cta, .file.is-white.is-active .file-cta { background-color: #f2f2f2; border-color: transparent; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .file.is-black .file-cta { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); border-color: transparent; color: #fff; } @@ -4174,44 +4189,44 @@ a.tag:hover { color: #fff; } .file.is-light .file-cta { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta { background-color: #eeeeee; border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta { border-color: transparent; box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file.is-light:active .file-cta, .file.is-light.is-active .file-cta { background-color: #e8e8e8; border-color: transparent; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file.is-dark .file-cta { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .file.is-dark:hover .file-cta, .file.is-dark.is-hovered .file-cta { background-color: #2f2f2f; border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .file.is-dark:focus .file-cta, .file.is-dark.is-focused .file-cta { border-color: transparent; box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25); - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .file.is-dark:active .file-cta, .file.is-dark.is-active .file-cta { background-color: #292929; border-color: transparent; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .file.is-primary .file-cta { background-color: #65bdb2; @@ -4254,7 +4269,7 @@ a.tag:hover { color: #fff; } .file.is-info .file-cta { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); border-color: transparent; color: #fff; } @@ -4274,7 +4289,7 @@ a.tag:hover { color: #fff; } .file.is-success .file-cta { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); border-color: transparent; color: #fff; } @@ -4294,7 +4309,7 @@ a.tag:hover { color: #fff; } .file.is-warning .file-cta { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); border-color: transparent; color: rgba(0, 0, 0, 0.7); } @@ -4314,7 +4329,7 @@ a.tag:hover { color: rgba(0, 0, 0, 0.7); } .file.is-danger .file-cta { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); border-color: transparent; color: #fff; } @@ -4428,14 +4443,14 @@ a.tag:hover { } .file-label:hover .file-cta { background-color: #eeeeee; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file-label:hover .file-name { border-color: #d5d5d5; } .file-label:active .file-cta { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .file-label:active .file-name { border-color: #cfcfcf; @@ -4453,7 +4468,7 @@ a.tag:hover { .file-cta, .file-name { - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-radius: 4px; font-size: 1em; padding-left: 1em; @@ -4462,12 +4477,12 @@ a.tag:hover { } .file-cta { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 29%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 29%); } .file-name { - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-style: solid; border-width: 1px 1px 1px 0; display: block; @@ -4490,7 +4505,7 @@ a.tag:hover { } .label { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); display: block; font-size: 1rem; font-weight: 700; @@ -4517,13 +4532,13 @@ a.tag:hover { color: #fff; } .help.is-black { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .help.is-light { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .help.is-dark { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .help.is-primary { color: #65bdb2; @@ -4532,16 +4547,16 @@ a.tag:hover { color: #3867d6; } .help.is-info { - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .help.is-success { - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .help.is-warning { - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .help.is-danger { - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .field:not(:last-child) { @@ -4720,7 +4735,7 @@ a.tag:hover { .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right .select:focus ~ .icon { - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); } .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, @@ -4738,7 +4753,7 @@ a.tag:hover { font-size: 1.5rem; } .control.has-icons-left .icon, .control.has-icons-right .icon { - color: hsl(0deg, 0%, 86%); + color: hsl(0, 0%, 86%); height: 2.25em; pointer-events: none; position: absolute; @@ -4788,7 +4803,7 @@ a.tag:hover { padding: 0 0.75em; } .breadcrumb a:hover { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .breadcrumb li { align-items: center; @@ -4798,7 +4813,7 @@ a.tag:hover { padding-left: 0; } .breadcrumb li.is-active a { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); cursor: default; pointer-events: none; } @@ -4852,7 +4867,7 @@ a.tag:hover { .card { background-color: #fff; box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); max-width: 100%; position: relative; } @@ -4866,7 +4881,7 @@ a.tag:hover { .card-header-title { align-items: center; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); display: flex; flex-grow: 1; font-weight: 700; @@ -4896,7 +4911,7 @@ a.tag:hover { .card-footer { background-color: transparent; - border-top: 1px solid hsl(0deg, 0%, 86%); + border-top: 1px solid hsl(0, 0%, 86%); align-items: stretch; display: flex; } @@ -4911,7 +4926,7 @@ a.tag:hover { padding: 0.75rem; } .card-footer-item:not(:last-child) { - border-right: 1px solid hsl(0deg, 0%, 86%); + border-right: 1px solid hsl(0, 0%, 86%); } .card .media:not(:last-child) { @@ -4956,7 +4971,7 @@ a.tag:hover { } .dropdown-item { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: block; font-size: 0.875rem; line-height: 1.5; @@ -4974,7 +4989,7 @@ button.dropdown-item { a.dropdown-item:hover, button.dropdown-item:hover { background-color: #f5f5f5; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } a.dropdown-item.is-active, button.dropdown-item.is-active { @@ -4983,7 +4998,7 @@ button.dropdown-item.is-active { } .dropdown-divider { - background-color: hsl(0deg, 0%, 86%); + background-color: hsl(0, 0%, 86%); border: none; display: block; height: 1px; @@ -5057,7 +5072,7 @@ button.dropdown-item.is-active { } @media screen and (min-width: 769px), print { .level-left .level-item:not(:last-child), -.level-right .level-item:not(:last-child) { + .level-right .level-item:not(:last-child) { margin-right: 0.75rem; } } @@ -5098,7 +5113,7 @@ button.dropdown-item.is-active { padding: 0.5em 1em; } .list-item:not(a) { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); } .list-item:first-child { border-top-left-radius: 4px; @@ -5109,7 +5124,7 @@ button.dropdown-item.is-active { border-bottom-right-radius: 4px; } .list-item:not(:last-child) { - border-bottom: 1px solid hsl(0deg, 0%, 86%); + border-bottom: 1px solid hsl(0, 0%, 86%); } .list-item.is-active { background-color: #3867d6; @@ -5199,26 +5214,26 @@ a.list-item { } .menu-list a { border-radius: 2px; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: block; padding: 0.5em 0.75em; } .menu-list a:hover { background-color: #f5f5f5; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .menu-list a.is-active { background-color: #3867d6; color: #fff; } .menu-list li ul { - border-left: 1px solid hsl(0deg, 0%, 86%); + border-left: 1px solid hsl(0, 0%, 86%); margin: 0.75em; padding-left: 0.75em; } .menu-label { - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); font-size: 0.75em; letter-spacing: 0.1em; text-transform: uppercase; @@ -5256,7 +5271,7 @@ a.list-item { } .message.is-white .message-header { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .message.is-white .message-body { border-color: #fff; @@ -5266,33 +5281,33 @@ a.list-item { background-color: #fafafa; } .message.is-black .message-header { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .message.is-black .message-body { - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); color: #0a0a0a; } .message.is-light { background-color: #fafafa; } .message.is-light .message-header { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .message.is-light .message-body { - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); color: #4f4f4f; } .message.is-dark { background-color: #fafafa; } .message.is-dark .message-header { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .message.is-dark .message-body { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); color: #2a2a2a; } .message.is-primary { @@ -5321,50 +5336,50 @@ a.list-item { background-color: #f6fbfe; } .message.is-info .message-header { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } .message.is-info .message-body { - border-color: hsl(204deg, 86%, 53%); + border-color: hsl(204, 86%, 53%); color: #12537e; } .message.is-success { background-color: #f6fef9; } .message.is-success .message-header { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } .message.is-success .message-body { - border-color: hsl(141deg, 71%, 48%); + border-color: hsl(141, 71%, 48%); color: #0e311a; } .message.is-warning { background-color: #fffdf5; } .message.is-warning .message-header { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .message.is-warning .message-body { - border-color: hsl(48deg, 100%, 67%); + border-color: hsl(48, 100%, 67%); color: #3c3108; } .message.is-danger { background-color: #fff5f7; } .message.is-danger .message-header { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } .message.is-danger .message-body { - border-color: hsl(348deg, 100%, 61%); + border-color: hsl(348, 100%, 61%); color: #cd0930; } .message-header { align-items: center; - background-color: hsl(0deg, 0%, 29%); + background-color: hsl(0, 0%, 29%); border-radius: 4px 4px 0 0; color: #fff; display: flex; @@ -5386,11 +5401,11 @@ a.list-item { } .message-body { - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-radius: 4px; border-style: solid; border-width: 0 0 0 4px; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); padding: 1.25em 1.5em; } .message-body code, @@ -5428,7 +5443,7 @@ a.list-item { } @media screen and (min-width: 769px), print { .modal-content, -.modal-card { + .modal-card { margin: 0 auto; max-height: calc(100vh - 40px); width: 640px; @@ -5464,13 +5479,13 @@ a.list-item { } .modal-card-head { - border-bottom: 1px solid hsl(0deg, 0%, 86%); + border-bottom: 1px solid hsl(0, 0%, 86%); border-top-left-radius: 6px; border-top-right-radius: 6px; } .modal-card-title { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); flex-grow: 1; flex-shrink: 0; font-size: 1.5rem; @@ -5480,7 +5495,7 @@ a.list-item { .modal-card-foot { border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; - border-top: 1px solid hsl(0deg, 0%, 86%); + border-top: 1px solid hsl(0, 0%, 86%); } .modal-card-foot .button:not(:last-child) { margin-right: 0.5em; @@ -5503,62 +5518,62 @@ a.list-item { } .navbar.is-white { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-brand > .navbar-item, .navbar.is-white .navbar-brand .navbar-link { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active, .navbar.is-white .navbar-brand .navbar-link:focus, .navbar.is-white .navbar-brand .navbar-link:hover, .navbar.is-white .navbar-brand .navbar-link.is-active { background-color: #f2f2f2; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-brand .navbar-link::after { - border-color: hsl(0deg, 0%, 4%); + border-color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-burger { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } @media screen and (min-width: 1024px) { .navbar.is-white .navbar-start > .navbar-item, -.navbar.is-white .navbar-start .navbar-link, -.navbar.is-white .navbar-end > .navbar-item, -.navbar.is-white .navbar-end .navbar-link { - color: hsl(0deg, 0%, 4%); + .navbar.is-white .navbar-start .navbar-link, + .navbar.is-white .navbar-end > .navbar-item, + .navbar.is-white .navbar-end .navbar-link { + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active, -.navbar.is-white .navbar-start .navbar-link:focus, -.navbar.is-white .navbar-start .navbar-link:hover, -.navbar.is-white .navbar-start .navbar-link.is-active, -.navbar.is-white .navbar-end > a.navbar-item:focus, -.navbar.is-white .navbar-end > a.navbar-item:hover, -.navbar.is-white .navbar-end > a.navbar-item.is-active, -.navbar.is-white .navbar-end .navbar-link:focus, -.navbar.is-white .navbar-end .navbar-link:hover, -.navbar.is-white .navbar-end .navbar-link.is-active { + .navbar.is-white .navbar-start .navbar-link:focus, + .navbar.is-white .navbar-start .navbar-link:hover, + .navbar.is-white .navbar-start .navbar-link.is-active, + .navbar.is-white .navbar-end > a.navbar-item:focus, + .navbar.is-white .navbar-end > a.navbar-item:hover, + .navbar.is-white .navbar-end > a.navbar-item.is-active, + .navbar.is-white .navbar-end .navbar-link:focus, + .navbar.is-white .navbar-end .navbar-link:hover, + .navbar.is-white .navbar-end .navbar-link.is-active { background-color: #f2f2f2; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-start .navbar-link::after, -.navbar.is-white .navbar-end .navbar-link::after { - border-color: hsl(0deg, 0%, 4%); + .navbar.is-white .navbar-end .navbar-link::after { + border-color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { background-color: #f2f2f2; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-white .navbar-dropdown a.navbar-item.is-active { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } } .navbar.is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .navbar.is-black .navbar-brand > .navbar-item, @@ -5580,149 +5595,149 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-black .navbar-start > .navbar-item, -.navbar.is-black .navbar-start .navbar-link, -.navbar.is-black .navbar-end > .navbar-item, -.navbar.is-black .navbar-end .navbar-link { + .navbar.is-black .navbar-start .navbar-link, + .navbar.is-black .navbar-end > .navbar-item, + .navbar.is-black .navbar-end .navbar-link { color: #fff; } .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active, -.navbar.is-black .navbar-start .navbar-link:focus, -.navbar.is-black .navbar-start .navbar-link:hover, -.navbar.is-black .navbar-start .navbar-link.is-active, -.navbar.is-black .navbar-end > a.navbar-item:focus, -.navbar.is-black .navbar-end > a.navbar-item:hover, -.navbar.is-black .navbar-end > a.navbar-item.is-active, -.navbar.is-black .navbar-end .navbar-link:focus, -.navbar.is-black .navbar-end .navbar-link:hover, -.navbar.is-black .navbar-end .navbar-link.is-active { + .navbar.is-black .navbar-start .navbar-link:focus, + .navbar.is-black .navbar-start .navbar-link:hover, + .navbar.is-black .navbar-start .navbar-link.is-active, + .navbar.is-black .navbar-end > a.navbar-item:focus, + .navbar.is-black .navbar-end > a.navbar-item:hover, + .navbar.is-black .navbar-end > a.navbar-item.is-active, + .navbar.is-black .navbar-end .navbar-link:focus, + .navbar.is-black .navbar-end .navbar-link:hover, + .navbar.is-black .navbar-end .navbar-link.is-active { background-color: black; color: #fff; } .navbar.is-black .navbar-start .navbar-link::after, -.navbar.is-black .navbar-end .navbar-link::after { + .navbar.is-black .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { background-color: black; color: #fff; } .navbar.is-black .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } } .navbar.is-light { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-brand > .navbar-item, .navbar.is-light .navbar-brand .navbar-link { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active, .navbar.is-light .navbar-brand .navbar-link:focus, .navbar.is-light .navbar-brand .navbar-link:hover, .navbar.is-light .navbar-brand .navbar-link.is-active { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-brand .navbar-link::after { - border-color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-burger { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } @media screen and (min-width: 1024px) { .navbar.is-light .navbar-start > .navbar-item, -.navbar.is-light .navbar-start .navbar-link, -.navbar.is-light .navbar-end > .navbar-item, -.navbar.is-light .navbar-end .navbar-link { - color: hsl(0deg, 0%, 21%); + .navbar.is-light .navbar-start .navbar-link, + .navbar.is-light .navbar-end > .navbar-item, + .navbar.is-light .navbar-end .navbar-link { + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active, -.navbar.is-light .navbar-start .navbar-link:focus, -.navbar.is-light .navbar-start .navbar-link:hover, -.navbar.is-light .navbar-start .navbar-link.is-active, -.navbar.is-light .navbar-end > a.navbar-item:focus, -.navbar.is-light .navbar-end > a.navbar-item:hover, -.navbar.is-light .navbar-end > a.navbar-item.is-active, -.navbar.is-light .navbar-end .navbar-link:focus, -.navbar.is-light .navbar-end .navbar-link:hover, -.navbar.is-light .navbar-end .navbar-link.is-active { + .navbar.is-light .navbar-start .navbar-link:focus, + .navbar.is-light .navbar-start .navbar-link:hover, + .navbar.is-light .navbar-start .navbar-link.is-active, + .navbar.is-light .navbar-end > a.navbar-item:focus, + .navbar.is-light .navbar-end > a.navbar-item:hover, + .navbar.is-light .navbar-end > a.navbar-item.is-active, + .navbar.is-light .navbar-end .navbar-link:focus, + .navbar.is-light .navbar-end .navbar-link:hover, + .navbar.is-light .navbar-end .navbar-link.is-active { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-start .navbar-link::after, -.navbar.is-light .navbar-end .navbar-link::after { - border-color: hsl(0deg, 0%, 21%); + .navbar.is-light .navbar-end .navbar-link::after { + border-color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .navbar.is-light .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } } .navbar.is-dark { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-brand > .navbar-item, .navbar.is-dark .navbar-brand .navbar-link { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .navbar.is-dark .navbar-brand .navbar-link:focus, .navbar.is-dark .navbar-brand .navbar-link:hover, .navbar.is-dark .navbar-brand .navbar-link.is-active { background-color: #292929; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-brand .navbar-link::after { - border-color: hsl(0deg, 0%, 96%); + border-color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-burger { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } @media screen and (min-width: 1024px) { .navbar.is-dark .navbar-start > .navbar-item, -.navbar.is-dark .navbar-start .navbar-link, -.navbar.is-dark .navbar-end > .navbar-item, -.navbar.is-dark .navbar-end .navbar-link { - color: hsl(0deg, 0%, 96%); + .navbar.is-dark .navbar-start .navbar-link, + .navbar.is-dark .navbar-end > .navbar-item, + .navbar.is-dark .navbar-end .navbar-link { + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, -.navbar.is-dark .navbar-start .navbar-link:focus, -.navbar.is-dark .navbar-start .navbar-link:hover, -.navbar.is-dark .navbar-start .navbar-link.is-active, -.navbar.is-dark .navbar-end > a.navbar-item:focus, -.navbar.is-dark .navbar-end > a.navbar-item:hover, -.navbar.is-dark .navbar-end > a.navbar-item.is-active, -.navbar.is-dark .navbar-end .navbar-link:focus, -.navbar.is-dark .navbar-end .navbar-link:hover, -.navbar.is-dark .navbar-end .navbar-link.is-active { + .navbar.is-dark .navbar-start .navbar-link:focus, + .navbar.is-dark .navbar-start .navbar-link:hover, + .navbar.is-dark .navbar-start .navbar-link.is-active, + .navbar.is-dark .navbar-end > a.navbar-item:focus, + .navbar.is-dark .navbar-end > a.navbar-item:hover, + .navbar.is-dark .navbar-end > a.navbar-item.is-active, + .navbar.is-dark .navbar-end .navbar-link:focus, + .navbar.is-dark .navbar-end .navbar-link:hover, + .navbar.is-dark .navbar-end .navbar-link.is-active { background-color: #292929; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-start .navbar-link::after, -.navbar.is-dark .navbar-end .navbar-link::after { - border-color: hsl(0deg, 0%, 96%); + .navbar.is-dark .navbar-end .navbar-link::after { + border-color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link { background-color: #292929; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .navbar.is-dark .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } } .navbar.is-primary { @@ -5748,31 +5763,31 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-primary .navbar-start > .navbar-item, -.navbar.is-primary .navbar-start .navbar-link, -.navbar.is-primary .navbar-end > .navbar-item, -.navbar.is-primary .navbar-end .navbar-link { + .navbar.is-primary .navbar-start .navbar-link, + .navbar.is-primary .navbar-end > .navbar-item, + .navbar.is-primary .navbar-end .navbar-link { color: #fff; } .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, -.navbar.is-primary .navbar-start .navbar-link:focus, -.navbar.is-primary .navbar-start .navbar-link:hover, -.navbar.is-primary .navbar-start .navbar-link.is-active, -.navbar.is-primary .navbar-end > a.navbar-item:focus, -.navbar.is-primary .navbar-end > a.navbar-item:hover, -.navbar.is-primary .navbar-end > a.navbar-item.is-active, -.navbar.is-primary .navbar-end .navbar-link:focus, -.navbar.is-primary .navbar-end .navbar-link:hover, -.navbar.is-primary .navbar-end .navbar-link.is-active { + .navbar.is-primary .navbar-start .navbar-link:focus, + .navbar.is-primary .navbar-start .navbar-link:hover, + .navbar.is-primary .navbar-start .navbar-link.is-active, + .navbar.is-primary .navbar-end > a.navbar-item:focus, + .navbar.is-primary .navbar-end > a.navbar-item:hover, + .navbar.is-primary .navbar-end > a.navbar-item.is-active, + .navbar.is-primary .navbar-end .navbar-link:focus, + .navbar.is-primary .navbar-end .navbar-link:hover, + .navbar.is-primary .navbar-end .navbar-link.is-active { background-color: #53b5a9; color: #fff; } .navbar.is-primary .navbar-start .navbar-link::after, -.navbar.is-primary .navbar-end .navbar-link::after { + .navbar.is-primary .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link { background-color: #53b5a9; color: #fff; } @@ -5804,31 +5819,31 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-link .navbar-start > .navbar-item, -.navbar.is-link .navbar-start .navbar-link, -.navbar.is-link .navbar-end > .navbar-item, -.navbar.is-link .navbar-end .navbar-link { + .navbar.is-link .navbar-start .navbar-link, + .navbar.is-link .navbar-end > .navbar-item, + .navbar.is-link .navbar-end .navbar-link { color: #fff; } .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active, -.navbar.is-link .navbar-start .navbar-link:focus, -.navbar.is-link .navbar-start .navbar-link:hover, -.navbar.is-link .navbar-start .navbar-link.is-active, -.navbar.is-link .navbar-end > a.navbar-item:focus, -.navbar.is-link .navbar-end > a.navbar-item:hover, -.navbar.is-link .navbar-end > a.navbar-item.is-active, -.navbar.is-link .navbar-end .navbar-link:focus, -.navbar.is-link .navbar-end .navbar-link:hover, -.navbar.is-link .navbar-end .navbar-link.is-active { + .navbar.is-link .navbar-start .navbar-link:focus, + .navbar.is-link .navbar-start .navbar-link:hover, + .navbar.is-link .navbar-start .navbar-link.is-active, + .navbar.is-link .navbar-end > a.navbar-item:focus, + .navbar.is-link .navbar-end > a.navbar-item:hover, + .navbar.is-link .navbar-end > a.navbar-item.is-active, + .navbar.is-link .navbar-end .navbar-link:focus, + .navbar.is-link .navbar-end .navbar-link:hover, + .navbar.is-link .navbar-end .navbar-link.is-active { background-color: #2a5acb; color: #fff; } .navbar.is-link .navbar-start .navbar-link::after, -.navbar.is-link .navbar-end .navbar-link::after { + .navbar.is-link .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { background-color: #2a5acb; color: #fff; } @@ -5838,7 +5853,7 @@ a.list-item { } } .navbar.is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } .navbar.is-info .navbar-brand > .navbar-item, @@ -5860,41 +5875,41 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-info .navbar-start > .navbar-item, -.navbar.is-info .navbar-start .navbar-link, -.navbar.is-info .navbar-end > .navbar-item, -.navbar.is-info .navbar-end .navbar-link { + .navbar.is-info .navbar-start .navbar-link, + .navbar.is-info .navbar-end > .navbar-item, + .navbar.is-info .navbar-end .navbar-link { color: #fff; } .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active, -.navbar.is-info .navbar-start .navbar-link:focus, -.navbar.is-info .navbar-start .navbar-link:hover, -.navbar.is-info .navbar-start .navbar-link.is-active, -.navbar.is-info .navbar-end > a.navbar-item:focus, -.navbar.is-info .navbar-end > a.navbar-item:hover, -.navbar.is-info .navbar-end > a.navbar-item.is-active, -.navbar.is-info .navbar-end .navbar-link:focus, -.navbar.is-info .navbar-end .navbar-link:hover, -.navbar.is-info .navbar-end .navbar-link.is-active { + .navbar.is-info .navbar-start .navbar-link:focus, + .navbar.is-info .navbar-start .navbar-link:hover, + .navbar.is-info .navbar-start .navbar-link.is-active, + .navbar.is-info .navbar-end > a.navbar-item:focus, + .navbar.is-info .navbar-end > a.navbar-item:hover, + .navbar.is-info .navbar-end > a.navbar-item.is-active, + .navbar.is-info .navbar-end .navbar-link:focus, + .navbar.is-info .navbar-end .navbar-link:hover, + .navbar.is-info .navbar-end .navbar-link.is-active { background-color: #118fe4; color: #fff; } .navbar.is-info .navbar-start .navbar-link::after, -.navbar.is-info .navbar-end .navbar-link::after { + .navbar.is-info .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { background-color: #118fe4; color: #fff; } .navbar.is-info .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } } .navbar.is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } .navbar.is-success .navbar-brand > .navbar-item, @@ -5916,41 +5931,41 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-success .navbar-start > .navbar-item, -.navbar.is-success .navbar-start .navbar-link, -.navbar.is-success .navbar-end > .navbar-item, -.navbar.is-success .navbar-end .navbar-link { + .navbar.is-success .navbar-start .navbar-link, + .navbar.is-success .navbar-end > .navbar-item, + .navbar.is-success .navbar-end .navbar-link { color: #fff; } .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active, -.navbar.is-success .navbar-start .navbar-link:focus, -.navbar.is-success .navbar-start .navbar-link:hover, -.navbar.is-success .navbar-start .navbar-link.is-active, -.navbar.is-success .navbar-end > a.navbar-item:focus, -.navbar.is-success .navbar-end > a.navbar-item:hover, -.navbar.is-success .navbar-end > a.navbar-item.is-active, -.navbar.is-success .navbar-end .navbar-link:focus, -.navbar.is-success .navbar-end .navbar-link:hover, -.navbar.is-success .navbar-end .navbar-link.is-active { + .navbar.is-success .navbar-start .navbar-link:focus, + .navbar.is-success .navbar-start .navbar-link:hover, + .navbar.is-success .navbar-start .navbar-link.is-active, + .navbar.is-success .navbar-end > a.navbar-item:focus, + .navbar.is-success .navbar-end > a.navbar-item:hover, + .navbar.is-success .navbar-end > a.navbar-item.is-active, + .navbar.is-success .navbar-end .navbar-link:focus, + .navbar.is-success .navbar-end .navbar-link:hover, + .navbar.is-success .navbar-end .navbar-link.is-active { background-color: #20bc56; color: #fff; } .navbar.is-success .navbar-start .navbar-link::after, -.navbar.is-success .navbar-end .navbar-link::after { + .navbar.is-success .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { background-color: #20bc56; color: #fff; } .navbar.is-success .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } } .navbar.is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .navbar.is-warning .navbar-brand > .navbar-item, @@ -5972,41 +5987,41 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-warning .navbar-start > .navbar-item, -.navbar.is-warning .navbar-start .navbar-link, -.navbar.is-warning .navbar-end > .navbar-item, -.navbar.is-warning .navbar-end .navbar-link { + .navbar.is-warning .navbar-start .navbar-link, + .navbar.is-warning .navbar-end > .navbar-item, + .navbar.is-warning .navbar-end .navbar-link { color: rgba(0, 0, 0, 0.7); } .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active, -.navbar.is-warning .navbar-start .navbar-link:focus, -.navbar.is-warning .navbar-start .navbar-link:hover, -.navbar.is-warning .navbar-start .navbar-link.is-active, -.navbar.is-warning .navbar-end > a.navbar-item:focus, -.navbar.is-warning .navbar-end > a.navbar-item:hover, -.navbar.is-warning .navbar-end > a.navbar-item.is-active, -.navbar.is-warning .navbar-end .navbar-link:focus, -.navbar.is-warning .navbar-end .navbar-link:hover, -.navbar.is-warning .navbar-end .navbar-link.is-active { + .navbar.is-warning .navbar-start .navbar-link:focus, + .navbar.is-warning .navbar-start .navbar-link:hover, + .navbar.is-warning .navbar-start .navbar-link.is-active, + .navbar.is-warning .navbar-end > a.navbar-item:focus, + .navbar.is-warning .navbar-end > a.navbar-item:hover, + .navbar.is-warning .navbar-end > a.navbar-item.is-active, + .navbar.is-warning .navbar-end .navbar-link:focus, + .navbar.is-warning .navbar-end .navbar-link:hover, + .navbar.is-warning .navbar-end .navbar-link.is-active { background-color: #ffd83d; color: rgba(0, 0, 0, 0.7); } .navbar.is-warning .navbar-start .navbar-link::after, -.navbar.is-warning .navbar-end .navbar-link::after { + .navbar.is-warning .navbar-end .navbar-link::after { border-color: rgba(0, 0, 0, 0.7); } .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { background-color: #ffd83d; color: rgba(0, 0, 0, 0.7); } .navbar.is-warning .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } } .navbar.is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } .navbar.is-danger .navbar-brand > .navbar-item, @@ -6028,36 +6043,36 @@ a.list-item { } @media screen and (min-width: 1024px) { .navbar.is-danger .navbar-start > .navbar-item, -.navbar.is-danger .navbar-start .navbar-link, -.navbar.is-danger .navbar-end > .navbar-item, -.navbar.is-danger .navbar-end .navbar-link { + .navbar.is-danger .navbar-start .navbar-link, + .navbar.is-danger .navbar-end > .navbar-item, + .navbar.is-danger .navbar-end .navbar-link { color: #fff; } .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active, -.navbar.is-danger .navbar-start .navbar-link:focus, -.navbar.is-danger .navbar-start .navbar-link:hover, -.navbar.is-danger .navbar-start .navbar-link.is-active, -.navbar.is-danger .navbar-end > a.navbar-item:focus, -.navbar.is-danger .navbar-end > a.navbar-item:hover, -.navbar.is-danger .navbar-end > a.navbar-item.is-active, -.navbar.is-danger .navbar-end .navbar-link:focus, -.navbar.is-danger .navbar-end .navbar-link:hover, -.navbar.is-danger .navbar-end .navbar-link.is-active { + .navbar.is-danger .navbar-start .navbar-link:focus, + .navbar.is-danger .navbar-start .navbar-link:hover, + .navbar.is-danger .navbar-start .navbar-link.is-active, + .navbar.is-danger .navbar-end > a.navbar-item:focus, + .navbar.is-danger .navbar-end > a.navbar-item:hover, + .navbar.is-danger .navbar-end > a.navbar-item.is-active, + .navbar.is-danger .navbar-end .navbar-link:focus, + .navbar.is-danger .navbar-end .navbar-link:hover, + .navbar.is-danger .navbar-end .navbar-link.is-active { background-color: #ff1f4b; color: #fff; } .navbar.is-danger .navbar-start .navbar-link::after, -.navbar.is-danger .navbar-end .navbar-link::after { + .navbar.is-danger .navbar-end .navbar-link::after { border-color: #fff; } .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link, -.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, -.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { + .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { background-color: #ff1f4b; color: #fff; } .navbar.is-danger .navbar-dropdown a.navbar-item.is-active { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } } @@ -6115,7 +6130,7 @@ body.has-navbar-fixed-bottom { } .navbar-burger { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); cursor: pointer; display: block; height: 3.25rem; @@ -6163,7 +6178,7 @@ body.has-navbar-fixed-bottom { .navbar-item, .navbar-link { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: block; line-height: 1.5; padding: 0.5rem 0.75rem; @@ -6184,7 +6199,7 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i .navbar-link:focus-within, .navbar-link:hover, .navbar-link.is-active { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); color: #3867d6; } @@ -6258,7 +6273,7 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i display: block; } .navbar-brand .navbar-item, -.navbar-tabs .navbar-item { + .navbar-tabs .navbar-item { align-items: center; display: flex; } @@ -6294,19 +6309,19 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i overflow: auto; } html.has-navbar-fixed-top-touch, -body.has-navbar-fixed-top-touch { + body.has-navbar-fixed-top-touch { padding-top: 3.25rem; } html.has-navbar-fixed-bottom-touch, -body.has-navbar-fixed-bottom-touch { + body.has-navbar-fixed-bottom-touch { padding-bottom: 3.25rem; } } @media screen and (min-width: 1024px) { .navbar, -.navbar-menu, -.navbar-start, -.navbar-end { + .navbar-menu, + .navbar-start, + .navbar-end { align-items: stretch; display: flex; } @@ -6317,17 +6332,17 @@ body.has-navbar-fixed-bottom-touch { padding: 1rem 2rem; } .navbar.is-spaced .navbar-start, -.navbar.is-spaced .navbar-end { + .navbar.is-spaced .navbar-end { align-items: center; } .navbar.is-spaced a.navbar-item, -.navbar.is-spaced .navbar-link { + .navbar.is-spaced .navbar-link { border-radius: 4px; } .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active, -.navbar.is-transparent .navbar-link:focus, -.navbar.is-transparent .navbar-link:hover, -.navbar.is-transparent .navbar-link.is-active { + .navbar.is-transparent .navbar-link:focus, + .navbar.is-transparent .navbar-link:hover, + .navbar.is-transparent .navbar-link.is-active { background-color: transparent !important; } .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link { @@ -6335,7 +6350,7 @@ body.has-navbar-fixed-bottom-touch { } .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { background-color: #f5f5f5; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active { background-color: #f5f5f5; @@ -6345,7 +6360,7 @@ body.has-navbar-fixed-bottom-touch { display: none; } .navbar-item, -.navbar-link { + .navbar-link { align-items: center; display: flex; } @@ -6359,7 +6374,7 @@ body.has-navbar-fixed-bottom-touch { transform: rotate(135deg) translate(0.25em, -0.25em); } .navbar-item.has-dropdown-up .navbar-dropdown { - border-bottom: 2px solid hsl(0deg, 0%, 86%); + border-bottom: 2px solid hsl(0, 0%, 86%); border-radius: 6px 6px 0 0; border-top: none; bottom: 100%; @@ -6390,7 +6405,7 @@ body.has-navbar-fixed-bottom-touch { background-color: #fff; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; - border-top: 2px solid hsl(0deg, 0%, 86%); + border-top: 2px solid hsl(0, 0%, 86%); box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); display: none; font-size: 0.875rem; @@ -6409,7 +6424,7 @@ body.has-navbar-fixed-bottom-touch { } .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover { background-color: #f5f5f5; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .navbar-dropdown a.navbar-item.is-active { background-color: #f5f5f5; @@ -6435,11 +6450,11 @@ body.has-navbar-fixed-bottom-touch { display: block; } .navbar > .container .navbar-brand, -.container > .navbar .navbar-brand { + .container > .navbar .navbar-brand { margin-left: -0.75rem; } .navbar > .container .navbar-menu, -.container > .navbar .navbar-menu { + .container > .navbar .navbar-menu { margin-right: -0.75rem; } .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop { @@ -6458,31 +6473,31 @@ body.has-navbar-fixed-bottom-touch { top: 0; } html.has-navbar-fixed-top-desktop, -body.has-navbar-fixed-top-desktop { + body.has-navbar-fixed-top-desktop { padding-top: 3.25rem; } html.has-navbar-fixed-bottom-desktop, -body.has-navbar-fixed-bottom-desktop { + body.has-navbar-fixed-bottom-desktop { padding-bottom: 3.25rem; } html.has-spaced-navbar-fixed-top, -body.has-spaced-navbar-fixed-top { + body.has-spaced-navbar-fixed-top { padding-top: 5.25rem; } html.has-spaced-navbar-fixed-bottom, -body.has-spaced-navbar-fixed-bottom { + body.has-spaced-navbar-fixed-bottom { padding-bottom: 5.25rem; } a.navbar-item.is-active, -.navbar-link.is-active { - color: hsl(0deg, 0%, 4%); + .navbar-link.is-active { + color: hsl(0, 0%, 4%); } a.navbar-item.is-active:not(:focus):not(:hover), -.navbar-link.is-active:not(:focus):not(:hover) { + .navbar-link.is-active:not(:focus):not(:hover) { background-color: transparent; } .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); } } .hero.is-fullheight-with-navbar { @@ -6535,20 +6550,20 @@ body.has-spaced-navbar-fixed-bottom { .pagination-previous, .pagination-next, .pagination-link { - border-color: hsl(0deg, 0%, 86%); - color: hsl(0deg, 0%, 21%); + border-color: hsl(0, 0%, 86%); + color: hsl(0, 0%, 21%); min-width: 2.25em; } .pagination-previous:hover, .pagination-next:hover, .pagination-link:hover { border-color: #dbdbdb; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .pagination-previous:focus, .pagination-next:focus, .pagination-link:focus { - border-color: hsl(217deg, 71%, 53%); + border-color: hsl(217, 71%, 53%); } .pagination-previous:active, .pagination-next:active, @@ -6558,10 +6573,10 @@ body.has-spaced-navbar-fixed-bottom { .pagination-previous[disabled], .pagination-next[disabled], .pagination-link[disabled] { - background-color: hsl(0deg, 0%, 86%); - border-color: hsl(0deg, 0%, 86%); + background-color: hsl(0, 0%, 86%); + border-color: hsl(0, 0%, 86%); box-shadow: none; - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); opacity: 0.5; } @@ -6592,7 +6607,7 @@ body.has-spaced-navbar-fixed-bottom { flex-wrap: wrap; } .pagination-previous, -.pagination-next { + .pagination-next { flex-grow: 1; flex-shrink: 1; } @@ -6648,20 +6663,20 @@ body.has-spaced-navbar-fixed-bottom { .panel-heading, .panel-tabs, .panel-block { - border-bottom: 1px solid hsl(0deg, 0%, 86%); - border-left: 1px solid hsl(0deg, 0%, 86%); - border-right: 1px solid hsl(0deg, 0%, 86%); + border-bottom: 1px solid hsl(0, 0%, 86%); + border-left: 1px solid hsl(0, 0%, 86%); + border-right: 1px solid hsl(0, 0%, 86%); } .panel-heading:first-child, .panel-tabs:first-child, .panel-block:first-child { - border-top: 1px solid hsl(0deg, 0%, 86%); + border-top: 1px solid hsl(0, 0%, 86%); } .panel-heading { background-color: #f5f5f5; border-radius: 4px 4px 0 0; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); font-size: 1.25em; font-weight: 300; line-height: 1.25; @@ -6675,17 +6690,17 @@ body.has-spaced-navbar-fixed-bottom { justify-content: center; } .panel-tabs a { - border-bottom: 1px solid hsl(0deg, 0%, 86%); + border-bottom: 1px solid hsl(0, 0%, 86%); margin-bottom: -1px; padding: 0.5em; } .panel-tabs a.is-active { - border-bottom-color: hsl(0deg, 0%, 29%); - color: hsl(0deg, 0%, 21%); + border-bottom-color: hsl(0, 0%, 29%); + color: hsl(0, 0%, 21%); } .panel-list a { - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); } .panel-list a:hover { color: #3867d6; @@ -6693,7 +6708,7 @@ body.has-spaced-navbar-fixed-bottom { .panel-block { align-items: center; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); display: flex; justify-content: flex-start; padding: 0.5em 0.75em; @@ -6711,7 +6726,7 @@ body.has-spaced-navbar-fixed-bottom { } .panel-block.is-active { border-left-color: #3867d6; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .panel-block.is-active .panel-icon { color: #3867d6; @@ -6734,7 +6749,7 @@ label.panel-block:hover { text-align: center; vertical-align: top; width: 1em; - color: hsl(0deg, 0%, 48%); + color: hsl(0, 0%, 48%); margin-right: 0.75em; } .panel-icon .fa { @@ -6754,10 +6769,10 @@ label.panel-block:hover { } .tabs a { align-items: center; - border-bottom-color: hsl(0deg, 0%, 86%); + border-bottom-color: hsl(0, 0%, 86%); border-bottom-style: solid; border-bottom-width: 1px; - color: hsl(0deg, 0%, 29%); + color: hsl(0, 0%, 29%); display: flex; justify-content: center; margin-bottom: -1px; @@ -6765,8 +6780,8 @@ label.panel-block:hover { vertical-align: top; } .tabs a:hover { - border-bottom-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 21%); + border-bottom-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 21%); } .tabs li { display: block; @@ -6777,7 +6792,7 @@ label.panel-block:hover { } .tabs ul { align-items: center; - border-bottom-color: hsl(0deg, 0%, 86%); + border-bottom-color: hsl(0, 0%, 86%); border-bottom-style: solid; border-bottom-width: 1px; display: flex; @@ -6816,11 +6831,11 @@ label.panel-block:hover { } .tabs.is-boxed a:hover { background-color: #f5f5f5; - border-bottom-color: hsl(0deg, 0%, 86%); + border-bottom-color: hsl(0, 0%, 86%); } .tabs.is-boxed li.is-active a { background-color: #fff; - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-bottom-color: transparent !important; } .tabs.is-fullwidth li { @@ -6828,7 +6843,7 @@ label.panel-block:hover { flex-shrink: 0; } .tabs.is-toggle a { - border-color: hsl(0deg, 0%, 86%); + border-color: hsl(0, 0%, 86%); border-style: solid; border-width: 1px; margin-bottom: 0; @@ -8614,21 +8629,21 @@ label.panel-block:hover { } .hero.is-white { background-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .hero.is-white strong { color: inherit; } .hero.is-white .title { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .hero.is-white .subtitle { color: rgba(10, 10, 10, 0.9); } .hero.is-white .subtitle a:not(.button), .hero.is-white .subtitle strong { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } @media screen and (max-width: 1023px) { .hero.is-white .navbar-menu { @@ -8643,10 +8658,10 @@ label.panel-block:hover { .hero.is-white .navbar-link:hover, .hero.is-white .navbar-link.is-active { background-color: #f2f2f2; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .hero.is-white .tabs a { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); opacity: 0.9; } .hero.is-white .tabs a:hover { @@ -8656,14 +8671,14 @@ label.panel-block:hover { opacity: 1; } .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover { background-color: rgba(10, 10, 10, 0.1); } .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover { - background-color: hsl(0deg, 0%, 4%); - border-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); + border-color: hsl(0, 0%, 4%); color: #fff; } .hero.is-white.is-bold { @@ -8675,7 +8690,7 @@ label.panel-block:hover { } } .hero.is-black { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); color: #fff; } .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), @@ -8694,7 +8709,7 @@ label.panel-block:hover { } @media screen and (max-width: 1023px) { .hero.is-black .navbar-menu { - background-color: hsl(0deg, 0%, 4%); + background-color: hsl(0, 0%, 4%); } } .hero.is-black .navbar-item, @@ -8726,37 +8741,37 @@ label.panel-block:hover { .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover { background-color: #fff; border-color: #fff; - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); } .hero.is-black.is-bold { - background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 4%) 71%, #181616 100%); + background-image: linear-gradient(141deg, black 0%, hsl(0, 0%, 4%) 71%, #181616 100%); } @media screen and (max-width: 768px) { .hero.is-black.is-bold .navbar-menu { - background-image: linear-gradient(141deg, black 0%, hsl(0deg, 0%, 4%) 71%, #181616 100%); + background-image: linear-gradient(141deg, black 0%, hsl(0, 0%, 4%) 71%, #181616 100%); } } .hero.is-light { - background-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .hero.is-light strong { color: inherit; } .hero.is-light .title { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .hero.is-light .subtitle { color: rgba(54, 54, 54, 0.9); } .hero.is-light .subtitle a:not(.button), .hero.is-light .subtitle strong { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } @media screen and (max-width: 1023px) { .hero.is-light .navbar-menu { - background-color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 96%); } } .hero.is-light .navbar-item, @@ -8767,10 +8782,10 @@ label.panel-block:hover { .hero.is-light .navbar-link:hover, .hero.is-light .navbar-link.is-active { background-color: #e8e8e8; - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .hero.is-light .tabs a { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); opacity: 0.9; } .hero.is-light .tabs a:hover { @@ -8780,45 +8795,45 @@ label.panel-block:hover { opacity: 1; } .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a { - color: hsl(0deg, 0%, 21%); + color: hsl(0, 0%, 21%); } .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover { background-color: rgba(10, 10, 10, 0.1); } .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover { - background-color: hsl(0deg, 0%, 21%); - border-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + border-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .hero.is-light.is-bold { - background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%); + background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0, 0%, 96%) 71%, white 100%); } @media screen and (max-width: 768px) { .hero.is-light.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0deg, 0%, 96%) 71%, white 100%); + background-image: linear-gradient(141deg, #dfd8d9 0%, hsl(0, 0%, 96%) 71%, white 100%); } } .hero.is-dark { - background-color: hsl(0deg, 0%, 21%); - color: hsl(0deg, 0%, 96%); + background-color: hsl(0, 0%, 21%); + color: hsl(0, 0%, 96%); } .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .hero.is-dark strong { color: inherit; } .hero.is-dark .title { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .hero.is-dark .subtitle { color: rgba(245, 245, 245, 0.9); } .hero.is-dark .subtitle a:not(.button), .hero.is-dark .subtitle strong { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } @media screen and (max-width: 1023px) { .hero.is-dark .navbar-menu { - background-color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 21%); } } .hero.is-dark .navbar-item, @@ -8829,10 +8844,10 @@ label.panel-block:hover { .hero.is-dark .navbar-link:hover, .hero.is-dark .navbar-link.is-active { background-color: #292929; - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .hero.is-dark .tabs a { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); opacity: 0.9; } .hero.is-dark .tabs a:hover { @@ -8842,22 +8857,22 @@ label.panel-block:hover { opacity: 1; } .hero.is-dark .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a { - color: hsl(0deg, 0%, 96%); + color: hsl(0, 0%, 96%); } .hero.is-dark .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover { background-color: rgba(10, 10, 10, 0.1); } .hero.is-dark .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover { - background-color: hsl(0deg, 0%, 96%); - border-color: hsl(0deg, 0%, 96%); - color: hsl(0deg, 0%, 21%); + background-color: hsl(0, 0%, 96%); + border-color: hsl(0, 0%, 96%); + color: hsl(0, 0%, 21%); } .hero.is-dark.is-bold { - background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%); + background-image: linear-gradient(141deg, #1f191a 0%, hsl(0, 0%, 21%) 71%, #46403f 100%); } @media screen and (max-width: 768px) { .hero.is-dark.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #1f191a 0%, hsl(0deg, 0%, 21%) 71%, #46403f 100%); + background-image: linear-gradient(141deg, #1f191a 0%, hsl(0, 0%, 21%) 71%, #46403f 100%); } } .hero.is-primary { @@ -8985,7 +9000,7 @@ label.panel-block:hover { } } .hero.is-info { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); color: #fff; } .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), @@ -9004,7 +9019,7 @@ label.panel-block:hover { } @media screen and (max-width: 1023px) { .hero.is-info .navbar-menu { - background-color: hsl(204deg, 86%, 53%); + background-color: hsl(204, 86%, 53%); } } .hero.is-info .navbar-item, @@ -9036,18 +9051,18 @@ label.panel-block:hover { .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover { background-color: #fff; border-color: #fff; - color: hsl(204deg, 86%, 53%); + color: hsl(204, 86%, 53%); } .hero.is-info.is-bold { - background-image: linear-gradient(141deg, #04a6d7 0%, hsl(204deg, 86%, 53%) 71%, #3287f5 100%); + background-image: linear-gradient(141deg, #04a6d7 0%, hsl(204, 86%, 53%) 71%, #3287f5 100%); } @media screen and (max-width: 768px) { .hero.is-info.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #04a6d7 0%, hsl(204deg, 86%, 53%) 71%, #3287f5 100%); + background-image: linear-gradient(141deg, #04a6d7 0%, hsl(204, 86%, 53%) 71%, #3287f5 100%); } } .hero.is-success { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); color: #fff; } .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), @@ -9066,7 +9081,7 @@ label.panel-block:hover { } @media screen and (max-width: 1023px) { .hero.is-success .navbar-menu { - background-color: hsl(141deg, 71%, 48%); + background-color: hsl(141, 71%, 48%); } } .hero.is-success .navbar-item, @@ -9098,18 +9113,18 @@ label.panel-block:hover { .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover { background-color: #fff; border-color: #fff; - color: hsl(141deg, 71%, 48%); + color: hsl(141, 71%, 48%); } .hero.is-success.is-bold { - background-image: linear-gradient(141deg, #12af2f 0%, hsl(141deg, 71%, 48%) 71%, #2ce28a 100%); + background-image: linear-gradient(141deg, #12af2f 0%, hsl(141, 71%, 48%) 71%, #2ce28a 100%); } @media screen and (max-width: 768px) { .hero.is-success.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #12af2f 0%, hsl(141deg, 71%, 48%) 71%, #2ce28a 100%); + background-image: linear-gradient(141deg, #12af2f 0%, hsl(141, 71%, 48%) 71%, #2ce28a 100%); } } .hero.is-warning { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); color: rgba(0, 0, 0, 0.7); } .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), @@ -9128,7 +9143,7 @@ label.panel-block:hover { } @media screen and (max-width: 1023px) { .hero.is-warning .navbar-menu { - background-color: hsl(48deg, 100%, 67%); + background-color: hsl(48, 100%, 67%); } } .hero.is-warning .navbar-item, @@ -9160,18 +9175,18 @@ label.panel-block:hover { .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover { background-color: rgba(0, 0, 0, 0.7); border-color: rgba(0, 0, 0, 0.7); - color: hsl(48deg, 100%, 67%); + color: hsl(48, 100%, 67%); } .hero.is-warning.is-bold { - background-image: linear-gradient(141deg, #ffaf24 0%, hsl(48deg, 100%, 67%) 71%, #fffa70 100%); + background-image: linear-gradient(141deg, #ffaf24 0%, hsl(48, 100%, 67%) 71%, #fffa70 100%); } @media screen and (max-width: 768px) { .hero.is-warning.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #ffaf24 0%, hsl(48deg, 100%, 67%) 71%, #fffa70 100%); + background-image: linear-gradient(141deg, #ffaf24 0%, hsl(48, 100%, 67%) 71%, #fffa70 100%); } } .hero.is-danger { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); color: #fff; } .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), @@ -9190,7 +9205,7 @@ label.panel-block:hover { } @media screen and (max-width: 1023px) { .hero.is-danger .navbar-menu { - background-color: hsl(348deg, 100%, 61%); + background-color: hsl(348, 100%, 61%); } } .hero.is-danger .navbar-item, @@ -9222,14 +9237,14 @@ label.panel-block:hover { .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover { background-color: #fff; border-color: #fff; - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } .hero.is-danger.is-bold { - background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%); + background-image: linear-gradient(141deg, #ff0561 0%, hsl(348, 100%, 61%) 71%, #ff5257 100%); } @media screen and (max-width: 768px) { .hero.is-danger.is-bold .navbar-menu { - background-image: linear-gradient(141deg, #ff0561 0%, hsl(348deg, 100%, 61%) 71%, #ff5257 100%); + background-image: linear-gradient(141deg, #ff0561 0%, hsl(348, 100%, 61%) 71%, #ff5257 100%); } } .hero.is-small .hero-body { @@ -9329,10 +9344,448 @@ label.panel-block:hover { } .footer { - background-color: hsl(0deg, 0%, 98%); + background-color: hsl(0, 0%, 98%); padding: 3rem 1.5rem 6rem; } +.yasqe .CodeMirror { + min-height: 60px; +} +.yasqe .svgImg { + display: inline-block; +} +.yasqe span.shortlinkErr { + font-size: small; + color: red; + font-weight: bold; + float: left; +} +.yasqe .CodeMirror-hint { + max-width: 30em; +} +.yasqe .notificationContainer { + width: 100%; + display: flex; + justify-content: center; + position: absolute; + bottom: 0; +} +.yasqe .notification { + z-index: 4; + padding: 0 5px; + max-height: 0px; + color: #999; + background-color: #eee; + font-size: 90%; + text-align: center; + transition: max-height 0.2s ease-in; + border-top-right-radius: 2px; + border-top-left-radius: 2px; +} +.yasqe .notification.active { + max-height: 3rem; +} +.yasqe .parseErrorIcon { + width: 13px; + height: 13px; + margin-top: 2px; + margin-left: 2px; +} +.yasqe .parseErrorIcon svg g { + fill: red; +} +.yasqe .yasqe_tooltip { + background: #333; + background: rgba(0, 0, 0, 0.8); + border-radius: 5px; + color: #fff; + padding: 5px 15px; + width: 220px; + white-space: pre-wrap; + white-space: normal; + margin-top: 5px; +} +.yasqe .notificationLoader { + width: 18px; + height: 18px; + vertical-align: middle; +} +.yasqe .resizeWrapper { + width: 100%; + height: 10px; + display: flex; + align-items: center; + justify-content: center; + cursor: row-resize; +} +.yasqe .resizeChip { + width: 20%; + height: 4px; + background-color: #d1d1d1; + visibility: hidden; + border-radius: 2px; +} +.yasqe:hover .resizeChip { + visibility: visible; +} + +.yasqe .yasqe_btn { + color: #333; + border: 1px solid transparent; + background-color: #fff; + border-color: #ccc; + border-width: 1px; + display: inline-block; + text-align: center; + vertical-align: middle; + cursor: pointer; + white-space: nowrap; + padding: 6px 12px; + border-radius: 2px; + user-select: none; + overflow: visible; + box-sizing: border-box; +} +.yasqe .yasqe_btn.btn_icon { + padding: 4px 8px; +} +.yasqe .yasqe_btn[disabled], .yasqe .yasqe_btn.disabled { + cursor: default; + opacity: 0.5; + filter: alpha(opacity=50); + box-shadow: none; +} +.yasqe .yasqe_btn:hover { + outline: 0; + background-color: #ebebeb; + border-color: #adadad; +} +.yasqe .yasqe_btn:focus, .yasqe .yasqe_btn.selected { + color: #fff; + outline: 0; + background-color: #337ab7; + border-color: #337ab7; +} +.yasqe .yasqe_btn.btn_icon:focus { + color: #333; + border: 1px solid transparent; + background-color: #fff; + border-color: #ccc; +} +.yasqe .yasqe_btn.yasqe_btn-sm { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.yasqe .yasqe_buttons { + position: absolute; + top: 10px; + right: 20px; + z-index: 5; +} +.yasqe .yasqe_buttons svg { + fill: #505050; +} +.yasqe .yasqe_buttons .yasqe_share { + cursor: pointer; + margin-top: 3px; + display: inline-block; + border: none; + background: none; +} +.yasqe .yasqe_buttons .yasqe_share svg { + height: 25px; + width: 25px; +} +.yasqe .yasqe_buttons button { + vertical-align: top; + margin-left: 5px; +} +.yasqe .yasqe_buttons .yasqe_sharePopup { + position: absolute; + padding: 4px; + margin-left: 0px; + background-color: #fff; + border: 1px solid #e3e3e3; + border-radius: 2px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + width: 600px; + height: auto; + display: flex; +} +.yasqe .yasqe_buttons .yasqe_sharePopup .inputWrapper { + flex-grow: 100; +} +.yasqe .yasqe_buttons .yasqe_sharePopup input { + float: left; + width: 100%; + border: 0px; + -ms-box-sizing: border-box; + /* ie8 */ + -khtml-box-sizing: border-box; + /* konqueror */ + -webkit-box-sizing: border-box; + /* Safari/Chrome, other WebKit */ + -moz-box-sizing: border-box; + /* Firefox, other Gecko */ + box-sizing: border-box; + /* Opera/IE 8+ */ + box-sizing: border-box; + /* css3 rec */ +} +.yasqe .yasqe_buttons .yasqe_sharePopup button { + float: right; + margin-left: 5px; +} +.yasqe .yasqe_buttons .yasqe_sharePopup textarea { + width: 100%; +} +.yasqe .yasqe_buttons .yasqe_queryButton { + display: inline-block; + position: relative; + border: none; + background: none; + padding: 0; + cursor: pointer; + width: 40px; + height: 40px; +} +.yasqe .yasqe_buttons .yasqe_queryButton .queryIcon { + display: block; +} +.yasqe .yasqe_buttons .yasqe_queryButton .queryIcon svg { + width: 40px; + height: 40px; +} +.yasqe .yasqe_buttons .yasqe_queryButton .svgImg { + position: absolute; + height: inherit; + top: 0; +} +.yasqe .yasqe_buttons .yasqe_queryButton.busy svg #loadingIcon { + stroke-dasharray: 100; + animation: dash 1.5s linear infinite; + stroke-width: 8px; + stroke: white; +} +@keyframes dash { + to { + stroke-dashoffset: 200; + } +} +@keyframes rotate { + 100% { + transform: rotate(360deg); + } +} +.yasqe .yasqe_buttons .yasqe_queryButton .warningIcon { + display: none; +} +.yasqe .yasqe_buttons .yasqe_queryButton.query_error .warningIcon { + display: block; + top: 5px; + right: 0px; +} +.yasqe .yasqe_buttons .yasqe_queryButton.query_error .warningIcon svg { + width: 15px; + height: 15px; +} +.yasqe .yasqe_buttons .yasqe_queryButton.query_error .warningIcon svg g { + fill: red; +} +.yasqe .yasqe_buttons .yasqe_queryButton.query_disabled { + cursor: not-allowed; +} +.yasqe .yasqe_buttons .yasqe_queryButton.query_disabled .queryIcon { + opacity: 0.5; + filter: alpha(opacity=50); +} +@-webkit-keyframes spin { + 100% { + transform: rotate(360deg); + } +} + +.yasqe .CodeMirror { + line-height: 1.5em; + font-size: 14px; + border: 1px solid #d1d1d1; +} +.yasqe span.cm-error { + border-bottom: 2px dotted red; +} +.yasqe .gutterErrorBar { + width: 4px; +} +.yasqe .CodeMirror-foldmarker { + color: #6e2500; + text-shadow: #ff935e 1px 1px 2px, #ff935e -1px -1px 2px, #ff935e 1px -1px 2px, #ff935e -1px 1px 2px; + font-size: 19px; +} +.yasqe .cm-matchhighlight { + background-color: #dbdeed; +} + +.CodeMirror-hints.default { + max-width: 1000px; +} + +.CodeMirror-hints.default li { + text-overflow: ellipsis; + overflow: hidden; +} + +@media only screen and (max-width: 1000px) { + .CodeMirror-hints.default { + max-width: 800px; + } +} +.yasr .yasr_btn { + border: none; + background: inherit; +} +.yasr .svgImg { + display: flex; + flex-direction: row; +} +.yasr .svgImg svg { + max-width: 100%; + max-height: 100%; + width: 15px; + height: 15px; + align-self: center; +} +.yasr .yasr_btn.yasr_external_ref_btn { + font-weight: 600; + user-select: none; +} +.yasr .yasr_btn.yasr_external_ref_btn:active, .yasr .yasr_btn.yasr_external_ref_btn:focus { + color: inherit; + text-decoration-color: inherit; +} +.yasr .yasr_btn.yasr_external_ref_btn .svgImg svg { + width: 18px; + height: 18px; +} +.yasr a { + color: #428bca; + text-decoration: none; +} +.yasr a:hover, .yasr a:active { + outline: 0; + color: #2a6496; + text-decoration: underline; +} +.yasr .yasr_btnGroup { + margin: 0; + padding: 0; + list-style: none; + display: flex; + overflow-x: auto; + overflow-y: hidden; +} +.yasr .yasr_btnGroup .plugin_icon { + height: 15px; + width: 15px; + margin-right: 5px; + text-align: center; +} +.yasr .yasr_btnGroup .yasr_btn { + border-bottom: 2px solid transparent; + padding-left: 6px; + padding-right: 6px; + margin-left: 6px; + margin-right: 6px; +} +.yasr .yasr_btnGroup .yasr_btn.selected { + border-bottom: 2px solid #337ab7; +} +@media (max-width: 768px) { + .yasr .yasr_btn span { + display: none; + } + .yasr .yasr_btn .plugin_icon { + margin-right: 0px; + } +} +.yasr .yasr_header { + display: flex; + flex-wrap: wrap; +} +.yasr .yasr_fallback_info:not(:empty) { + margin-top: 5px; + border: 1px solid #d1d1d1; + padding: 0.5rem; + background: #f7f7f7; +} +.yasr .yasr_fallback_info:not(:empty) p { + margin: 0; +} +.yasr .yasr_help_variable { + background: #dff0ff; + color: #428bca; +} +.yasr .yasr_response_chip { + color: #505050; + background: #f5f5f5; + border-radius: 6px; + display: flex; + font-size: 11pt; + max-height: 16pt; + align-self: center; + align-items: center; + justify-content: center; + white-space: nowrap; + padding: 6px 6px; + margin-left: 5px; + overflow: visible; + box-sizing: border-box; +} +.yasr .yasr_response_chip.empty { + display: none; +} +.yasr .yasr_plugin_control { + display: flex; + margin-left: auto; + align-items: center; +} +.yasr .yasr_plugin_control:empty { + display: none; +} +.yasr .yasr_btn { + color: #505050; + fill: #505050; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + white-space: nowrap; + padding: 6px 12px; + overflow: visible; + box-sizing: border-box; +} +.yasr .yasr_btn.btn_icon { + padding: 4px 8px; +} +.yasr .yasr_btn[disabled], .yasr .yasr_btn.disabled { + cursor: default; + opacity: 0.5; + box-shadow: none; +} +.yasr .yasr_btn:not(.disabled):hover { + fill: black; + color: black; +} +.yasr .yasr_btn:focus, .yasr .yasr_btn.selected { + color: #337ab7; + fill: #337ab7; +} +.yasr .space_element { + flex-grow: 1; + min-width: 10px; +} + .override-checkbox { padding-bottom: 0.2em; } @@ -9434,11 +9887,11 @@ label.panel-block:hover { } .dashing.error circle { - stroke: hsl(348deg, 100%, 61%) !important; + stroke: hsl(348, 100%, 61%) !important; } .dashing.error line { - stroke: hsl(348deg, 100%, 61%) !important; + stroke: hsl(348, 100%, 61%) !important; } .dashing p { @@ -9450,7 +9903,7 @@ label.panel-block:hover { color: #65bdb2; } .dashing p.error { - color: hsl(348deg, 100%, 61%); + color: hsl(348, 100%, 61%); } @-webkit-keyframes dash { @@ -9876,7 +10329,7 @@ img[alt$="<"] { margin-left: 1em; } .toc li a { - color: hsl(0deg, 0%, 4%); + color: hsl(0, 0%, 4%); line-height: 2; } @@ -10195,7 +10648,25 @@ body.has-navbar-fixed-top { } .CodeMirror { - height: auto !important; + /* height: auto !important; */ +} + +.yasr_header div { + display: flex !important; +} + +.yasr_header .switch { + display: none; +} + +.yasr_header .tableFilter { + margin-right: 8px; +} + +.yasqe .CodeMirror-sizer { + border-right-width: 0 !important; + padding-right: 15px; + margin-bottom: -20px; } .CodeMirror-line { @@ -10250,8 +10721,13 @@ body.has-navbar-fixed-top { fill: rgb(200, 200, 200); } -.yasqe_buttons { - display: none !important; +.yasqe .yasqe_buttons .yasqe_share { + display: none; +} + +.yasqe .yasqe_buttons .yasqe_queryButton { + margin-right: 0.2em; + margin-top: 0.2em; } .editable-collection-element { diff --git a/public/css/website.scss b/public/css/website.scss index 576d0e5b..1056eb39 100644 --- a/public/css/website.scss +++ b/public/css/website.scss @@ -26,8 +26,16 @@ @import 'colors'; @import 'collections'; -@import '../node_modules/codemirror/lib/codemirror.css'; @import '../node_modules/bulma/bulma.sass'; + + +@import '../node_modules/codemirror/lib/codemirror.css'; +@import '../node_modules/@triply/yasqe/src/scss/yasqe.scss'; +@import '../node_modules/@triply/yasqe/src/scss/buttons.scss'; +@import '../node_modules/@triply/yasqe/src/scss/codemirrorMods.scss'; + +@import '../node_modules/@triply/yasr/src/main.scss'; + @import 'override-checkbox'; @import 'checkmarks'; @import 'yasqe'; @@ -207,7 +215,29 @@ body.has-navbar-fixed-top { } .CodeMirror { - height: auto !important; + /* height: auto !important; */ +} + +.yasqe .CodeMirror-scroll { + //padding-bottom: 0 !important; +} + +.yasr_header div { + display: flex !important; +} + +.yasr_header .switch { + display: none; +} + +.yasr_header .tableFilter { + margin-right: 8px; +} + +.yasqe .CodeMirror-sizer { + border-right-width: 0 !important; + padding-right: 15px; + margin-bottom: -20px; } .CodeMirror-line { @@ -262,8 +292,13 @@ body.has-navbar-fixed-top { fill: rgba(200, 200, 200, 1); } -.yasqe_buttons { - display: none !important; +.yasqe .yasqe_buttons .yasqe_share { + display: none; +} + +.yasqe .yasqe_buttons .yasqe_queryButton { + margin-right: .2em; + margin-top: .2em; } .editable-collection-element { diff --git a/public/dist/main.js b/public/dist/main.js index e4aff5f2..45818af7 100644 --- a/public/dist/main.js +++ b/public/dist/main.js @@ -15,7 +15,7 @@ \***********************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { -eval("const AccountPageController = __webpack_require__(/*! ./page-controller/account-controller */ \"./js/page-controller/account-controller.js\");\nconst ArtifactPageController = __webpack_require__(/*! ./page-controller/artifact-controller */ \"./js/page-controller/artifact-controller.js\");\nconst FrontPageController = __webpack_require__(/*! ./page-controller/frontpage-controller */ \"./js/page-controller/frontpage-controller.js\");\nconst HeaderController = __webpack_require__(/*! ./page-controller/header-controller */ \"./js/page-controller/header-controller.js\");\nconst CollectionController = __webpack_require__(/*! ./page-controller/collection-controller */ \"./js/page-controller/collection-controller.js\");\nconst CollectionsEditorController = __webpack_require__(/*! ./page-controller/collections-editor-controller */ \"./js/page-controller/collections-editor-controller.js\");\nconst GroupPageController = __webpack_require__(/*! ./page-controller/group-controller */ \"./js/page-controller/group-controller.js\");\nconst ProfileController = __webpack_require__(/*! ./page-controller/profile-controller */ \"./js/page-controller/profile-controller.js\");\nconst PublishWizardController = __webpack_require__(/*! ./page-controller/publish-wizard-controller */ \"./js/page-controller/publish-wizard-controller.js\");\nconst VersionPageController = __webpack_require__(/*! ./page-controller/version-controller */ \"./js/page-controller/version-controller.js\");\nconst DatabusCollectionManager = __webpack_require__(/*! ./collections/databus-collection-manager */ \"./js/collections/databus-collection-manager.js\");\nconst SearchManager = __webpack_require__(/*! ./search/search-manager */ \"./js/search/search-manager.js\");\nconst SearchController = __webpack_require__(/*! ./components/search/search-controller */ \"./js/components/search/search-controller.js\");\nconst DatabusAlertController = __webpack_require__(/*! ./components/databus-alert/databus-alert-controller */ \"./js/components/databus-alert/databus-alert-controller.js\");\nconst EntityCardController = __webpack_require__(/*! ./components/entity-card/entity-card */ \"./js/components/entity-card/entity-card.js\");\nconst OverrideCheckboxController = __webpack_require__(/*! ./components/override-checkbox/override-checkbox */ \"./js/components/override-checkbox/override-checkbox.js\");\nconst AutofillDropdownController = __webpack_require__(/*! ./components/autofill-dropdown/autofill-dropdown */ \"./js/components/autofill-dropdown/autofill-dropdown.js\");\nconst DatabusIconController = __webpack_require__(/*! ./components/databus-icon/databus-icon */ \"./js/components/databus-icon/databus-icon.js\");\nconst TypeTagController = __webpack_require__(/*! ./components/type-tag/type-tag */ \"./js/components/type-tag/type-tag.js\");\nconst CollectionEditorWidgetController = __webpack_require__(/*! ./components/collection-editor-widget/collection-editor-widget */ \"./js/components/collection-editor-widget/collection-editor-widget.js\");\nconst CollectionHierarchyControllerTwo = __webpack_require__(/*! ./components/collection-hierarchy-two/collection-hierarchy */ \"./js/components/collection-hierarchy-two/collection-hierarchy.js\");\nconst UriBreadcrumbsController = __webpack_require__(/*! ./components/uri-breadcrumbs/uri-breadcrumbs */ \"./js/components/uri-breadcrumbs/uri-breadcrumbs.js\");\nconst TableEditorController = __webpack_require__(/*! ./components/table-editor/table-editor */ \"./js/components/table-editor/table-editor.js\");\nconst MultiselectDropdownController = __webpack_require__(/*! ./components/multiselect-dropdown/multiselect-dropdown */ \"./js/components/multiselect-dropdown/multiselect-dropdown.js\");\nconst FileBrowserController = __webpack_require__(/*! ./components/file-browser/file-browser */ \"./js/components/file-browser/file-browser.js\");\nconst FacetsViewController = __webpack_require__(/*! ./components/facets-view/facets-view */ \"./js/components/facets-view/facets-view.js\");\nconst ExpandableArrowController = __webpack_require__(/*! ./components/expandable-arrow/expandable-arrow */ \"./js/components/expandable-arrow/expandable-arrow.js\");\nconst YasqeTextController = __webpack_require__(/*! ./components/yasqe-text/yasqe-text */ \"./js/components/yasqe-text/yasqe-text.js\");\nconst CollectionStatisticsController = __webpack_require__(/*! ./components/collection-statistics/collection-statistics */ \"./js/components/collection-statistics/collection-statistics.js\");\nconst CollectionNodeController = __webpack_require__(/*! ./components/collection-node/collection-node */ \"./js/components/collection-node/collection-node.js\");\nconst CollectionSearchController = __webpack_require__(/*! ./components/collection-search/collection-search */ \"./js/components/collection-search/collection-search.js\");\nconst CollectionStatusController = __webpack_require__(/*! ./components/collection-status/collection-status */ \"./js/components/collection-status/collection-status.js\");\nconst CollectionDataTableController = __webpack_require__(/*! ./components/collection-data-table/collection-data-table */ \"./js/components/collection-data-table/collection-data-table.js\");\nconst AccountHistoryController = __webpack_require__(/*! ./components/account-history/account-history */ \"./js/components/account-history/account-history.js\");\n\nvar databusApplication = angular.module(\"databusApplication\", [])\n .controller(\"HeaderController\", [\"$scope\", \"$http\", \"collectionManager\", HeaderController])\n .factory('collectionManager', [ \"$interval\", \"$http\", function ($interval, $http) { return new DatabusCollectionManager($http, $interval, 'databus_collections'); }])\n .factory('searchManager', [ \"$interval\", \"$http\", function ($interval, $http) { return new SearchManager($http, $interval); }])\n .factory('focus', [\"$timeout\", \"$window\", function ($timeout, $window) {\n return function (id) {\n $timeout(function () {\n var element = $window.document.getElementById(id);\n if (element)\n element.focus();\n });\n };\n }])\n .controller(\"HeaderController\", [\"$scope\", \"$http\", \"collectionManager\", \"searchManager\", HeaderController])\n .controller(\"AccountPageController\", [\"$scope\", \"$http\", \"$location\", \"collectionManager\", AccountPageController])\n .controller(\"FrontPageController\", [\"$scope\", \"$sce\", \"$http\", FrontPageController])\n .controller(\"ArtifactPageController\", [\"$scope\", \"$http\", \"$sce\", \"$location\", \"collectionManager\", ArtifactPageController])\n .controller(\"CollectionController\", [\"$scope\", \"$sce\", \"$http\", \"collectionManager\", CollectionController])\n .controller(\"CollectionsEditorController\", [\"$scope\", \"$timeout\", \"$http\", \"$location\", \"collectionManager\", CollectionsEditorController])\n .controller(\"GroupPageController\", [\"$scope\", \"$http\", \"$sce\", \"$interval\", \"$location\", \"collectionManager\", GroupPageController])\n .controller(\"ProfileController\", [\"$scope\", \"$http\", ProfileController])\n .controller(\"PublishWizardController\", [\"$scope\", \"$http\", \"$interval\", \"focus\", \"$q\", PublishWizardController])\n .controller(\"VersionPageController\", [\"$scope\", \"$http\", \"$sce\", \"$location\", \"collectionManager\", VersionPageController])\n .directive('uploadRanking', function () {\n return {\n restrict: 'E',\n replace: true,\n templateUrl: '/website/templates/upload-ranking.html',\n scope: {\n data: '=data'\n }\n }\n });\n \nfunction config($locationProvider) {\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false,\n rewriteLinks: false\n });\n};\n\ndatabusApplication.filter('collectionfilter', function() {\n return function(input, search) {\n if (!input) return input;\n \n var expected = '';\n\n if (search != null) {\n expected = ('' + search).toLowerCase();\n }\n\n var result = [];\n\n angular.forEach(input, function(value, key) {\n if(value.title == undefined) {\n return;\n }\n \n if(value.title.toLowerCase().includes(expected)) {\n result.push(value); \n }\n });\n\n return result;\n }\n});\n\ndatabusApplication.config(['$locationProvider', config]);\n\n// Components\ndatabusApplication.component('overrideCheckbox', {\n templateUrl: '/js/components/override-checkbox/override-checkbox.html',\n controller: OverrideCheckboxController,\n bindings: {\n checkValue: '<',\n label: '<',\n id: '<',\n readonly: '<',\n isOverride: '<',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('accountHistory', {\n templateUrl: '/js/components/account-history/account-history.html',\n controller: [ '$http', AccountHistoryController ],\n bindings: {\n accountName: '<'\n }\n});\n\n// Components\ndatabusApplication.component('databusAlert', {\n templateUrl: '/js/components/databus-alert/databus-alert.html',\n controller: [ '$scope', '$timeout', DatabusAlertController ],\n});\n\ndatabusApplication.component('entityCard', {\n templateUrl: '/js/components/entity-card/entity-card.html',\n controller: ['$sce', EntityCardController ],\n bindings: {\n label: '<',\n uri: '<',\n desc: '<',\n date: '<',\n type: '<',\n imageUrl: '<',\n absolute: '<'\n }\n});\n\ndatabusApplication.component('search', {\n templateUrl: '/js/components/search/search.html',\n controller: ['$http', '$interval', '$sce', 'searchManager', SearchController],\n bindings: {\n searchInput: '=',\n settings: '<',\n }\n});\n\n/*\ndatabusApplication.component('databusSearch', {\n templateUrl: '/js/components/databus-search/databus-search.html',\n controller: ['$http', '$interval', '$sce', DatabusSearchController],\n bindings: {\n filters: '=',\n input: '='\n }\n});*/\n\ndatabusApplication.component('autofillDropdown', {\n templateUrl: '/js/components/autofill-dropdown/autofill-dropdown.html',\n controller: ['$timeout', AutofillDropdownController ],\n bindings: {\n input: '=',\n values: '<',\n isDisabled: '<',\n placeholder: '@',\n onChange: '&'\n }\n});\n\n\ndatabusApplication.component('databusIcon', {\n templateUrl: '/js/components/databus-icon/databus-icon.html',\n controller: DatabusIconController,\n bindings: {\n size: '<',\n shape: '<',\n onClick: '&',\n isClickable: '<',\n color: '<'\n }\n});\n\ndatabusApplication.component('typeTag', {\n templateUrl: '/js/components/type-tag/type-tag.html',\n controller: TypeTagController,\n bindings: {\n type: '<',\n height: '<',\n width: '<',\n }\n});\n\n/*\n\ndatabusApplication.component('collectionEditor', {\n templateUrl: '/js/components/collection-editor/collection-editor.html',\n controller: ['$http', '$location', '$sce', CollectionEditorController],\n bindings: {\n collection: '=',\n readonly: '<',\n onPublish: '&',\n onDelete: '&',\n loggedIn: '<'\n }\n});*/\n\ndatabusApplication.component('collectionEditorWidget', {\n templateUrl: '/js/components/collection-editor-widget/collection-editor-widget.html',\n controller: ['collectionManager', '$scope', CollectionEditorWidgetController ],\n bindings: {\n selection: '<',\n collection: '=',\n }\n});\n\n/*\ndatabusApplication.component('collectionHierarchy', {\n templateUrl: '/js/components/collection-hierarchy/collection-hierarchy.html',\n controller: ['$http', '$location', '$sce', CollectionHierarchyController],\n bindings: {\n collection: '=',\n readonly: '<',\n onPublish: '&',\n onDelete: '&',\n loggedIn: '<',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('collectionHierarchyTwo', {\n templateUrl: '/js/components/collection-hierarchy-two/collection-hierarchy.html',\n controller: ['$http', '$location', '$sce', '$scope', 'collectionManager', CollectionHierarchyControllerTwo ],\n bindings: {\n collection: '=',\n onChange: '&',\n onAddContent: '&'\n }\n});\n\ndatabusApplication.component('collectionNode', {\n templateUrl: '/js/components/collection-node/collection-node.html',\n controller: CollectionNodeController,\n bindings: {\n node: '<',\n readonly: '<',\n onRemoveNode: '&',\n onClick: '&',\n count: '<',\n isExpandable: '<'\n }\n});\n\ndatabusApplication.component('collectionSearch', {\n templateUrl: '/js/components/collection-search/collection-search.html',\n controller: ['collectionManager', '$http', '$interval', '$sce', CollectionSearchController ],\n bindings: {\n collection: '=',\n targetDatabusUrl: '<',\n onComponentAdded: '&'\n }\n});\n\ndatabusApplication.component('collectionStatistics', {\n templateUrl: '/js/components/collection-statistics/collection-statistics.html',\n controller: ['$http', '$scope', '$location', '$sce', CollectionStatisticsController ],\n bindings: {\n collection: '<'\n }\n});\n\ndatabusApplication.component('collectionStatus', {\n templateUrl: '/js/components/collection-status/collection-status.html',\n controller: ['$http', '$location', '$sce', CollectionStatusController ],\n bindings: {\n hasLocalChanges: '<',\n isPublished: '<',\n isDraft: '<',\n }\n});\n\n/*\n\ndatabusApplication.component('editLabel', {\n templateUrl: '/js/components/edit-label/edit-label.html',\n controller: ['$element', EditLabelController],\n bindings: {\n text: '=',\n singleLine: '<',\n onBlur: '&',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('expandableArrow', {\n templateUrl: '/js/components/expandable-arrow/expandable-arrow.html',\n controller: ExpandableArrowController,\n bindings: {\n expanded: '=',\n onChange: '&',\n isReadonly: '<'\n }\n});\n\ndatabusApplication.component('facetsView', {\n templateUrl: '/js/components/facets-view/facets-view.html',\n controller: ['$http', '$scope', FacetsViewController ],\n bindings: {\n node: '=',\n readonly: '<',\n resourceType: '@',\n onChange: '&',\n onLoaded: '&'\n }\n});\n\ndatabusApplication.component('facetsViewHorizontal', {\n templateUrl: '/js/components/facets-view/facets-view-horizontal.html',\n controller: ['$http', '$scope', FacetsViewController ],\n bindings: {\n node: '=',\n readonly: '<',\n resourceType: '@',\n onChange: '&',\n onLoaded: '&'\n }\n});\n\ndatabusApplication.component('fileBrowser', {\n templateUrl: '/js/components/file-browser/file-browser.html',\n controller: ['$http', '$scope', FileBrowserController ],\n bindings: {\n resourceUri: '<',\n resourceType: '@',\n node: '<',\n facetSettings: '<',\n parentFacetSettings: '<',\n query: '<',\n fullQuery: '<',\n config: '<'\n }\n});\n\n/*\n\ndatabusApplication.component('multiselectArtifactDropdown', {\n templateUrl: '/js/components/multiselect-artifact-dropdown/multiselect-artifact-dropdown.html',\n controller: ['$timeout', '$sce', MultiselectArtifactDropdownController],\n bindings: {\n data: '<',\n node: '<',\n values: '<',\n isDisabled: '<',\n icon: '<',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('multiselectDropdown', {\n templateUrl: '/js/components/multiselect-dropdown/multiselect-dropdown.html',\n controller: ['$timeout', '$sce', MultiselectDropdownController],\n bindings: {\n parentInput: '<',\n input: '=',\n values: '<',\n isDisabled: '<',\n placeholder: '@',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('tableEditor', {\n templateUrl: '/js/components/table-editor/table-editor.html',\n controller: TableEditorController,\n bindings: {\n model: '=',\n onRemoveFile: '&',\n onAnalyzeFile: '&',\n analysisProcesses: '<'\n }\n});\n\ndatabusApplication.component('uriBreadcrumbs', {\n templateUrl: '/js/components/uri-breadcrumbs/uri-breadcrumbs.html',\n controller: UriBreadcrumbsController,\n bindings: {\n uri: '<',\n absolute: '<'\n }\n});\n\n\ndatabusApplication.component('yasqeText', {\n templateUrl: '/js/components/yasqe-text/yasqe-text.html',\n controller: ['$scope', '$element', YasqeTextController ],\n bindings: {\n query: '=',\n readOnly: '<',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('collectionDataTable', {\n templateUrl: '/js/components/collection-data-table/collection-data-table.html',\n controller: ['$http', '$scope', '$location', '$sce', CollectionDataTableController],\n bindings: {\n collection: '<'\n }\n});\n\n\ndatabusApplication.directive('selectOnClick', ['$window', function ($window) {\n return {\n restrict: 'A',\n link: function (scope, element, attrs) {\n element.on('click', function () {\n if (!$window.getSelection().toString() && this.readonly == false) {\n // Required for mobile Safari\n this.setSelectionRange(0, this.value.length)\n }\n });\n }\n };\n}]);\n\ndatabusApplication.directive('focusMe', ['$timeout', '$parse', function ($timeout, $parse) {\n return {\n //scope: true, // optionally create a child scope\n link: function (scope, element, attrs) {\n var model = $parse(attrs.focusMe);\n scope.$watch(model, function (value) {\n if (value === true) {\n $timeout(function () {\n element[0].focus();\n });\n }\n });\n }\n };\n}]);\n\ndatabusApplication.directive('eventFocus', function (focus) {\n return function (scope, elem, attr) {\n elem.on(attr.eventFocus, function () {\n focus(attr.eventFocusId);\n });\n\n // Removes bound events in the element itself\n // when the scope is destroyed\n scope.$on('$destroy', function () {\n elem.off(attr.eventFocus);\n });\n };\n});\n\n\n\ndatabusApplication.directive('uploaderRanking', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '
UserUploadsDerived Data
{{ row.account }}{{ row.numUploads }}{{ row.uploadSize }}
',\n scope: {\n data: '=data',\n }\n }\n});\n\n\ndatabusApplication.directive('groupsTable', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '
Group Id# Artifacts
{{ row.label }}{{ row.artifactCount }}
',\n scope: {\n data: '=data',\n }\n }\n});\n\n\ndatabusApplication.directive('activityChart', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '',\n scope: {\n data: '=data',\n height: '=height'\n },\n link: function (scope, element, attrs) {\n\n var svgHeight = scope.height;\n\n for (d in scope.data) {\n scope.data[d].date = new Date(scope.data[d].date);\n }\n\n var svg = d3.select(element[0])\n .attr(\"id\", \"graph\")\n .attr(\"width\", \"107%\")\n .attr(\"height\", svgHeight);\n\n var bounds = svg.node().getBoundingClientRect();\n var svgWidth = bounds.width;\n\n var margin = { top: 20, right: 50, bottom: 60, left: 50 };\n var width = svgWidth - margin.left - margin.right;\n var height = svgHeight - margin.top - margin.bottom;\n\n var g = svg.append(\"g\")\n .attr(\"transform\",\n \"translate(\" + margin.left + \",\" + margin.top + \")\"\n );\n\n var x = d3.scaleTime().rangeRound([0, width]);\n var y = d3.scaleLinear().rangeRound([height, 0]);\n\n var line = d3.line()\n .x(function (d) { return x(d.date) })\n .y(function (d) { return y(d.value) })\n\n x.domain(d3.extent(scope.data, function (d) { return d.date }));\n y.domain(d3.extent(scope.data, function (d) { return d.value }));\n\n g.append(\"g\")\n .attr(\"transform\", \"translate(0,\" + height + \")\")\n .call(d3.axisBottom(x))\n .selectAll(\"text\")\n .attr(\"y\", 0)\n .attr(\"x\", 9)\n .attr(\"dy\", \".35em\")\n .attr(\"transform\", \"rotate(90)\")\n .style(\"text-anchor\", \"start\");\n\n g.append(\"g\")\n .call(d3.axisLeft(y))\n .append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(\"transform\", \"rotate(-90)\")\n .attr(\"y\", 6)\n .attr(\"dy\", \"1em\")\n .attr(\"font-size\", \"1.1em\")\n .attr(\"text-anchor\", \"end\")\n .text(\"Uploaded Data (GByte)\");\n\n var path = g.append(\"path\")\n .datum(scope.data)\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", \"steelblue\")\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"stroke-linecap\", \"round\")\n .attr(\"stroke-width\", 2)\n .attr(\"d\", line);\n }\n }\n});\n\ndatabusApplication.directive('onFinishRender', ['$timeout', '$parse', function ($timeout, $parse) {\n return {\n restrict: 'A',\n link: function (scope, element, attr) {\n if (scope.$last === true) {\n $timeout(function () {\n scope.$emit('ngRepeatFinished');\n if (!!attr.onFinishRender) {\n $parse(attr.onFinishRender)(scope);\n }\n });\n }\n }\n }\n}]);\n\ndatabusApplication.directive('clickOutside', [\n '$document', '$parse', '$timeout',\n clickOutside\n]);\n\n/**\n * @ngdoc directive\n * @name angular-click-outside.directive:clickOutside\n * @description Directive to add click outside capabilities to DOM elements\n * @requires $document\n * @requires $parse\n * @requires $timeout\n **/\n function clickOutside($document, $parse, $timeout) {\n return {\n restrict: 'A',\n link: function($scope, elem, attr) {\n\n // postpone linking to next digest to allow for unique id generation\n $timeout(function() {\n var classList = (attr.outsideIfNot !== undefined) ? attr.outsideIfNot.split(/[ ,]+/) : [],\n fn;\n\n function eventHandler(e) {\n var i,\n element,\n r,\n id,\n classNames,\n l;\n\n // check if our element already hidden and abort if so\n if (angular.element(elem).hasClass(\"ng-hide\")) {\n return;\n }\n\n // if there is no click target, no point going on\n if (!e || !e.target) {\n return;\n }\n\n // loop through the available elements, looking for classes in the class list that might match and so will eat\n for (element = e.target; element; element = element.parentNode) {\n // check if the element is the same element the directive is attached to and exit if so (props @CosticaPuntaru)\n if (element === elem[0]) {\n return;\n }\n \n // now we have done the initial checks, start gathering id's and classes\n id = element.id,\n classNames = element.className,\n l = classList.length;\n\n // Unwrap SVGAnimatedString classes\n if (classNames && classNames.baseVal !== undefined) {\n classNames = classNames.baseVal;\n }\n\n // if there are no class names on the element clicked, skip the check\n if (classNames || id) {\n\n // loop through the elements id's and classnames looking for exceptions\n for (i = 0; i < l; i++) {\n //prepare regex for class word matching\n r = new RegExp('\\\\b' + classList[i] + '\\\\b');\n\n // check for exact matches on id's or classes, but only if they exist in the first place\n if ((id !== undefined && id === classList[i]) || (classNames && r.test(classNames))) {\n // now let's exit out as it is an element that has been defined as being ignored for clicking outside\n return;\n }\n }\n }\n }\n\n // if we have got this far, then we are good to go with processing the command passed in via the click-outside attribute\n $timeout(function() {\n fn = $parse(attr['clickOutside']);\n fn($scope, { event: e });\n });\n }\n\n // if the devices has a touchscreen, listen for this event\n if (_hasTouch()) {\n $document.on('touchstart', eventHandler);\n }\n\n // still listen for the click event even if there is touch to cater for touchscreen laptops\n $document.on('click', eventHandler);\n\n // when the scope is destroyed, clean up the documents event handlers as we don't want it hanging around\n $scope.$on('$destroy', function() {\n if (_hasTouch()) {\n $document.off('touchstart', eventHandler);\n }\n\n $document.off('click', eventHandler);\n });\n\n /**\n * @description Private function to attempt to figure out if we are on a touch device\n * @private\n **/\n function _hasTouch() {\n // works on most browsers, IE10/11 and Surface\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n };\n });\n }\n };\n}\n\n\n//# sourceURL=webpack://databus-webapp/./js/angular-application.js?"); +eval("const AccountPageController = __webpack_require__(/*! ./page-controller/account-controller */ \"./js/page-controller/account-controller.js\");\nconst ArtifactPageController = __webpack_require__(/*! ./page-controller/artifact-controller */ \"./js/page-controller/artifact-controller.js\");\nconst FrontPageController = __webpack_require__(/*! ./page-controller/frontpage-controller */ \"./js/page-controller/frontpage-controller.js\");\nconst HeaderController = __webpack_require__(/*! ./page-controller/header-controller */ \"./js/page-controller/header-controller.js\");\nconst CollectionController = __webpack_require__(/*! ./page-controller/collection-controller */ \"./js/page-controller/collection-controller.js\");\nconst CollectionsEditorController = __webpack_require__(/*! ./page-controller/collections-editor-controller */ \"./js/page-controller/collections-editor-controller.js\");\nconst GroupPageController = __webpack_require__(/*! ./page-controller/group-controller */ \"./js/page-controller/group-controller.js\");\nconst ProfileController = __webpack_require__(/*! ./page-controller/profile-controller */ \"./js/page-controller/profile-controller.js\");\nconst PublishWizardController = __webpack_require__(/*! ./page-controller/publish-wizard-controller */ \"./js/page-controller/publish-wizard-controller.js\");\nconst VersionPageController = __webpack_require__(/*! ./page-controller/version-controller */ \"./js/page-controller/version-controller.js\");\nconst DatabusCollectionManager = __webpack_require__(/*! ./collections/databus-collection-manager */ \"./js/collections/databus-collection-manager.js\");\nconst SearchManager = __webpack_require__(/*! ./search/search-manager */ \"./js/search/search-manager.js\");\nconst SearchController = __webpack_require__(/*! ./components/search/search-controller */ \"./js/components/search/search-controller.js\");\nconst DatabusAlertController = __webpack_require__(/*! ./components/databus-alert/databus-alert-controller */ \"./js/components/databus-alert/databus-alert-controller.js\");\nconst EntityCardController = __webpack_require__(/*! ./components/entity-card/entity-card */ \"./js/components/entity-card/entity-card.js\");\nconst OverrideCheckboxController = __webpack_require__(/*! ./components/override-checkbox/override-checkbox */ \"./js/components/override-checkbox/override-checkbox.js\");\nconst AutofillDropdownController = __webpack_require__(/*! ./components/autofill-dropdown/autofill-dropdown */ \"./js/components/autofill-dropdown/autofill-dropdown.js\");\nconst DatabusIconController = __webpack_require__(/*! ./components/databus-icon/databus-icon */ \"./js/components/databus-icon/databus-icon.js\");\nconst TypeTagController = __webpack_require__(/*! ./components/type-tag/type-tag */ \"./js/components/type-tag/type-tag.js\");\nconst CollectionEditorWidgetController = __webpack_require__(/*! ./components/collection-editor-widget/collection-editor-widget */ \"./js/components/collection-editor-widget/collection-editor-widget.js\");\nconst CollectionHierarchyControllerTwo = __webpack_require__(/*! ./components/collection-hierarchy-two/collection-hierarchy */ \"./js/components/collection-hierarchy-two/collection-hierarchy.js\");\nconst UriBreadcrumbsController = __webpack_require__(/*! ./components/uri-breadcrumbs/uri-breadcrumbs */ \"./js/components/uri-breadcrumbs/uri-breadcrumbs.js\");\nconst TableEditorController = __webpack_require__(/*! ./components/table-editor/table-editor */ \"./js/components/table-editor/table-editor.js\");\nconst MultiselectDropdownController = __webpack_require__(/*! ./components/multiselect-dropdown/multiselect-dropdown */ \"./js/components/multiselect-dropdown/multiselect-dropdown.js\");\nconst FileBrowserController = __webpack_require__(/*! ./components/file-browser/file-browser */ \"./js/components/file-browser/file-browser.js\");\nconst FacetsViewController = __webpack_require__(/*! ./components/facets-view/facets-view */ \"./js/components/facets-view/facets-view.js\");\nconst ExpandableArrowController = __webpack_require__(/*! ./components/expandable-arrow/expandable-arrow */ \"./js/components/expandable-arrow/expandable-arrow.js\");\nconst YasqeTextController = __webpack_require__(/*! ./components/yasqe-text/yasqe-text */ \"./js/components/yasqe-text/yasqe-text.js\");\nconst YasrViewController = __webpack_require__(/*! ./components/yasr-view/yasr-view */ \"./js/components/yasr-view/yasr-view.js\");\nconst CollectionStatisticsController = __webpack_require__(/*! ./components/collection-statistics/collection-statistics */ \"./js/components/collection-statistics/collection-statistics.js\");\nconst CollectionNodeController = __webpack_require__(/*! ./components/collection-node/collection-node */ \"./js/components/collection-node/collection-node.js\");\nconst CollectionSearchController = __webpack_require__(/*! ./components/collection-search/collection-search */ \"./js/components/collection-search/collection-search.js\");\nconst CollectionStatusController = __webpack_require__(/*! ./components/collection-status/collection-status */ \"./js/components/collection-status/collection-status.js\");\nconst CollectionDataTableController = __webpack_require__(/*! ./components/collection-data-table/collection-data-table */ \"./js/components/collection-data-table/collection-data-table.js\");\nconst AccountHistoryController = __webpack_require__(/*! ./components/account-history/account-history */ \"./js/components/account-history/account-history.js\");\nconst SparqlEditorController = __webpack_require__(/*! ./page-controller/sparql-editor-controller */ \"./js/page-controller/sparql-editor-controller.js\");\nconst BetterDropdownController = __webpack_require__(/*! ./components/better-dropdown/better-dropdown */ \"./js/components/better-dropdown/better-dropdown.js\");\n\nvar databusApplication = angular.module(\"databusApplication\", [])\n .controller(\"HeaderController\", [\"$scope\", \"$http\", \"collectionManager\", HeaderController])\n .factory('collectionManager', [ \"$interval\", \"$http\", function ($interval, $http) { return new DatabusCollectionManager($http, $interval, 'databus_collections'); }])\n .factory('searchManager', [ \"$interval\", \"$http\", function ($interval, $http) { return new SearchManager($http, $interval); }])\n .factory('focus', [\"$timeout\", \"$window\", function ($timeout, $window) {\n return function (id) {\n $timeout(function () {\n var element = $window.document.getElementById(id);\n if (element)\n element.focus();\n });\n };\n }])\n .controller(\"HeaderController\", [\"$scope\", \"$http\", \"collectionManager\", \"searchManager\", HeaderController])\n .controller(\"AccountPageController\", [\"$scope\", \"$http\", \"$location\", \"collectionManager\", AccountPageController])\n .controller(\"FrontPageController\", [\"$scope\", \"$sce\", \"$http\", FrontPageController])\n .controller(\"ArtifactPageController\", [\"$scope\", \"$http\", \"$sce\", \"$location\", \"collectionManager\", ArtifactPageController])\n .controller(\"CollectionController\", [\"$scope\", \"$sce\", \"$http\", \"collectionManager\", CollectionController])\n .controller(\"CollectionsEditorController\", [\"$scope\", \"$timeout\", \"$http\", \"$location\", \"collectionManager\", CollectionsEditorController])\n .controller(\"GroupPageController\", [\"$scope\", \"$http\", \"$sce\", \"$interval\", \"$location\", \"collectionManager\", GroupPageController])\n .controller(\"ProfileController\", [\"$scope\", \"$http\", ProfileController])\n .controller(\"SparqlEditorController\", [\"$scope\", \"$http\", SparqlEditorController])\n .controller(\"PublishWizardController\", [\"$scope\", \"$http\", \"$interval\", \"focus\", \"$q\", PublishWizardController])\n .controller(\"VersionPageController\", [\"$scope\", \"$http\", \"$sce\", \"$location\", \"collectionManager\", VersionPageController])\n .directive('uploadRanking', function () {\n return {\n restrict: 'E',\n replace: true,\n templateUrl: '/website/templates/upload-ranking.html',\n scope: {\n data: '=data'\n }\n }\n });\n \nfunction config($locationProvider) {\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false,\n rewriteLinks: false\n });\n};\n\ndatabusApplication.filter('collectionfilter', function() {\n return function(input, search) {\n if (!input) return input;\n \n var expected = '';\n\n if (search != null) {\n expected = ('' + search).toLowerCase();\n }\n\n var result = [];\n\n angular.forEach(input, function(value, key) {\n if(value.title == undefined) {\n return;\n }\n \n if(value.title.toLowerCase().includes(expected)) {\n result.push(value); \n }\n });\n\n return result;\n }\n});\n\ndatabusApplication.config(['$locationProvider', config]);\n\n// Components\ndatabusApplication.component('overrideCheckbox', {\n templateUrl: '/js/components/override-checkbox/override-checkbox.html',\n controller: OverrideCheckboxController,\n bindings: {\n checkValue: '<',\n label: '<',\n id: '<',\n readonly: '<',\n isOverride: '<',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('accountHistory', {\n templateUrl: '/js/components/account-history/account-history.html',\n controller: [ '$http', AccountHistoryController ],\n bindings: {\n accountName: '<'\n }\n});\n\n// Components\ndatabusApplication.component('databusAlert', {\n templateUrl: '/js/components/databus-alert/databus-alert.html',\n controller: [ '$scope', '$timeout', DatabusAlertController ],\n});\n\ndatabusApplication.component('entityCard', {\n templateUrl: '/js/components/entity-card/entity-card.html',\n controller: ['$sce', EntityCardController ],\n bindings: {\n label: '<',\n uri: '<',\n desc: '<',\n date: '<',\n type: '<',\n imageUrl: '<',\n absolute: '<'\n }\n});\n\ndatabusApplication.component('search', {\n templateUrl: '/js/components/search/search.html',\n controller: ['$http', '$interval', '$sce', 'searchManager', SearchController],\n bindings: {\n searchInput: '=',\n settings: '<',\n }\n});\n\n/*\ndatabusApplication.component('databusSearch', {\n templateUrl: '/js/components/databus-search/databus-search.html',\n controller: ['$http', '$interval', '$sce', DatabusSearchController],\n bindings: {\n filters: '=',\n input: '='\n }\n});*/\n\ndatabusApplication.component('autofillDropdown', {\n templateUrl: '/js/components/autofill-dropdown/autofill-dropdown.html',\n controller: ['$timeout', AutofillDropdownController ],\n bindings: {\n input: '=',\n values: '<',\n isDisabled: '<',\n placeholder: '@',\n onChange: '&'\n }\n});\n\n\ndatabusApplication.component('databusIcon', {\n templateUrl: '/js/components/databus-icon/databus-icon.html',\n controller: DatabusIconController,\n bindings: {\n size: '<',\n shape: '<',\n onClick: '&',\n isClickable: '<',\n color: '<'\n }\n});\n\ndatabusApplication.component('typeTag', {\n templateUrl: '/js/components/type-tag/type-tag.html',\n controller: TypeTagController,\n bindings: {\n type: '<',\n height: '<',\n width: '<',\n }\n});\n\n/*\n\ndatabusApplication.component('collectionEditor', {\n templateUrl: '/js/components/collection-editor/collection-editor.html',\n controller: ['$http', '$location', '$sce', CollectionEditorController],\n bindings: {\n collection: '=',\n readonly: '<',\n onPublish: '&',\n onDelete: '&',\n loggedIn: '<'\n }\n});*/\n\ndatabusApplication.component('collectionEditorWidget', {\n templateUrl: '/js/components/collection-editor-widget/collection-editor-widget.html',\n controller: ['collectionManager', '$scope', CollectionEditorWidgetController ],\n bindings: {\n selection: '<',\n collection: '=',\n }\n});\n\n/*\ndatabusApplication.component('collectionHierarchy', {\n templateUrl: '/js/components/collection-hierarchy/collection-hierarchy.html',\n controller: ['$http', '$location', '$sce', CollectionHierarchyController],\n bindings: {\n collection: '=',\n readonly: '<',\n onPublish: '&',\n onDelete: '&',\n loggedIn: '<',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('collectionHierarchyTwo', {\n templateUrl: '/js/components/collection-hierarchy-two/collection-hierarchy.html',\n controller: ['$http', '$location', '$sce', '$scope', 'collectionManager', CollectionHierarchyControllerTwo ],\n bindings: {\n collection: '=',\n onChange: '&',\n onAddContent: '&'\n }\n});\n\ndatabusApplication.component('collectionNode', {\n templateUrl: '/js/components/collection-node/collection-node.html',\n controller: CollectionNodeController,\n bindings: {\n node: '<',\n readonly: '<',\n onRemoveNode: '&',\n onClick: '&',\n count: '<',\n isExpandable: '<'\n }\n});\n\ndatabusApplication.component('collectionSearch', {\n templateUrl: '/js/components/collection-search/collection-search.html',\n controller: ['collectionManager', '$http', '$interval', '$sce', CollectionSearchController ],\n bindings: {\n collection: '=',\n targetDatabusUrl: '<',\n onComponentAdded: '&'\n }\n});\n\ndatabusApplication.component('collectionStatistics', {\n templateUrl: '/js/components/collection-statistics/collection-statistics.html',\n controller: ['$http', '$scope', '$location', '$sce', CollectionStatisticsController ],\n bindings: {\n collection: '<'\n }\n});\n\ndatabusApplication.component('collectionStatus', {\n templateUrl: '/js/components/collection-status/collection-status.html',\n controller: ['$http', '$location', '$sce', CollectionStatusController ],\n bindings: {\n hasLocalChanges: '<',\n isPublished: '<',\n isDraft: '<',\n }\n});\n\n/*\n\ndatabusApplication.component('editLabel', {\n templateUrl: '/js/components/edit-label/edit-label.html',\n controller: ['$element', EditLabelController],\n bindings: {\n text: '=',\n singleLine: '<',\n onBlur: '&',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('expandableArrow', {\n templateUrl: '/js/components/expandable-arrow/expandable-arrow.html',\n controller: ExpandableArrowController,\n bindings: {\n expanded: '=',\n onChange: '&',\n isReadonly: '<'\n }\n});\n\ndatabusApplication.component('facetsView', {\n templateUrl: '/js/components/facets-view/facets-view.html',\n controller: ['$http', '$scope', FacetsViewController ],\n bindings: {\n node: '=',\n readonly: '<',\n resourceType: '@',\n onChange: '&',\n onLoaded: '&'\n }\n});\n\ndatabusApplication.component('facetsViewHorizontal', {\n templateUrl: '/js/components/facets-view/facets-view-horizontal.html',\n controller: ['$http', '$scope', FacetsViewController ],\n bindings: {\n node: '=',\n readonly: '<',\n resourceType: '@',\n onChange: '&',\n onLoaded: '&'\n }\n});\n\ndatabusApplication.component('fileBrowser', {\n templateUrl: '/js/components/file-browser/file-browser.html',\n controller: ['$http', '$scope', FileBrowserController ],\n bindings: {\n resourceUri: '<',\n resourceType: '@',\n node: '<',\n facetSettings: '<',\n parentFacetSettings: '<',\n query: '<',\n fullQuery: '<',\n config: '<'\n }\n});\n\n/*\n\ndatabusApplication.component('multiselectArtifactDropdown', {\n templateUrl: '/js/components/multiselect-artifact-dropdown/multiselect-artifact-dropdown.html',\n controller: ['$timeout', '$sce', MultiselectArtifactDropdownController],\n bindings: {\n data: '<',\n node: '<',\n values: '<',\n isDisabled: '<',\n icon: '<',\n onChange: '&'\n }\n});*/\n\ndatabusApplication.component('multiselectDropdown', {\n templateUrl: '/js/components/multiselect-dropdown/multiselect-dropdown.html',\n controller: ['$timeout', '$sce', MultiselectDropdownController],\n bindings: {\n parentInput: '<',\n input: '=',\n values: '<',\n isDisabled: '<',\n placeholder: '@',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('tableEditor', {\n templateUrl: '/js/components/table-editor/table-editor.html',\n controller: TableEditorController,\n bindings: {\n model: '=',\n onRemoveFile: '&',\n onAnalyzeFile: '&',\n analysisProcesses: '<'\n }\n});\n\ndatabusApplication.component('uriBreadcrumbs', {\n templateUrl: '/js/components/uri-breadcrumbs/uri-breadcrumbs.html',\n controller: UriBreadcrumbsController,\n bindings: {\n uri: '<',\n absolute: '<'\n }\n});\n\n\ndatabusApplication.component('yasqeText', {\n templateUrl: '/js/components/yasqe-text/yasqe-text.html',\n controller: ['$scope', '$element', YasqeTextController ],\n bindings: {\n query: '=',\n autoSize: '<',\n readOnly: '<',\n onChange: '&',\n onSend: '&',\n hasSend: '<'\n }\n});\n\ndatabusApplication.component('betterDropdown', {\n templateUrl: '/js/components/better-dropdown/better-dropdown.html',\n controller: ['$scope', '$interval', '$element', BetterDropdownController ],\n bindings: {\n rootNode: '=',\n onNodeClicked: '&',\n icon: '<',\n label: '<'\n }\n});\n\n\ndatabusApplication.component('yasrView', {\n templateUrl: '/js/components/yasr-view/yasr-view.html',\n controller: ['$scope', '$element', YasrViewController ],\n bindings: {\n data: '=',\n autoSize: '<',\n readOnly: '<',\n onChange: '&'\n }\n});\n\ndatabusApplication.component('collectionDataTable', {\n templateUrl: '/js/components/collection-data-table/collection-data-table.html',\n controller: ['$http', '$scope', '$location', '$sce', CollectionDataTableController],\n bindings: {\n collection: '<'\n }\n});\n\n\ndatabusApplication.directive('selectOnClick', ['$window', function ($window) {\n return {\n restrict: 'A',\n link: function (scope, element, attrs) {\n element.on('click', function () {\n if (!$window.getSelection().toString() && this.readonly == false) {\n // Required for mobile Safari\n this.setSelectionRange(0, this.value.length)\n }\n });\n }\n };\n}]);\n\ndatabusApplication.directive('focusMe', ['$timeout', '$parse', function ($timeout, $parse) {\n return {\n //scope: true, // optionally create a child scope\n link: function (scope, element, attrs) {\n var model = $parse(attrs.focusMe);\n scope.$watch(model, function (value) {\n if (value === true) {\n $timeout(function () {\n element[0].focus();\n });\n }\n });\n }\n };\n}]);\n\ndatabusApplication.directive('eventFocus', function (focus) {\n return function (scope, elem, attr) {\n elem.on(attr.eventFocus, function () {\n focus(attr.eventFocusId);\n });\n\n // Removes bound events in the element itself\n // when the scope is destroyed\n scope.$on('$destroy', function () {\n elem.off(attr.eventFocus);\n });\n };\n});\n\n\n\ndatabusApplication.directive('uploaderRanking', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '
UserUploadsDerived Data
{{ row.account }}{{ row.numUploads }}{{ row.uploadSize }}
',\n scope: {\n data: '=data',\n }\n }\n});\n\n\ndatabusApplication.directive('groupsTable', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '
Group Id# Artifacts
{{ row.label }}{{ row.artifactCount }}
',\n scope: {\n data: '=data',\n }\n }\n});\n\n\ndatabusApplication.directive('activityChart', function () {\n return {\n restrict: 'E',\n replace: true,\n template: '',\n scope: {\n data: '=data',\n height: '=height'\n },\n link: function (scope, element, attrs) {\n\n var svgHeight = scope.height;\n\n for (d in scope.data) {\n scope.data[d].date = new Date(scope.data[d].date);\n }\n\n var svg = d3.select(element[0])\n .attr(\"id\", \"graph\")\n .attr(\"width\", \"107%\")\n .attr(\"height\", svgHeight);\n\n var bounds = svg.node().getBoundingClientRect();\n var svgWidth = bounds.width;\n\n var margin = { top: 20, right: 50, bottom: 60, left: 50 };\n var width = svgWidth - margin.left - margin.right;\n var height = svgHeight - margin.top - margin.bottom;\n\n var g = svg.append(\"g\")\n .attr(\"transform\",\n \"translate(\" + margin.left + \",\" + margin.top + \")\"\n );\n\n var x = d3.scaleTime().rangeRound([0, width]);\n var y = d3.scaleLinear().rangeRound([height, 0]);\n\n var line = d3.line()\n .x(function (d) { return x(d.date) })\n .y(function (d) { return y(d.value) })\n\n x.domain(d3.extent(scope.data, function (d) { return d.date }));\n y.domain(d3.extent(scope.data, function (d) { return d.value }));\n\n g.append(\"g\")\n .attr(\"transform\", \"translate(0,\" + height + \")\")\n .call(d3.axisBottom(x))\n .selectAll(\"text\")\n .attr(\"y\", 0)\n .attr(\"x\", 9)\n .attr(\"dy\", \".35em\")\n .attr(\"transform\", \"rotate(90)\")\n .style(\"text-anchor\", \"start\");\n\n g.append(\"g\")\n .call(d3.axisLeft(y))\n .append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(\"transform\", \"rotate(-90)\")\n .attr(\"y\", 6)\n .attr(\"dy\", \"1em\")\n .attr(\"font-size\", \"1.1em\")\n .attr(\"text-anchor\", \"end\")\n .text(\"Uploaded Data (GByte)\");\n\n var path = g.append(\"path\")\n .datum(scope.data)\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", \"steelblue\")\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"stroke-linecap\", \"round\")\n .attr(\"stroke-width\", 2)\n .attr(\"d\", line);\n }\n }\n});\n\ndatabusApplication.directive('onFinishRender', ['$timeout', '$parse', function ($timeout, $parse) {\n return {\n restrict: 'A',\n link: function (scope, element, attr) {\n if (scope.$last === true) {\n $timeout(function () {\n scope.$emit('ngRepeatFinished');\n if (!!attr.onFinishRender) {\n $parse(attr.onFinishRender)(scope);\n }\n });\n }\n }\n }\n}]);\n\ndatabusApplication.directive('clickOutside', [\n '$document', '$parse', '$timeout',\n clickOutside\n]);\n\n/**\n * @ngdoc directive\n * @name angular-click-outside.directive:clickOutside\n * @description Directive to add click outside capabilities to DOM elements\n * @requires $document\n * @requires $parse\n * @requires $timeout\n **/\n function clickOutside($document, $parse, $timeout) {\n return {\n restrict: 'A',\n link: function($scope, elem, attr) {\n\n // postpone linking to next digest to allow for unique id generation\n $timeout(function() {\n var classList = (attr.outsideIfNot !== undefined) ? attr.outsideIfNot.split(/[ ,]+/) : [],\n fn;\n\n function eventHandler(e) {\n var i,\n element,\n r,\n id,\n classNames,\n l;\n\n // check if our element already hidden and abort if so\n if (angular.element(elem).hasClass(\"ng-hide\")) {\n return;\n }\n\n // if there is no click target, no point going on\n if (!e || !e.target) {\n return;\n }\n\n // loop through the available elements, looking for classes in the class list that might match and so will eat\n for (element = e.target; element; element = element.parentNode) {\n // check if the element is the same element the directive is attached to and exit if so (props @CosticaPuntaru)\n if (element === elem[0]) {\n return;\n }\n \n // now we have done the initial checks, start gathering id's and classes\n id = element.id,\n classNames = element.className,\n l = classList.length;\n\n // Unwrap SVGAnimatedString classes\n if (classNames && classNames.baseVal !== undefined) {\n classNames = classNames.baseVal;\n }\n\n // if there are no class names on the element clicked, skip the check\n if (classNames || id) {\n\n // loop through the elements id's and classnames looking for exceptions\n for (i = 0; i < l; i++) {\n //prepare regex for class word matching\n r = new RegExp('\\\\b' + classList[i] + '\\\\b');\n\n // check for exact matches on id's or classes, but only if they exist in the first place\n if ((id !== undefined && id === classList[i]) || (classNames && r.test(classNames))) {\n // now let's exit out as it is an element that has been defined as being ignored for clicking outside\n return;\n }\n }\n }\n }\n\n // if we have got this far, then we are good to go with processing the command passed in via the click-outside attribute\n $timeout(function() {\n fn = $parse(attr['clickOutside']);\n fn($scope, { event: e });\n });\n }\n\n // if the devices has a touchscreen, listen for this event\n if (_hasTouch()) {\n $document.on('touchstart', eventHandler);\n }\n\n // still listen for the click event even if there is touch to cater for touchscreen laptops\n $document.on('click', eventHandler);\n\n // when the scope is destroyed, clean up the documents event handlers as we don't want it hanging around\n $scope.$on('$destroy', function() {\n if (_hasTouch()) {\n $document.off('touchstart', eventHandler);\n }\n\n $document.off('click', eventHandler);\n });\n\n /**\n * @description Private function to attempt to figure out if we are on a touch device\n * @private\n **/\n function _hasTouch() {\n // works on most browsers, IE10/11 and Surface\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n };\n });\n }\n };\n}\n\n\n//# sourceURL=webpack://databus-webapp/./js/angular-application.js?"); /***/ }), @@ -69,6 +69,16 @@ eval("// hinzufügen eines Controllers zum Modul\nfunction AutofillDropdownContr /***/ }), +/***/ "./js/components/better-dropdown/better-dropdown.js": +/*!**********************************************************!*\ + !*** ./js/components/better-dropdown/better-dropdown.js ***! + \**********************************************************/ +/***/ ((module) => { + +eval("\n// hinzufügen eines Controllers zum Modul\nfunction BetterDropdownController($scope, $timeout, $element) {\n\n\n const ctrl = this;\n ctrl.isActive = false;\n\n ctrl.closeAll = function() {\n ctrl.rootNode.isActive = false;\n ctrl.setChildrenActiveState(ctrl.rootNode, false);\n }\n\n ctrl.activateNode = function(parent, node) {\n for(var sibling of parent.children) {\n sibling.isActive = false;\n ctrl.setChildrenActiveState(sibling, false);\n }\n\n node.isActive = true;\n }\n\n ctrl.setChildrenActiveState = function(node, value) {\n if(node.children == null) {\n return;\n }\n\n for(var child of node.children) {\n child.isActive = value;\n ctrl.setChildrenActiveState(child, value);\n }\n }\n\n ctrl.toggleNode = function(node) {\n node.isActive = !node.isActive;\n\n if(!node.isActive) {\n ctrl.setChildrenActiveState(node, false);\n }\n }\n\n ctrl.toggleDropdown = function () {\n ctrl.isActive = !ctrl.isActive;\n };\n ctrl.showDropdown = function () {\n ctrl.isActive = true;\n };\n ctrl.hideDropdown = function () {\n ctrl.isActive = false;\n };\n\n ctrl.showNested = function (parent, node) {\n if (node.children) {\n ctrl.cancelShowNested();\n ctrl.currentTimeout = $timeout(function () {\n ctrl.activateNode(parent, node);\n }, 200);\n }\n };\n\n ctrl.cancelShowNested = function() {\n if(ctrl.currentTimeout != null) {\n $timeout.cancel(ctrl.currentTimeout);\n ctrl.currentTimeout = null;\n }\n }\n\n ctrl.toggleNestedDropdown = function (node) {\n node.showChildren = !node.showChildren;\n };\n ctrl.selectNode = function (node) {\n // Handle the selected node here\n ctrl.onNodeClicked({ node : node });\n };\n\n\n\n}\n\n\nmodule.exports = BetterDropdownController;\n\n\n//# sourceURL=webpack://databus-webapp/./js/components/better-dropdown/better-dropdown.js?"); + +/***/ }), + /***/ "./js/components/collection-data-table/collection-data-table.js": /*!**********************************************************************!*\ !*** ./js/components/collection-data-table/collection-data-table.js ***! @@ -165,7 +175,7 @@ eval("\nclass DatabusAlert {\n static alert($scope, isSuccess, message, ms) {\n \****************************************************/ /***/ ((module) => { -eval("// hinzufügen eines Controllers zum Modul\nfunction DatabusIconController() {\n\n var ctrl = this;\n\n ctrl.iconMap = {};\n ctrl.iconMap['databus'] = \"m 0.76949155,0.7702454 v 5.24959 l 29.33129045,-10e-4 6.27262,8.8675006 -0.002,32.0824 4.7212,-0.002 V 0.7702354 Z m 18.43511045,8.3952603 -5.68354,0.006 7.1979,10.5484003 -0.004,27.24663 4.70393,-0.002 0.0167,-28.60108 z m -9.4730904,0.002 -8.96510005,0.002 0.004,37.7960503 16.79563045,-0.004 0.001,-26.29103 z m 13.2512904,0 5.59825,8.2188903 -0.0396,29.57614 4.70307,-0.002 0.006,-31.09587 -4.55858,-6.6940403 z\";\n ctrl.iconMap['add'] = \"M 11 11 M 2 12 L 11 12 L 11 21 L 12 21 L 12 12 L 21 12 L 21 11 L 12 11 L 12 2 L 11 2 L 11 11 L 2 11 L 2 12\";\n ctrl.iconMap['remove'] = \"M 11 11 M 2 12 L 21 12 L 21 11 L 2 11 L 2 12\";\n ctrl.iconMap['delete'] = \"M9 3h6v-1.75c0-.066-.026-.13-.073-.177-.047-.047-.111-.073-.177-.073h-5.5c-.066 0-.13.026-.177.073-.047.047-.073.111-.073.177v1.75zm11 1h-16v18c0 .552.448 1 1 1h14c.552 0 1-.448 1-1v-18zm-10 3.5c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm5 0c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm8-4.5v1h-2v18c0 1.105-.895 2-2 2h-14c-1.105 0-2-.895-2-2v-18h-2v-1h7v-2c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v2h7z\";\n ctrl.iconMap['goto'] = \"M21.883 12l-7.527 6.235.644.765 9-7.521-9-7.479-.645.764 7.529 6.236h-21.884v1h21.883z\";\n ctrl.iconMap['edit'] = \"M8.071 21.586l-7.071 1.414 1.414-7.071 14.929-14.929 5.657 5.657-14.929 14.929zm-.493-.921l-4.243-4.243-1.06 5.303 5.303-1.06zm9.765-18.251l-13.3 13.301 4.242 4.242 13.301-13.3-4.243-4.243z\";\n ctrl.iconMap['edit-thick'] = \"M7.127 22.564l-7.126 1.436 1.438-7.125 5.688 5.689zm-4.274-7.104l5.688 5.689 15.46-15.46-5.689-5.689-15.459 15.46z\";\n ctrl.iconMap['goback'] = \"M2.117 12l7.527 6.235-.644.765-9-7.521 9-7.479.645.764-7.529 6.236h21.884v1h-21.883z\";\n ctrl.iconMap['right'] = \"M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z\";\n ctrl.iconMap['left'] = \"M20 .755l-14.374 11.245 14.374 11.219-.619.781-15.381-12 15.391-12 .609.755z\";\n ctrl.iconMap['down'] = \"M23.245 4l-11.245 14.374-11.219-14.374-.781.619 12 15.381 12-15.391-.755-.609z\";\n ctrl.iconMap['left-thick'] = \"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\";\n ctrl.iconMap['help'] = \"M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm.053 17c.466 0 .844-.378.844-.845 0-.466-.378-.844-.844-.844-.466 0-.845.378-.845.844 0 .467.379.845.845.845zm.468-2.822h-.998c-.035-1.162.182-2.054.939-2.943.491-.57 1.607-1.479 1.945-2.058.722-1.229.077-3.177-2.271-3.177-1.439 0-2.615.877-2.928 2.507l-1.018-.102c.28-2.236 1.958-3.405 3.922-3.405 1.964 0 3.615 1.25 3.615 3.22 0 1.806-1.826 2.782-2.638 3.868-.422.563-.555 1.377-.568 2.09z\";\n ctrl.iconMap['max'] = \"M24 22h-24v-20h24v20zm-7-1v-15h-16v15h16zm1 0h5v-18h-22v2h17v16zm-6-6h-1v-3.241l-7.241 7.241-.759-.759 7.241-7.241h-3.241v-1h5v5z\";\n ctrl.iconMap['min'] = \"M24 22h-24v-20h24v20zm-23-9v8h10v-8h-10zm22 8v-18h-22v9h11v9h11zm-4-9h-5v-5h1v3.241l5.241-5.241.759.759-5.241 5.241h3.241v1z\";\n ctrl.iconMap['error'] = \"M24 23h-24l12-22 12 22zm-22.315-1h20.63l-10.315-18.912-10.315 18.912zm10.315-2c.466 0 .845-.378.845-.845 0-.466-.379-.844-.845-.844-.466 0-.845.378-.845.844 0 .467.379.845.845.845zm.5-11v8h-1v-8h1z\";\n ctrl.iconMap['info'] = \"M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm.5 17h-1v-9h1v9zm-.5-12c.466 0 .845.378.845.845 0 .466-.379.844-.845.844-.466 0-.845-.378-.845-.844 0-.467.379-.845.845-.845z\";\n ctrl.iconMap['eye'] = \"M12.01 20c-5.065 0-9.586-4.211-12.01-8.424 2.418-4.103 6.943-7.576 12.01-7.576 5.135 0 9.635 3.453 11.999 7.564-2.241 4.43-6.726 8.436-11.999 8.436zm-10.842-8.416c.843 1.331 5.018 7.416 10.842 7.416 6.305 0 10.112-6.103 10.851-7.405-.772-1.198-4.606-6.595-10.851-6.595-6.116 0-10.025 5.355-10.842 6.584zm10.832-4.584c2.76 0 5 2.24 5 5s-2.24 5-5 5-5-2.24-5-5 2.24-5 5-5zm0 1c2.208 0 4 1.792 4 4s-1.792 4-4 4-4-1.792-4-4 1.792-4 4-4z\";\n ctrl.iconMap['add-artifact'] = \"M 12 0 M 12.016 1.424 L 21.756 12.053 L 12.016 22.563 L 2.204 12.005 L 3.396 10.721 L 2.774 10.058 L 1 12 L 12 24 L 23 12 L 12 0 L 10.153 2.078 L 10.837 2.741 Z M 6 6 L 6 2 L 7 2 L 7 6 L 11 6 L 11 7 L 7 7 L 7 11 L 6 11 L 6 7 L 2 7 L 2 6 L 6 6\";\n ctrl.iconMap['add-button'] = \"M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z\";\n ctrl.iconMap['collections'] = \"M11.499 12.03v11.971l-10.5-5.603v-11.835l10.5 5.467zm11.501 6.368l-10.501 5.602v-11.968l10.501-5.404v11.77zm-16.889-15.186l10.609 5.524-4.719 2.428-10.473-5.453 4.583-2.499zm16.362 2.563l-4.664 2.4-10.641-5.54 4.831-2.635 10.474 5.775z\";\n ctrl.iconMap['collections-thin'] = \"M23 6.066v12.065l-11.001 5.869-11-5.869v-12.131l11-6 11.001 6.066zm-21.001 11.465l9.5 5.069v-10.57l-9.5-4.946v10.447zm20.001-10.388l-9.501 4.889v10.568l9.501-5.069v-10.388zm-5.52 1.716l-9.534-4.964-4.349 2.373 9.404 4.896 4.479-2.305zm-8.476-5.541l9.565 4.98 3.832-1.972-9.405-5.185-3.992 2.177z\";\n ctrl.iconMap['content'] = \"M9.484 15.696l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm0-5l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm0-5l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm10.516 11.304h-8v1h8v-1zm0-5h-8v1h8v-1zm0-5h-8v1h8v-1zm4-5h-24v20h24v-20zm-1 19h-22v-18h22v18z\"\n ctrl.iconMap['menu'] = \"M24 18v1h-24v-1h24zm0-6v1h-24v-1h24zm0-6v1h-24v-1h24z\";\n ctrl.iconMap['copy'] = \"M17 7h6v16h-16v-6h-6v-16h16v6zm5 1h-14v14h14v-14zm-6-1v-5h-14v14h5v-9h9z\";\n ctrl.iconMap['upload'] = \"M9 16h-8v6h22v-6h-8v-1h9v8h-24v-8h9v1zm11 2c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-7.5 0h-1v-14.883l-4.735 5.732-.765-.644 6.021-7.205 5.979 7.195-.764.645-4.736-5.724v14.884z\";\n ctrl.iconMap['hide'] = \"M8.137 15.147c-.71-.857-1.146-1.947-1.146-3.147 0-2.76 2.241-5 5-5 1.201 0 2.291.435 3.148 1.145l1.897-1.897c-1.441-.738-3.122-1.248-5.035-1.248-6.115 0-10.025 5.355-10.842 6.584.529.834 2.379 3.527 5.113 5.428l1.865-1.865zm6.294-6.294c-.673-.53-1.515-.853-2.44-.853-2.207 0-4 1.792-4 4 0 .923.324 1.765.854 2.439l5.586-5.586zm7.56-6.146l-19.292 19.293-.708-.707 3.548-3.548c-2.298-1.612-4.234-3.885-5.548-6.169 2.418-4.103 6.943-7.576 12.01-7.576 2.065 0 4.021.566 5.782 1.501l3.501-3.501.707.707zm-2.465 3.879l-.734.734c2.236 1.619 3.628 3.604 4.061 4.274-.739 1.303-4.546 7.406-10.852 7.406-1.425 0-2.749-.368-3.951-.938l-.748.748c1.475.742 3.057 1.19 4.699 1.19 5.274 0 9.758-4.006 11.999-8.436-1.087-1.891-2.63-3.637-4.474-4.978zm-3.535 5.414c0-.554-.113-1.082-.317-1.562l.734-.734c.361.69.583 1.464.583 2.296 0 2.759-2.24 5-5 5-.832 0-1.604-.223-2.295-.583l.734-.735c.48.204 1.007.318 1.561.318 2.208 0 4-1.792 4-4z\";\n ctrl.iconMap['download'] = \"M6 16h-5v6h22v-6h-5v-1h6v8h-24v-8h6v1zm14 2c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-7.5-17v14.884l4.736-5.724.764.645-5.979 7.195-6.021-7.205.765-.644 4.735 5.732v-14.883h1z\";\n ctrl.iconMap['import'] = \"M16.965 2.381c3.593 1.946 6.035 5.749 6.035 10.119 0 6.347-5.153 11.5-11.5 11.5s-11.5-5.153-11.5-11.5c0-4.37 2.442-8.173 6.035-10.119l.608.809c-3.353 1.755-5.643 5.267-5.643 9.31 0 5.795 4.705 10.5 10.5 10.5s10.5-4.705 10.5-10.5c0-4.043-2.29-7.555-5.643-9.31l.608-.809zm-4.965-2.381v14.826l3.747-4.604.753.666-5 6.112-5-6.101.737-.679 3.763 4.608v-14.828h1z\";\n ctrl.iconMap['filter'] = \"M23 0l-9 14.146v7.73l-3.996 2.124v-9.853l-9.004-14.147h22zm-20.249 1l8.253 12.853v8.491l1.996-1.071v-7.419l8.229-12.854h-18.478z\";\n ctrl.iconMap['check'] = \"M9 22l-10-10.598 2.798-2.859 7.149 7.473 13.144-14.016 2.909 2.806z\";\n ctrl.iconMap['settings'] = \"M12 8.666c-1.838 0-3.333 1.496-3.333 3.334s1.495 3.333 3.333 3.333 3.333-1.495 3.333-3.333-1.495-3.334-3.333-3.334m0 7.667c-2.39 0-4.333-1.943-4.333-4.333s1.943-4.334 4.333-4.334 4.333 1.944 4.333 4.334c0 2.39-1.943 4.333-4.333 4.333m-1.193 6.667h2.386c.379-1.104.668-2.451 2.107-3.05 1.496-.617 2.666.196 3.635.672l1.686-1.688c-.508-1.047-1.266-2.199-.669-3.641.567-1.369 1.739-1.663 3.048-2.099v-2.388c-1.235-.421-2.471-.708-3.047-2.098-.572-1.38.057-2.395.669-3.643l-1.687-1.686c-1.117.547-2.221 1.257-3.642.668-1.374-.571-1.656-1.734-2.1-3.047h-2.386c-.424 1.231-.704 2.468-2.099 3.046-.365.153-.718.226-1.077.226-.843 0-1.539-.392-2.566-.893l-1.687 1.686c.574 1.175 1.251 2.237.669 3.643-.571 1.375-1.734 1.654-3.047 2.098v2.388c1.226.418 2.468.705 3.047 2.098.581 1.403-.075 2.432-.669 3.643l1.687 1.687c1.45-.725 2.355-1.204 3.642-.669 1.378.572 1.655 1.738 2.1 3.047m3.094 1h-3.803c-.681-1.918-.785-2.713-1.773-3.123-1.005-.419-1.731.132-3.466.952l-2.689-2.689c.873-1.837 1.367-2.465.953-3.465-.412-.991-1.192-1.087-3.123-1.773v-3.804c1.906-.678 2.712-.782 3.123-1.773.411-.991-.071-1.613-.953-3.466l2.689-2.688c1.741.828 2.466 1.365 3.465.953.992-.412 1.082-1.185 1.775-3.124h3.802c.682 1.918.788 2.714 1.774 3.123 1.001.416 1.709-.119 3.467-.952l2.687 2.688c-.878 1.847-1.361 2.477-.952 3.465.411.992 1.192 1.087 3.123 1.774v3.805c-1.906.677-2.713.782-3.124 1.773-.403.975.044 1.561.954 3.464l-2.688 2.689c-1.728-.82-2.467-1.37-3.456-.955-.988.41-1.08 1.146-1.785 3.126\";\n ctrl.iconMap['clipboard'] = \"M 17 17 L 7 17 L 7 16 L 17 16 L 17 17 Z M 17 14 L 7 14 L 7 13 L 17 13 L 17 14 Z M 17 11 L 7 11 L 7 10 L 17 10 L 17 11 Z M 16 6 L 8 6 L 7 1 L 17 1 L 16 6 Z M 15.7 2 L 8.25 2 L 8.9 5 L 15.1 5 L 15.7 2 Z M 22 23 L 2 23 L 2 3 L 5.5 3 L 5.7 4 L 3 4 L 3 22 L 21 22 L 21 4 L 18.3 4 L 18.5 3 L 22 3 L 22 23 Z\";\n ctrl.iconMap['sort-desc'] = \"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\";\n ctrl.iconMap['sort-asc'] = \"M11 2.206l-6.235 7.528-.765-.645 7.521-9 7.479 9-.764.646-6.236-7.53v21.884h-1v-21.883z\";\n ctrl.$onInit = function() {\n ctrl.path = ctrl.iconMap[ctrl.shape];\n }\n}\n\n\nmodule.exports = DatabusIconController;\n\n//# sourceURL=webpack://databus-webapp/./js/components/databus-icon/databus-icon.js?"); +eval("// hinzufügen eines Controllers zum Modul\nfunction DatabusIconController() {\n\n var ctrl = this;\n\n ctrl.iconMap = {};\n ctrl.iconMap['databus'] = \"m 0.76949155,0.7702454 v 5.24959 l 29.33129045,-10e-4 6.27262,8.8675006 -0.002,32.0824 4.7212,-0.002 V 0.7702354 Z m 18.43511045,8.3952603 -5.68354,0.006 7.1979,10.5484003 -0.004,27.24663 4.70393,-0.002 0.0167,-28.60108 z m -9.4730904,0.002 -8.96510005,0.002 0.004,37.7960503 16.79563045,-0.004 0.001,-26.29103 z m 13.2512904,0 5.59825,8.2188903 -0.0396,29.57614 4.70307,-0.002 0.006,-31.09587 -4.55858,-6.6940403 z\";\n ctrl.iconMap['add'] = \"M 11 11 M 2 12 L 11 12 L 11 21 L 12 21 L 12 12 L 21 12 L 21 11 L 12 11 L 12 2 L 11 2 L 11 11 L 2 11 L 2 12\";\n ctrl.iconMap['remove'] = \"M 11 11 M 2 12 L 21 12 L 21 11 L 2 11 L 2 12\";\n ctrl.iconMap['add-thick'] = \"m11 11h-7.25c-.414 0-.75.336-.75.75s.336.75.75.75h7.25v7.25c0 .414.336.75.75.75s.75-.336.75-.75v-7.25h7.25c.414 0 .75-.336.75-.75s-.336-.75-.75-.75h-7.25v-7.25c0-.414-.336-.75-.75-.75s-.75.336-.75.75z\";\n ctrl.iconMap['close'] = \"m12 10.93 5.719-5.72c.146-.146.339-.219.531-.219.404 0 .75.324.75.749 0 .193-.073.385-.219.532l-5.72 5.719 5.719 5.719c.147.147.22.339.22.531 0 .427-.349.75-.75.75-.192 0-.385-.073-.531-.219l-5.719-5.719-5.719 5.719c-.146.146-.339.219-.531.219-.401 0-.75-.323-.75-.75 0-.192.073-.384.22-.531l5.719-5.719-5.72-5.719c-.146-.147-.219-.339-.219-.532 0-.425.346-.749.75-.749.192 0 .385.073.531.219z\";\n ctrl.iconMap['delete'] = \"M9 3h6v-1.75c0-.066-.026-.13-.073-.177-.047-.047-.111-.073-.177-.073h-5.5c-.066 0-.13.026-.177.073-.047.047-.073.111-.073.177v1.75zm11 1h-16v18c0 .552.448 1 1 1h14c.552 0 1-.448 1-1v-18zm-10 3.5c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm5 0c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm8-4.5v1h-2v18c0 1.105-.895 2-2 2h-14c-1.105 0-2-.895-2-2v-18h-2v-1h7v-2c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v2h7z\";\n ctrl.iconMap['goto'] = \"M21.883 12l-7.527 6.235.644.765 9-7.521-9-7.479-.645.764 7.529 6.236h-21.884v1h21.883z\";\n ctrl.iconMap['edit'] = \"M8.071 21.586l-7.071 1.414 1.414-7.071 14.929-14.929 5.657 5.657-14.929 14.929zm-.493-.921l-4.243-4.243-1.06 5.303 5.303-1.06zm9.765-18.251l-13.3 13.301 4.242 4.242 13.301-13.3-4.243-4.243z\";\n ctrl.iconMap['edit-thick'] = \"M7.127 22.564l-7.126 1.436 1.438-7.125 5.688 5.689zm-4.274-7.104l5.688 5.689 15.46-15.46-5.689-5.689-15.459 15.46z\";\n ctrl.iconMap['goback'] = \"M2.117 12l7.527 6.235-.644.765-9-7.521 9-7.479.645.764-7.529 6.236h21.884v1h-21.883z\";\n ctrl.iconMap['right'] = \"M4 .755l14.374 11.245-14.374 11.219.619.781 15.381-12-15.391-12-.609.755z\";\n ctrl.iconMap['left'] = \"M20 .755l-14.374 11.245 14.374 11.219-.619.781-15.381-12 15.391-12 .609.755z\";\n ctrl.iconMap['down'] = \"M23.245 4l-11.245 14.374-11.219-14.374-.781.619 12 15.381 12-15.391-.755-.609z\";\n ctrl.iconMap['left-thick'] = \"M16.67 0l2.83 2.829-9.339 9.175 9.339 9.167-2.83 2.829-12.17-11.996z\";\n ctrl.iconMap['help'] = \"M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm.053 17c.466 0 .844-.378.844-.845 0-.466-.378-.844-.844-.844-.466 0-.845.378-.845.844 0 .467.379.845.845.845zm.468-2.822h-.998c-.035-1.162.182-2.054.939-2.943.491-.57 1.607-1.479 1.945-2.058.722-1.229.077-3.177-2.271-3.177-1.439 0-2.615.877-2.928 2.507l-1.018-.102c.28-2.236 1.958-3.405 3.922-3.405 1.964 0 3.615 1.25 3.615 3.22 0 1.806-1.826 2.782-2.638 3.868-.422.563-.555 1.377-.568 2.09z\";\n ctrl.iconMap['max'] = \"M24 22h-24v-20h24v20zm-7-1v-15h-16v15h16zm1 0h5v-18h-22v2h17v16zm-6-6h-1v-3.241l-7.241 7.241-.759-.759 7.241-7.241h-3.241v-1h5v5z\";\n ctrl.iconMap['min'] = \"M24 22h-24v-20h24v20zm-23-9v8h10v-8h-10zm22 8v-18h-22v9h11v9h11zm-4-9h-5v-5h1v3.241l5.241-5.241.759.759-5.241 5.241h3.241v1z\";\n ctrl.iconMap['error'] = \"M24 23h-24l12-22 12 22zm-22.315-1h20.63l-10.315-18.912-10.315 18.912zm10.315-2c.466 0 .845-.378.845-.845 0-.466-.379-.844-.845-.844-.466 0-.845.378-.845.844 0 .467.379.845.845.845zm.5-11v8h-1v-8h1z\";\n ctrl.iconMap['info'] = \"M12 0c6.623 0 12 5.377 12 12s-5.377 12-12 12-12-5.377-12-12 5.377-12 12-12zm0 1c6.071 0 11 4.929 11 11s-4.929 11-11 11-11-4.929-11-11 4.929-11 11-11zm.5 17h-1v-9h1v9zm-.5-12c.466 0 .845.378.845.845 0 .466-.379.844-.845.844-.466 0-.845-.378-.845-.844 0-.467.379-.845.845-.845z\";\n ctrl.iconMap['eye'] = \"M12.01 20c-5.065 0-9.586-4.211-12.01-8.424 2.418-4.103 6.943-7.576 12.01-7.576 5.135 0 9.635 3.453 11.999 7.564-2.241 4.43-6.726 8.436-11.999 8.436zm-10.842-8.416c.843 1.331 5.018 7.416 10.842 7.416 6.305 0 10.112-6.103 10.851-7.405-.772-1.198-4.606-6.595-10.851-6.595-6.116 0-10.025 5.355-10.842 6.584zm10.832-4.584c2.76 0 5 2.24 5 5s-2.24 5-5 5-5-2.24-5-5 2.24-5 5-5zm0 1c2.208 0 4 1.792 4 4s-1.792 4-4 4-4-1.792-4-4 1.792-4 4-4z\";\n ctrl.iconMap['add-artifact'] = \"M 12 0 M 12.016 1.424 L 21.756 12.053 L 12.016 22.563 L 2.204 12.005 L 3.396 10.721 L 2.774 10.058 L 1 12 L 12 24 L 23 12 L 12 0 L 10.153 2.078 L 10.837 2.741 Z M 6 6 L 6 2 L 7 2 L 7 6 L 11 6 L 11 7 L 7 7 L 7 11 L 6 11 L 6 7 L 2 7 L 2 6 L 6 6\";\n ctrl.iconMap['add-button'] = \"M24 10h-10v-10h-4v10h-10v4h10v10h4v-10h10z\";\n ctrl.iconMap['collections'] = \"M11.499 12.03v11.971l-10.5-5.603v-11.835l10.5 5.467zm11.501 6.368l-10.501 5.602v-11.968l10.501-5.404v11.77zm-16.889-15.186l10.609 5.524-4.719 2.428-10.473-5.453 4.583-2.499zm16.362 2.563l-4.664 2.4-10.641-5.54 4.831-2.635 10.474 5.775z\";\n ctrl.iconMap['collections-thin'] = \"M23 6.066v12.065l-11.001 5.869-11-5.869v-12.131l11-6 11.001 6.066zm-21.001 11.465l9.5 5.069v-10.57l-9.5-4.946v10.447zm20.001-10.388l-9.501 4.889v10.568l9.501-5.069v-10.388zm-5.52 1.716l-9.534-4.964-4.349 2.373 9.404 4.896 4.479-2.305zm-8.476-5.541l9.565 4.98 3.832-1.972-9.405-5.185-3.992 2.177z\";\n ctrl.iconMap['content'] = \"M9.484 15.696l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm0-5l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm0-5l-.711-.696-2.552 2.607-1.539-1.452-.698.709 2.25 2.136 3.25-3.304zm10.516 11.304h-8v1h8v-1zm0-5h-8v1h8v-1zm0-5h-8v1h8v-1zm4-5h-24v20h24v-20zm-1 19h-22v-18h22v18z\"\n ctrl.iconMap['menu'] = \"M24 18v1h-24v-1h24zm0-6v1h-24v-1h24zm0-6v1h-24v-1h24z\";\n ctrl.iconMap['copy'] = \"M17 7h6v16h-16v-6h-6v-16h16v6zm5 1h-14v14h14v-14zm-6-1v-5h-14v14h5v-9h9z\";\n ctrl.iconMap['upload'] = \"M9 16h-8v6h22v-6h-8v-1h9v8h-24v-8h9v1zm11 2c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-7.5 0h-1v-14.883l-4.735 5.732-.765-.644 6.021-7.205 5.979 7.195-.764.645-4.736-5.724v14.884z\";\n ctrl.iconMap['hide'] = \"M8.137 15.147c-.71-.857-1.146-1.947-1.146-3.147 0-2.76 2.241-5 5-5 1.201 0 2.291.435 3.148 1.145l1.897-1.897c-1.441-.738-3.122-1.248-5.035-1.248-6.115 0-10.025 5.355-10.842 6.584.529.834 2.379 3.527 5.113 5.428l1.865-1.865zm6.294-6.294c-.673-.53-1.515-.853-2.44-.853-2.207 0-4 1.792-4 4 0 .923.324 1.765.854 2.439l5.586-5.586zm7.56-6.146l-19.292 19.293-.708-.707 3.548-3.548c-2.298-1.612-4.234-3.885-5.548-6.169 2.418-4.103 6.943-7.576 12.01-7.576 2.065 0 4.021.566 5.782 1.501l3.501-3.501.707.707zm-2.465 3.879l-.734.734c2.236 1.619 3.628 3.604 4.061 4.274-.739 1.303-4.546 7.406-10.852 7.406-1.425 0-2.749-.368-3.951-.938l-.748.748c1.475.742 3.057 1.19 4.699 1.19 5.274 0 9.758-4.006 11.999-8.436-1.087-1.891-2.63-3.637-4.474-4.978zm-3.535 5.414c0-.554-.113-1.082-.317-1.562l.734-.734c.361.69.583 1.464.583 2.296 0 2.759-2.24 5-5 5-.832 0-1.604-.223-2.295-.583l.734-.735c.48.204 1.007.318 1.561.318 2.208 0 4-1.792 4-4z\";\n ctrl.iconMap['download'] = \"M6 16h-5v6h22v-6h-5v-1h6v8h-24v-8h6v1zm14 2c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-7.5-17v14.884l4.736-5.724.764.645-5.979 7.195-6.021-7.205.765-.644 4.735 5.732v-14.883h1z\";\n ctrl.iconMap['import'] = \"M16.965 2.381c3.593 1.946 6.035 5.749 6.035 10.119 0 6.347-5.153 11.5-11.5 11.5s-11.5-5.153-11.5-11.5c0-4.37 2.442-8.173 6.035-10.119l.608.809c-3.353 1.755-5.643 5.267-5.643 9.31 0 5.795 4.705 10.5 10.5 10.5s10.5-4.705 10.5-10.5c0-4.043-2.29-7.555-5.643-9.31l.608-.809zm-4.965-2.381v14.826l3.747-4.604.753.666-5 6.112-5-6.101.737-.679 3.763 4.608v-14.828h1z\";\n ctrl.iconMap['filter'] = \"M23 0l-9 14.146v7.73l-3.996 2.124v-9.853l-9.004-14.147h22zm-20.249 1l8.253 12.853v8.491l1.996-1.071v-7.419l8.229-12.854h-18.478z\";\n ctrl.iconMap['check'] = \"M9 22l-10-10.598 2.798-2.859 7.149 7.473 13.144-14.016 2.909 2.806z\";\n ctrl.iconMap['settings'] = \"M12 8.666c-1.838 0-3.333 1.496-3.333 3.334s1.495 3.333 3.333 3.333 3.333-1.495 3.333-3.333-1.495-3.334-3.333-3.334m0 7.667c-2.39 0-4.333-1.943-4.333-4.333s1.943-4.334 4.333-4.334 4.333 1.944 4.333 4.334c0 2.39-1.943 4.333-4.333 4.333m-1.193 6.667h2.386c.379-1.104.668-2.451 2.107-3.05 1.496-.617 2.666.196 3.635.672l1.686-1.688c-.508-1.047-1.266-2.199-.669-3.641.567-1.369 1.739-1.663 3.048-2.099v-2.388c-1.235-.421-2.471-.708-3.047-2.098-.572-1.38.057-2.395.669-3.643l-1.687-1.686c-1.117.547-2.221 1.257-3.642.668-1.374-.571-1.656-1.734-2.1-3.047h-2.386c-.424 1.231-.704 2.468-2.099 3.046-.365.153-.718.226-1.077.226-.843 0-1.539-.392-2.566-.893l-1.687 1.686c.574 1.175 1.251 2.237.669 3.643-.571 1.375-1.734 1.654-3.047 2.098v2.388c1.226.418 2.468.705 3.047 2.098.581 1.403-.075 2.432-.669 3.643l1.687 1.687c1.45-.725 2.355-1.204 3.642-.669 1.378.572 1.655 1.738 2.1 3.047m3.094 1h-3.803c-.681-1.918-.785-2.713-1.773-3.123-1.005-.419-1.731.132-3.466.952l-2.689-2.689c.873-1.837 1.367-2.465.953-3.465-.412-.991-1.192-1.087-3.123-1.773v-3.804c1.906-.678 2.712-.782 3.123-1.773.411-.991-.071-1.613-.953-3.466l2.689-2.688c1.741.828 2.466 1.365 3.465.953.992-.412 1.082-1.185 1.775-3.124h3.802c.682 1.918.788 2.714 1.774 3.123 1.001.416 1.709-.119 3.467-.952l2.687 2.688c-.878 1.847-1.361 2.477-.952 3.465.411.992 1.192 1.087 3.123 1.774v3.805c-1.906.677-2.713.782-3.124 1.773-.403.975.044 1.561.954 3.464l-2.688 2.689c-1.728-.82-2.467-1.37-3.456-.955-.988.41-1.08 1.146-1.785 3.126\";\n ctrl.iconMap['clipboard'] = \"M 17 17 L 7 17 L 7 16 L 17 16 L 17 17 Z M 17 14 L 7 14 L 7 13 L 17 13 L 17 14 Z M 17 11 L 7 11 L 7 10 L 17 10 L 17 11 Z M 16 6 L 8 6 L 7 1 L 17 1 L 16 6 Z M 15.7 2 L 8.25 2 L 8.9 5 L 15.1 5 L 15.7 2 Z M 22 23 L 2 23 L 2 3 L 5.5 3 L 5.7 4 L 3 4 L 3 22 L 21 22 L 21 4 L 18.3 4 L 18.5 3 L 22 3 L 22 23 Z\";\n ctrl.iconMap['sort-desc'] = \"M11 21.883l-6.235-7.527-.765.644 7.521 9 7.479-9-.764-.645-6.236 7.529v-21.884h-1v21.883z\";\n ctrl.iconMap['sort-asc'] = \"M11 2.206l-6.235 7.528-.765-.645 7.521-9 7.479 9-.764.646-6.236-7.53v21.884h-1v-21.883z\";\n ctrl.$onInit = function() {\n ctrl.path = ctrl.iconMap[ctrl.shape];\n }\n}\n\n\nmodule.exports = DatabusIconController;\n\n//# sourceURL=webpack://databus-webapp/./js/components/databus-icon/databus-icon.js?"); /***/ }), @@ -275,7 +285,17 @@ eval("// hinzufügen eines Controllers zum Modul\n// TODO update base\nfunction \************************************************/ /***/ ((module) => { -eval("function YasqeTextController($scope, $element) {\n\n var ctrl = this;\n\n ctrl.textField = $element.find('textarea');\n ctrl.$scope = $scope;\n\n ctrl.$onInit = function() {\n ctrl.yasqe = YASQE.fromTextArea(ctrl.textField[0], {\n lineNumbers: true,\n viewportMargin: Infinity,\n readOnly: ctrl.readOnly,\n autorefresh: true\n });\n\n ctrl.yasqe.on('change', function() {\n ctrl.query = ctrl.yasqe.getValue();\n ctrl.valid = !ctrl.yasqe.queryValid;\n\n if(!$scope.$root.$$phase) {\n ctrl.$scope.$apply();\n }\n\n ctrl.onChange();\n });\n\n ctrl.yasqe.setValue(ctrl.query);\n }\n\n ctrl.$doCheck = function() {\n if(ctrl.yasqe != undefined && ctrl.yasqe.getValue() != ctrl.query) {\n ctrl.yasqe.setValue(ctrl.query)\n }\n\n setTimeout(function() {\n ctrl.yasqe.refresh();\n }, 10);\n\n }\n}\n\nmodule.exports = YasqeTextController;\n\n//# sourceURL=webpack://databus-webapp/./js/components/yasqe-text/yasqe-text.js?"); +eval("function YasqeTextController($scope, $element) {\n\n var ctrl = this;\n\n ctrl.textField = $element.find('#custom-query');\n ctrl.$scope = $scope;\n\n ctrl.$onInit = function () {\n\n ctrl.yasqe = new Yasqe(ctrl.textField[0], {\n lineNumbers: true,\n viewportMargin: Infinity,\n readOnly: ctrl.readOnly,\n autorefresh: true\n });\n\n if (ctrl.autoSize || !ctrl.hasSend) {\n var styleSheet = document.createElement(\"style\")\n styleSheet.innerText = \"\";\n\n if (ctrl.autoSize) {\n styleSheet.innerText += \".CodeMirror { height: auto !important; } .CodeMirror-vscrollbar { display: none !important; } .resizeWrapper { display: none !important; }\";\n }\n\n if (!ctrl.hasSend) {\n styleSheet.innerText += \".yasqe_buttons { display: none !important; }\";\n }\n\n ctrl.textField[0].appendChild(styleSheet)\n }\n\n ctrl.yasqe.on('query', function() {\n ctrl.onSend();\n });\n\n ctrl.yasqe.on('change', function () {\n ctrl.query = ctrl.yasqe.getValue();\n ctrl.valid = !ctrl.yasqe.queryValid;\n\n if (!$scope.$root.$$phase) {\n ctrl.$scope.$apply();\n }\n\n ctrl.onChange();\n });\n\n if (ctrl.query != undefined) {\n ctrl.yasqe.setValue(ctrl.query);\n }\n }\n\n ctrl.$doCheck = function () {\n if (ctrl.yasqe != undefined && ctrl.yasqe.getValue() != ctrl.query) {\n if (ctrl.query != undefined) {\n ctrl.yasqe.setValue(ctrl.query);\n }\n }\n\n setTimeout(function () {\n ctrl.yasqe.refresh();\n }, 10);\n\n }\n}\n\nmodule.exports = YasqeTextController;\n\n//# sourceURL=webpack://databus-webapp/./js/components/yasqe-text/yasqe-text.js?"); + +/***/ }), + +/***/ "./js/components/yasr-view/yasr-view.js": +/*!**********************************************!*\ + !*** ./js/components/yasr-view/yasr-view.js ***! + \**********************************************/ +/***/ ((module) => { + +eval("function YasrViewController($scope, $element) {\n\n var ctrl = this;\n\n ctrl.textField = $element.find('#custom-query');\n ctrl.$scope = $scope;\n\n ctrl.$onInit = function () {\n\n\n ctrl.yasr = new Yasr(ctrl.textField[0], {\n //lineNumbers: true,\n //viewportMargin: Infinity,\n //readOnly: ctrl.readOnly,\n //autorefresh: true\n prefixes : {\n rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\n rdfs: 'http://www.w3.org/2000/01/rdf-schema#',\n dct: 'http://purl.org/dc/terms/',\n dcat: 'http://www.w3.org/ns/dcat#',\n databus: 'https://dataid.dbpedia.org/databus#',\n sec: 'https://w3id.org/security#',\n cert: 'http://www.w3.org/ns/auth/cert#',\n foaf: 'http://xmlns.com/foaf/0.1/',\n dbo: 'http://dbpedia.org/ontology/',\n \"databus-cv\": 'https://dataid.dbpedia.org/databus-cv#'\n }\n\n });\n\n \n\n\n /*\n if(ctrl.autoSize) {\n\n var styleSheet = document.createElement(\"style\")\n styleSheet.innerText = \".CodeMirror { height: auto !important; } .CodeMirror-vscrollbar { display: none !important; } .resizeWrapper { display: none !important; }\";\n ctrl.textField[0].appendChild(styleSheet)\n }\n\n ctrl.yasr.on('change', function() {\n ctrl.query = ctrl.yasqe.getValue();\n ctrl.valid = !ctrl.yasqe.queryValid;\n\n if(!$scope.$root.$$phase) {\n ctrl.$scope.$apply();\n }\n\n ctrl.onChange();\n });\n\n ctrl.yasqe.setValue(ctrl.query);*/\n }\n\n\n ctrl.$doCheck = function () {\n var dataString = JSON.stringify(ctrl.data);\n if (ctrl.yasr != undefined && dataString != ctrl.currentDataString) {\n ctrl.yasr.setResponse(ctrl.data)\n ctrl.currentDataString = dataString;\n }\n\n\n /*\n setTimeout(function() {\n ctrl.yasqe.refresh();\n }, 10);*/\n }\n}\n\nmodule.exports = YasrViewController;\n\n//# sourceURL=webpack://databus-webapp/./js/components/yasr-view/yasr-view.js?"); /***/ }), @@ -369,6 +389,16 @@ eval("const DatabusWebappUtils = __webpack_require__(/*! ../utils/databus-webapp /***/ }), +/***/ "./js/page-controller/sparql-editor-controller.js": +/*!********************************************************!*\ + !*** ./js/page-controller/sparql-editor-controller.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("var DatabusWebappUtils = __webpack_require__(/*! ../utils/databus-webapp-utils */ \"./js/utils/databus-webapp-utils.js\");\nconst SparqlExamples = __webpack_require__(/*! ../utils/sparql-examples */ \"./js/utils/sparql-examples.js\");\n\n// Controller for the header section\nfunction SparqlEditorController($scope, $http) {\n\n\n $scope.storageKey = `${DATABUS_RESOURCE_BASE_URL}/sparql`;\n\n $scope.auth = data.auth;\n $scope.authenticated = data.auth.authenticated;\n $scope.utils = new DatabusWebappUtils($scope);\n\n\n $scope.editor = {};\n\n\n $scope.editor.exampleQueries = {};\n $scope.editor.exampleQueries.label = \"Databus Example Queries\";\n $scope.editor.exampleQueries.children = [];\n\n var simpleQueries = {\n label: \"Simple Queries\",\n children : []\n };\n\n\n var intermediateQueries = {\n label: \"Intermediate Queries\",\n children : []\n };\n\n\n simpleQueries.children.push({\n label: \"Select all Databus Groups\",\n query: `PREFIX databus: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX dct: \nPREFIX dcat: \nPREFIX sec: \nPREFIX cert: \nPREFIX foaf: \nPREFIX databus-cv: \nPREFIX dbo: \n\nSELECT DISTINCT * WHERE {\n ?s a databus:Group .\n}`\n });\n\n simpleQueries.children.push({\n label: \"Select all Databus Artifacts\",\n query: `PREFIX databus: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX dct: \nPREFIX dcat: \nPREFIX sec: \nPREFIX cert: \nPREFIX foaf: \nPREFIX databus-cv: \nPREFIX dbo: \n\nSELECT DISTINCT * WHERE {\n ?s a databus:Artifact .\n}`\n });\n\n simpleQueries.children.push({\n label: \"Select all Databus Versions\",\n query: `PREFIX databus: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX dct: \nPREFIX dcat: \nPREFIX sec: \nPREFIX cert: \nPREFIX foaf: \nPREFIX databus-cv: \nPREFIX dbo: \n\nSELECT DISTINCT * WHERE {\n ?s a databus:Version .\n}`\n });\n\n intermediateQueries.children.push({\n label: \"Latest Version of Artifact\",\n query: `PREFIX databus: \nPREFIX rdf: \nPREFIX rdfs: \nPREFIX dct: \nPREFIX dcat: \nPREFIX sec: \nPREFIX cert: \nPREFIX foaf: \nPREFIX databus-cv: \nPREFIX dbo: \n\nSELECT ?version WHERE\n{\n GRAPH ?g\n {\n ?version databus:artifact .\n ?version dct:hasVersion ?v . \n }\n} \nORDER BY DESC (STR(?v)) LIMIT 1`\n });\n\n\n $scope.editor.exampleQueries.children.push(simpleQueries);\n $scope.editor.exampleQueries.children.push(intermediateQueries);\n\n $scope.onExampleQueryClicked = function(node) {\n\n if(node.query == null) {\n return;\n }\n\n $scope.createQueryPage();\n\n var queryPage = $scope.queryData.pages[$scope.queryData.activeTab];\n\n queryPage.query = node.query;\n $scope.saveToStorage();\n }\n\n $scope.goToTab = function (index) {\n $scope.queryData.activeTab = index;\n $scope.saveToStorage();\n\n var queryPage = $scope.queryData.pages[$scope.queryData.activeTab];\n\n if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) {\n $scope.editor.result = $scope.resultCache[queryPage.name];\n } else {\n $scope.editor.result = null;\n }\n }\n\n $scope.saveToStorage = function () {\n localStorage.setItem($scope.storageKey, JSON.stringify($scope.queryData));\n }\n\n $scope.deleteQueryPage = function ($index) {\n\n // Delete result cache entry\n var queryPage = $scope.queryData.pages[$scope.queryData.activeTab];\n if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) {\n delete $scope.resultCache[queryPage.name];\n $scope.saveResultCache();\n }\n\n $scope.queryData.pages.splice($index, 1);\n\n if ($scope.queryData.pages.length == 0) {\n $scope.initialize();\n }\n else {\n var validTab = Math.min($scope.queryData.activeTab, $scope.queryData.pages.length - 1);\n\n if (validTab != $scope.queryData.activeTab) {\n $scope.goToTab(validTab);\n }\n }\n }\n\n $scope.createQueryPage = function () {\n\n var queryName = null;\n var queryNameIndex = 1;\n\n // find unoccupied name\n while (queryNameIndex < 100000) {\n\n // Create a candidate\n var hasName = true;\n queryName = `Query ${queryNameIndex}`;\n\n // Check if already in use\n for (var queryPage of $scope.queryData.pages) {\n if (queryPage.name == queryName) {\n hasName = false;\n }\n }\n\n // Found name, stop searching.\n if (hasName) {\n break;\n }\n\n queryNameIndex++;\n }\n\n $scope.queryData.pages.push({\n name: queryName,\n query: simpleQueries.children[0].query,\n endpoint: defaultEndpoint\n });\n\n $scope.goToTab($scope.queryData.pages.length - 1);\n\n $scope.saveToStorage();\n }\n\n $scope.saveResultCache = function () {\n sessionStorage.setItem($scope.storageKey, JSON.stringify($scope.resultCache));\n }\n\n $scope.initialize = function () {\n $scope.queryData = {};\n $scope.queryData.activeTab = 0;\n $scope.queryData.pages = [];\n $scope.createQueryPage();\n\n $scope.resultCache = {};\n $scope.saveResultCache();\n }\n\n var defaultEndpoint = `${DATABUS_RESOURCE_BASE_URL}/sparql`;\n\n var queryDataString = localStorage.getItem($scope.storageKey);\n var resultCacheString = sessionStorage.getItem($scope.storageKey);\n\n\n $scope.queryData = null;\n $scope.resultCache = JSON.parse(resultCacheString);\n\n try {\n $scope.queryData = JSON.parse(queryDataString);\n\n if ($scope.queryData == null || $scope.queryData.pages.length == 0) {\n $scope.initialize();\n }\n\n var queryPage = $scope.queryData.pages[$scope.queryData.activeTab];\n\n if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) {\n $scope.editor.result = $scope.resultCache[queryPage.name];\n } else {\n $scope.editor.result = null;\n }\n\n }\n catch (e) {\n // Could not parse query data, create new!\n $scope.initialize();\n }\n\n $scope.editor.query = $scope.editor.exampleQueries[0];\n\n $scope.send = async function () {\n\n var queryPage = $scope.queryData.pages[$scope.queryData.activeTab];\n\n var res = await $http.post(queryPage.endpoint, { query: queryPage.query });\n\n if ($scope.resultCache == null) {\n $scope.resultCache = {};\n }\n\n $scope.resultCache[queryPage.name] = res.data;\n $scope.saveResultCache();\n\n $scope.editor.result = res.data;\n $scope.$apply();\n }\n\n $scope.insertExampleQuery = function (query) {\n $scope.editor.query = query;\n }\n\n}\n\nmodule.exports = SparqlEditorController;\n\n\n//# sourceURL=webpack://databus-webapp/./js/page-controller/sparql-editor-controller.js?"); + +/***/ }), + /***/ "./js/page-controller/version-controller.js": /*!**************************************************!*\ !*** ./js/page-controller/version-controller.js ***! @@ -539,6 +569,16 @@ eval("/* module decorator */ module = __webpack_require__.nmd(module);\nconst Da /***/ }), +/***/ "./js/utils/sparql-examples.js": +/*!*************************************!*\ + !*** ./js/utils/sparql-examples.js ***! + \*************************************/ +/***/ ((module) => { + +eval("/**\n * Query Templates can be defined as object with the fields:\n * > select\n * > body\n * > aggregate\n * \n * The select is a SPARQL select statement. The body is an array of strings with each string being a line of a \n * SPARQL query. The string %QUERY% can be used to insert the query generated by the QueryBuilder. The aggregate\n * is a SPARQL aggregate statement.\n */\nclass SparqlExamples {\n\n static LIST = `PREFIX databus: \nSELECT DISTINCT * WHERE {\n ?s a databus:Artifact .\n}`;\n}\n\nmodule.exports = SparqlExamples;\n\n//# sourceURL=webpack://databus-webapp/./js/utils/sparql-examples.js?"); + +/***/ }), + /***/ "./js/utils/tab-navigation.js": /*!************************************!*\ !*** ./js/utils/tab-navigation.js ***! diff --git a/public/js/angular-application.js b/public/js/angular-application.js index 6a49b2ce..93a692f7 100644 --- a/public/js/angular-application.js +++ b/public/js/angular-application.js @@ -26,12 +26,15 @@ const FileBrowserController = require("./components/file-browser/file-browser"); const FacetsViewController = require("./components/facets-view/facets-view"); const ExpandableArrowController = require("./components/expandable-arrow/expandable-arrow"); const YasqeTextController = require("./components/yasqe-text/yasqe-text"); +const YasrViewController = require("./components/yasr-view/yasr-view"); const CollectionStatisticsController = require("./components/collection-statistics/collection-statistics"); const CollectionNodeController = require("./components/collection-node/collection-node"); const CollectionSearchController = require("./components/collection-search/collection-search"); const CollectionStatusController = require("./components/collection-status/collection-status"); const CollectionDataTableController = require("./components/collection-data-table/collection-data-table"); const AccountHistoryController = require("./components/account-history/account-history"); +const SparqlEditorController = require("./page-controller/sparql-editor-controller"); +const BetterDropdownController = require("./components/better-dropdown/better-dropdown"); var databusApplication = angular.module("databusApplication", []) .controller("HeaderController", ["$scope", "$http", "collectionManager", HeaderController]) @@ -54,6 +57,7 @@ var databusApplication = angular.module("databusApplication", []) .controller("CollectionsEditorController", ["$scope", "$timeout", "$http", "$location", "collectionManager", CollectionsEditorController]) .controller("GroupPageController", ["$scope", "$http", "$sce", "$interval", "$location", "collectionManager", GroupPageController]) .controller("ProfileController", ["$scope", "$http", ProfileController]) + .controller("SparqlEditorController", ["$scope", "$http", SparqlEditorController]) .controller("PublishWizardController", ["$scope", "$http", "$interval", "focus", "$q", PublishWizardController]) .controller("VersionPageController", ["$scope", "$http", "$sce", "$location", "collectionManager", VersionPageController]) .directive('uploadRanking', function () { @@ -403,6 +407,32 @@ databusApplication.component('yasqeText', { controller: ['$scope', '$element', YasqeTextController ], bindings: { query: '=', + autoSize: '<', + readOnly: '<', + onChange: '&', + onSend: '&', + hasSend: '<' + } +}); + +databusApplication.component('betterDropdown', { + templateUrl: '/js/components/better-dropdown/better-dropdown.html', + controller: ['$scope', '$interval', '$element', BetterDropdownController ], + bindings: { + rootNode: '=', + onNodeClicked: '&', + icon: '<', + label: '<' + } +}); + + +databusApplication.component('yasrView', { + templateUrl: '/js/components/yasr-view/yasr-view.html', + controller: ['$scope', '$element', YasrViewController ], + bindings: { + data: '=', + autoSize: '<', readOnly: '<', onChange: '&' } diff --git a/public/js/components/better-dropdown/better-dropdown.html b/public/js/components/better-dropdown/better-dropdown.html new file mode 100644 index 00000000..273270b9 --- /dev/null +++ b/public/js/components/better-dropdown/better-dropdown.html @@ -0,0 +1,82 @@ + + + +
+ +
+
+ +
+ \ No newline at end of file diff --git a/public/js/components/better-dropdown/better-dropdown.js b/public/js/components/better-dropdown/better-dropdown.js new file mode 100644 index 00000000..cf3ec335 --- /dev/null +++ b/public/js/components/better-dropdown/better-dropdown.js @@ -0,0 +1,81 @@ + +// hinzufügen eines Controllers zum Modul +function BetterDropdownController($scope, $timeout, $element) { + + + const ctrl = this; + ctrl.isActive = false; + + ctrl.closeAll = function() { + ctrl.rootNode.isActive = false; + ctrl.setChildrenActiveState(ctrl.rootNode, false); + } + + ctrl.activateNode = function(parent, node) { + for(var sibling of parent.children) { + sibling.isActive = false; + ctrl.setChildrenActiveState(sibling, false); + } + + node.isActive = true; + } + + ctrl.setChildrenActiveState = function(node, value) { + if(node.children == null) { + return; + } + + for(var child of node.children) { + child.isActive = value; + ctrl.setChildrenActiveState(child, value); + } + } + + ctrl.toggleNode = function(node) { + node.isActive = !node.isActive; + + if(!node.isActive) { + ctrl.setChildrenActiveState(node, false); + } + } + + ctrl.toggleDropdown = function () { + ctrl.isActive = !ctrl.isActive; + }; + ctrl.showDropdown = function () { + ctrl.isActive = true; + }; + ctrl.hideDropdown = function () { + ctrl.isActive = false; + }; + + ctrl.showNested = function (parent, node) { + if (node.children) { + ctrl.cancelShowNested(); + ctrl.currentTimeout = $timeout(function () { + ctrl.activateNode(parent, node); + }, 200); + } + }; + + ctrl.cancelShowNested = function() { + if(ctrl.currentTimeout != null) { + $timeout.cancel(ctrl.currentTimeout); + ctrl.currentTimeout = null; + } + } + + ctrl.toggleNestedDropdown = function (node) { + node.showChildren = !node.showChildren; + }; + ctrl.selectNode = function (node) { + // Handle the selected node here + ctrl.onNodeClicked({ node : node }); + }; + + + +} + + +module.exports = BetterDropdownController; diff --git a/public/js/components/databus-icon/databus-icon.js b/public/js/components/databus-icon/databus-icon.js index 001a403f..308d79ce 100644 --- a/public/js/components/databus-icon/databus-icon.js +++ b/public/js/components/databus-icon/databus-icon.js @@ -7,6 +7,8 @@ function DatabusIconController() { ctrl.iconMap['databus'] = "m 0.76949155,0.7702454 v 5.24959 l 29.33129045,-10e-4 6.27262,8.8675006 -0.002,32.0824 4.7212,-0.002 V 0.7702354 Z m 18.43511045,8.3952603 -5.68354,0.006 7.1979,10.5484003 -0.004,27.24663 4.70393,-0.002 0.0167,-28.60108 z m -9.4730904,0.002 -8.96510005,0.002 0.004,37.7960503 16.79563045,-0.004 0.001,-26.29103 z m 13.2512904,0 5.59825,8.2188903 -0.0396,29.57614 4.70307,-0.002 0.006,-31.09587 -4.55858,-6.6940403 z"; ctrl.iconMap['add'] = "M 11 11 M 2 12 L 11 12 L 11 21 L 12 21 L 12 12 L 21 12 L 21 11 L 12 11 L 12 2 L 11 2 L 11 11 L 2 11 L 2 12"; ctrl.iconMap['remove'] = "M 11 11 M 2 12 L 21 12 L 21 11 L 2 11 L 2 12"; + ctrl.iconMap['add-thick'] = "m11 11h-7.25c-.414 0-.75.336-.75.75s.336.75.75.75h7.25v7.25c0 .414.336.75.75.75s.75-.336.75-.75v-7.25h7.25c.414 0 .75-.336.75-.75s-.336-.75-.75-.75h-7.25v-7.25c0-.414-.336-.75-.75-.75s-.75.336-.75.75z"; + ctrl.iconMap['close'] = "m12 10.93 5.719-5.72c.146-.146.339-.219.531-.219.404 0 .75.324.75.749 0 .193-.073.385-.219.532l-5.72 5.719 5.719 5.719c.147.147.22.339.22.531 0 .427-.349.75-.75.75-.192 0-.385-.073-.531-.219l-5.719-5.719-5.719 5.719c-.146.146-.339.219-.531.219-.401 0-.75-.323-.75-.75 0-.192.073-.384.22-.531l5.719-5.719-5.72-5.719c-.146-.147-.219-.339-.219-.532 0-.425.346-.749.75-.749.192 0 .385.073.531.219z"; ctrl.iconMap['delete'] = "M9 3h6v-1.75c0-.066-.026-.13-.073-.177-.047-.047-.111-.073-.177-.073h-5.5c-.066 0-.13.026-.177.073-.047.047-.073.111-.073.177v1.75zm11 1h-16v18c0 .552.448 1 1 1h14c.552 0 1-.448 1-1v-18zm-10 3.5c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm5 0c0-.276-.224-.5-.5-.5s-.5.224-.5.5v12c0 .276.224.5.5.5s.5-.224.5-.5v-12zm8-4.5v1h-2v18c0 1.105-.895 2-2 2h-14c-1.105 0-2-.895-2-2v-18h-2v-1h7v-2c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v2h7z"; ctrl.iconMap['goto'] = "M21.883 12l-7.527 6.235.644.765 9-7.521-9-7.479-.645.764 7.529 6.236h-21.884v1h21.883z"; ctrl.iconMap['edit'] = "M8.071 21.586l-7.071 1.414 1.414-7.071 14.929-14.929 5.657 5.657-14.929 14.929zm-.493-.921l-4.243-4.243-1.06 5.303 5.303-1.06zm9.765-18.251l-13.3 13.301 4.242 4.242 13.301-13.3-4.243-4.243z"; diff --git a/public/js/components/file-browser/file-browser.html b/public/js/components/file-browser/file-browser.html index 26e5dd53..7c19b67a 100644 --- a/public/js/components/file-browser/file-browser.html +++ b/public/js/components/file-browser/file-browser.html @@ -86,7 +86,7 @@
- +
diff --git a/public/js/components/yasqe-text/yasqe-text.html b/public/js/components/yasqe-text/yasqe-text.html index 21fe80aa..0cb67e37 100644 --- a/public/js/components/yasqe-text/yasqe-text.html +++ b/public/js/components/yasqe-text/yasqe-text.html @@ -1,3 +1,3 @@
- +
diff --git a/public/js/components/yasqe-text/yasqe-text.js b/public/js/components/yasqe-text/yasqe-text.js index 7f87b94f..5ed23c51 100644 --- a/public/js/components/yasqe-text/yasqe-text.js +++ b/public/js/components/yasqe-text/yasqe-text.js @@ -2,37 +2,61 @@ function YasqeTextController($scope, $element) { var ctrl = this; - ctrl.textField = $element.find('textarea'); + ctrl.textField = $element.find('#custom-query'); ctrl.$scope = $scope; - ctrl.$onInit = function() { - ctrl.yasqe = YASQE.fromTextArea(ctrl.textField[0], { - lineNumbers: true, - viewportMargin: Infinity, - readOnly: ctrl.readOnly, - autorefresh: true - }); + ctrl.$onInit = function () { - ctrl.yasqe.on('change', function() { - ctrl.query = ctrl.yasqe.getValue(); - ctrl.valid = !ctrl.yasqe.queryValid; + ctrl.yasqe = new Yasqe(ctrl.textField[0], { + lineNumbers: true, + viewportMargin: Infinity, + readOnly: ctrl.readOnly, + autorefresh: true + }); - if(!$scope.$root.$$phase) { - ctrl.$scope.$apply(); - } + if (ctrl.autoSize || !ctrl.hasSend) { + var styleSheet = document.createElement("style") + styleSheet.innerText = ""; - ctrl.onChange(); - }); + if (ctrl.autoSize) { + styleSheet.innerText += ".CodeMirror { height: auto !important; } .CodeMirror-vscrollbar { display: none !important; } .resizeWrapper { display: none !important; }"; + } - ctrl.yasqe.setValue(ctrl.query); + if (!ctrl.hasSend) { + styleSheet.innerText += ".yasqe_buttons { display: none !important; }"; + } + + ctrl.textField[0].appendChild(styleSheet) + } + + ctrl.yasqe.on('query', function() { + ctrl.onSend(); + }); + + ctrl.yasqe.on('change', function () { + ctrl.query = ctrl.yasqe.getValue(); + ctrl.valid = !ctrl.yasqe.queryValid; + + if (!$scope.$root.$$phase) { + ctrl.$scope.$apply(); + } + + ctrl.onChange(); + }); + + if (ctrl.query != undefined) { + ctrl.yasqe.setValue(ctrl.query); + } } - ctrl.$doCheck = function() { - if(ctrl.yasqe != undefined && ctrl.yasqe.getValue() != ctrl.query) { - ctrl.yasqe.setValue(ctrl.query) + ctrl.$doCheck = function () { + if (ctrl.yasqe != undefined && ctrl.yasqe.getValue() != ctrl.query) { + if (ctrl.query != undefined) { + ctrl.yasqe.setValue(ctrl.query); + } } - setTimeout(function() { + setTimeout(function () { ctrl.yasqe.refresh(); }, 10); diff --git a/public/js/components/yasr-view/yasr-view.html b/public/js/components/yasr-view/yasr-view.html new file mode 100644 index 00000000..4fe4872c --- /dev/null +++ b/public/js/components/yasr-view/yasr-view.html @@ -0,0 +1,94 @@ + + + +
+
+
diff --git a/public/js/components/yasr-view/yasr-view.js b/public/js/components/yasr-view/yasr-view.js new file mode 100644 index 00000000..812f19f7 --- /dev/null +++ b/public/js/components/yasr-view/yasr-view.js @@ -0,0 +1,72 @@ +function YasrViewController($scope, $element) { + + var ctrl = this; + + ctrl.textField = $element.find('#custom-query'); + ctrl.$scope = $scope; + + ctrl.$onInit = function () { + + + ctrl.yasr = new Yasr(ctrl.textField[0], { + //lineNumbers: true, + //viewportMargin: Infinity, + //readOnly: ctrl.readOnly, + //autorefresh: true + prefixes : { + rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + rdfs: 'http://www.w3.org/2000/01/rdf-schema#', + dct: 'http://purl.org/dc/terms/', + dcat: 'http://www.w3.org/ns/dcat#', + databus: 'https://dataid.dbpedia.org/databus#', + sec: 'https://w3id.org/security#', + cert: 'http://www.w3.org/ns/auth/cert#', + foaf: 'http://xmlns.com/foaf/0.1/', + dbo: 'http://dbpedia.org/ontology/', + "databus-cv": 'https://dataid.dbpedia.org/databus-cv#' + } + + }); + + + + + /* + if(ctrl.autoSize) { + + var styleSheet = document.createElement("style") + styleSheet.innerText = ".CodeMirror { height: auto !important; } .CodeMirror-vscrollbar { display: none !important; } .resizeWrapper { display: none !important; }"; + ctrl.textField[0].appendChild(styleSheet) + } + + ctrl.yasr.on('change', function() { + ctrl.query = ctrl.yasqe.getValue(); + ctrl.valid = !ctrl.yasqe.queryValid; + + if(!$scope.$root.$$phase) { + ctrl.$scope.$apply(); + } + + ctrl.onChange(); + }); + + ctrl.yasqe.setValue(ctrl.query);*/ + } + + + ctrl.$doCheck = function () { + var dataString = JSON.stringify(ctrl.data); + if (ctrl.yasr != undefined && dataString != ctrl.currentDataString) { + ctrl.yasr.setResponse(ctrl.data) + ctrl.currentDataString = dataString; + } + + + /* + setTimeout(function() { + ctrl.yasqe.refresh(); + }, 10);*/ + } +} + +module.exports = YasrViewController; \ No newline at end of file diff --git a/public/js/page-controller/sparql-editor-controller.js b/public/js/page-controller/sparql-editor-controller.js new file mode 100644 index 00000000..c14cd051 --- /dev/null +++ b/public/js/page-controller/sparql-editor-controller.js @@ -0,0 +1,277 @@ +var DatabusWebappUtils = require("../utils/databus-webapp-utils"); +const SparqlExamples = require("../utils/sparql-examples"); + +// Controller for the header section +function SparqlEditorController($scope, $http) { + + + $scope.storageKey = `${DATABUS_RESOURCE_BASE_URL}/sparql`; + + $scope.auth = data.auth; + $scope.authenticated = data.auth.authenticated; + $scope.utils = new DatabusWebappUtils($scope); + + + $scope.editor = {}; + + + $scope.editor.exampleQueries = {}; + $scope.editor.exampleQueries.label = "Databus Example Queries"; + $scope.editor.exampleQueries.children = []; + + var simpleQueries = { + label: "Simple Queries", + children : [] + }; + + + var intermediateQueries = { + label: "Intermediate Queries", + children : [] + }; + + + simpleQueries.children.push({ + label: "Select all Databus Groups", + query: `PREFIX databus: +PREFIX rdf: +PREFIX rdfs: +PREFIX dct: +PREFIX dcat: +PREFIX sec: +PREFIX cert: +PREFIX foaf: +PREFIX databus-cv: +PREFIX dbo: + +SELECT DISTINCT * WHERE { + ?s a databus:Group . +}` + }); + + simpleQueries.children.push({ + label: "Select all Databus Artifacts", + query: `PREFIX databus: +PREFIX rdf: +PREFIX rdfs: +PREFIX dct: +PREFIX dcat: +PREFIX sec: +PREFIX cert: +PREFIX foaf: +PREFIX databus-cv: +PREFIX dbo: + +SELECT DISTINCT * WHERE { + ?s a databus:Artifact . +}` + }); + + simpleQueries.children.push({ + label: "Select all Databus Versions", + query: `PREFIX databus: +PREFIX rdf: +PREFIX rdfs: +PREFIX dct: +PREFIX dcat: +PREFIX sec: +PREFIX cert: +PREFIX foaf: +PREFIX databus-cv: +PREFIX dbo: + +SELECT DISTINCT * WHERE { + ?s a databus:Version . +}` + }); + + intermediateQueries.children.push({ + label: "Latest Version of Artifact", + query: `PREFIX databus: +PREFIX rdf: +PREFIX rdfs: +PREFIX dct: +PREFIX dcat: +PREFIX sec: +PREFIX cert: +PREFIX foaf: +PREFIX databus-cv: +PREFIX dbo: + +SELECT ?version WHERE +{ + GRAPH ?g + { + ?version databus:artifact . + ?version dct:hasVersion ?v . + } +} +ORDER BY DESC (STR(?v)) LIMIT 1` + }); + + + $scope.editor.exampleQueries.children.push(simpleQueries); + $scope.editor.exampleQueries.children.push(intermediateQueries); + + $scope.onExampleQueryClicked = function(node) { + + if(node.query == null) { + return; + } + + $scope.createQueryPage(); + + var queryPage = $scope.queryData.pages[$scope.queryData.activeTab]; + + queryPage.query = node.query; + $scope.saveToStorage(); + } + + $scope.goToTab = function (index) { + $scope.queryData.activeTab = index; + $scope.saveToStorage(); + + var queryPage = $scope.queryData.pages[$scope.queryData.activeTab]; + + if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) { + $scope.editor.result = $scope.resultCache[queryPage.name]; + } else { + $scope.editor.result = null; + } + } + + $scope.saveToStorage = function () { + localStorage.setItem($scope.storageKey, JSON.stringify($scope.queryData)); + } + + $scope.deleteQueryPage = function ($index) { + + // Delete result cache entry + var queryPage = $scope.queryData.pages[$scope.queryData.activeTab]; + if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) { + delete $scope.resultCache[queryPage.name]; + $scope.saveResultCache(); + } + + $scope.queryData.pages.splice($index, 1); + + if ($scope.queryData.pages.length == 0) { + $scope.initialize(); + } + else { + var validTab = Math.min($scope.queryData.activeTab, $scope.queryData.pages.length - 1); + + if (validTab != $scope.queryData.activeTab) { + $scope.goToTab(validTab); + } + } + } + + $scope.createQueryPage = function () { + + var queryName = null; + var queryNameIndex = 1; + + // find unoccupied name + while (queryNameIndex < 100000) { + + // Create a candidate + var hasName = true; + queryName = `Query ${queryNameIndex}`; + + // Check if already in use + for (var queryPage of $scope.queryData.pages) { + if (queryPage.name == queryName) { + hasName = false; + } + } + + // Found name, stop searching. + if (hasName) { + break; + } + + queryNameIndex++; + } + + $scope.queryData.pages.push({ + name: queryName, + query: simpleQueries.children[0].query, + endpoint: defaultEndpoint + }); + + $scope.goToTab($scope.queryData.pages.length - 1); + + $scope.saveToStorage(); + } + + $scope.saveResultCache = function () { + sessionStorage.setItem($scope.storageKey, JSON.stringify($scope.resultCache)); + } + + $scope.initialize = function () { + $scope.queryData = {}; + $scope.queryData.activeTab = 0; + $scope.queryData.pages = []; + $scope.createQueryPage(); + + $scope.resultCache = {}; + $scope.saveResultCache(); + } + + var defaultEndpoint = `${DATABUS_RESOURCE_BASE_URL}/sparql`; + + var queryDataString = localStorage.getItem($scope.storageKey); + var resultCacheString = sessionStorage.getItem($scope.storageKey); + + + $scope.queryData = null; + $scope.resultCache = JSON.parse(resultCacheString); + + try { + $scope.queryData = JSON.parse(queryDataString); + + if ($scope.queryData == null || $scope.queryData.pages.length == 0) { + $scope.initialize(); + } + + var queryPage = $scope.queryData.pages[$scope.queryData.activeTab]; + + if ($scope.resultCache != null && $scope.resultCache[queryPage.name] != null) { + $scope.editor.result = $scope.resultCache[queryPage.name]; + } else { + $scope.editor.result = null; + } + + } + catch (e) { + // Could not parse query data, create new! + $scope.initialize(); + } + + $scope.editor.query = $scope.editor.exampleQueries[0]; + + $scope.send = async function () { + + var queryPage = $scope.queryData.pages[$scope.queryData.activeTab]; + + var res = await $http.post(queryPage.endpoint, { query: queryPage.query }); + + if ($scope.resultCache == null) { + $scope.resultCache = {}; + } + + $scope.resultCache[queryPage.name] = res.data; + $scope.saveResultCache(); + + $scope.editor.result = res.data; + $scope.$apply(); + } + + $scope.insertExampleQuery = function (query) { + $scope.editor.query = query; + } + +} + +module.exports = SparqlEditorController; diff --git a/public/js/utils/sparql-examples.js b/public/js/utils/sparql-examples.js new file mode 100644 index 00000000..7f5798bd --- /dev/null +++ b/public/js/utils/sparql-examples.js @@ -0,0 +1,19 @@ +/** + * Query Templates can be defined as object with the fields: + * > select + * > body + * > aggregate + * + * The select is a SPARQL select statement. The body is an array of strings with each string being a line of a + * SPARQL query. The string %QUERY% can be used to insert the query generated by the QueryBuilder. The aggregate + * is a SPARQL aggregate statement. + */ +class SparqlExamples { + + static LIST = `PREFIX databus: +SELECT DISTINCT * WHERE { + ?s a databus:Artifact . +}`; +} + +module.exports = SparqlExamples; \ No newline at end of file diff --git a/public/package.json b/public/package.json index 367679e2..860a00b8 100644 --- a/public/package.json +++ b/public/package.json @@ -7,6 +7,8 @@ "license": "ISC", "dependencies": { "@iamadamjowett/angular-click-outside": "^2.10.1", + "@triply/yasqe": "^4.2.28", + "@triply/yasr": "^4.2.28", "angular": "^1.7.8", "angular-content-editable": "^1.2.3", "angular-drag-and-drop-lists": "^2.1.0", diff --git a/public/templates/account.ejs b/public/templates/account.ejs index 4ba6362c..c7cc4021 100644 --- a/public/templates/account.ejs +++ b/public/templates/account.ejs @@ -231,10 +231,8 @@
-

- + -

diff --git a/public/templates/footer.ejs b/public/templates/footer.ejs index 20dc7c8b..563e8884 100644 --- a/public/templates/footer.ejs +++ b/public/templates/footer.ejs @@ -6,7 +6,7 @@

DBpedia

-

Global and Unified Access to Knowledge Graphs
+

Global and Unified Access to Knowledge Graphs
© Copyright 2023 by DBpedia. All Rights Reserved.

Imprint | Report Issue | Sparql Endpoint | Forum diff --git a/public/templates/group.ejs b/public/templates/group.ejs index 0c943643..5bf39412 100644 --- a/public/templates/group.ejs +++ b/public/templates/group.ejs @@ -185,10 +185,8 @@
-

- + -

diff --git a/public/templates/header.ejs b/public/templates/header.ejs index eecb9b31..02633afd 100644 --- a/public/templates/header.ejs +++ b/public/templates/header.ejs @@ -23,7 +23,7 @@ - + @@ -96,7 +96,7 @@ Gitbook - +
-
+
+ +
+
+ +
+ + + +
+

SPARQL Editor +

+ +
+
+
+
+ +
+
+ +
+ + +
+ + + +
+ +
+ + + +
+ + +
+
+
+ +
+ +
+ + + + +
+ + + + +
+ + +
+ +
+ +
+ + <%- include('footer') -%> \ No newline at end of file diff --git a/search/gstore-helper.js b/search/gstore-helper.js new file mode 100644 index 00000000..26849273 --- /dev/null +++ b/search/gstore-helper.js @@ -0,0 +1,72 @@ +var rp = require('request-promise'); +const Constants = require('../constants'); +const DatabusMessage = require('../databus-message'); + +var prefix = encodeURIComponent(`${process.env.DATABUS_RESOURCE_BASE_URL}/`); + + +class GstoreHelper { + + + + static async read(repo, path) { + + let options = { + url: `${process.env.DATABUS_DATABASE_URL}/graph/read?repo=${repo}&path=${path}`, + headers: { + 'Accept': 'application/ld+json' + }, + json: true + }; + + try { + var res = await rp.get(options); + return res; + + } catch (err) { + return null; + } + } + + static async save(repo, path, content) { + + + try { + var options = { + uri: `${process.env.DATABUS_DATABASE_URL}/graph/save?repo=${repo}&prefix=${prefix}&path=${path}`, + body: content, + json: true + }; + + await rp.post(options); + + return { isSuccess: true }; + } catch (err) { + console.log(err); + return { isSuccess: false }; + } + + } + + static async delete(repo, path) { + + try { + + var uri = `${process.env.DATABUS_DATABASE_URL}/graph/delete?repo=${repo}&prefix=${prefix}&path=${path}`; + var res = await rp.delete(uri); + + process.send({ + id: DatabusMessage.REQUEST_SEARCH_INDEX_REBUILD + }); + + return { isSuccess: true }; + } catch (err) { + console.log(err); + return { isSuccess: false }; + } + + } + +} + +module.exports = GstoreHelper; \ No newline at end of file diff --git a/server/app/api/routes/general.js b/server/app/api/routes/general.js index 81683afa..131aed88 100644 --- a/server/app/api/routes/general.js +++ b/server/app/api/routes/general.js @@ -12,15 +12,29 @@ const DatabusLogger = require('../../common/databus-logger'); module.exports = function (router, protector, webdav) { - router.get('/sparql', cors(), function (req, res) { + router.get('/sparql', cors(), function (req, res, next) { + + var query = req.body.query; + + if(query == undefined || query == "") { + next('route'); + return; + } + + var url = `${process.env.DATABUS_DATABASE_URL}${req.originalUrl.replace('/system', '')}`; request(url).pipe(res); }); router.post('/sparql', cors(), async function (req, res) { - var sparqlEndpoint = `${process.env.DATABUS_DATABASE_URL}/sparql`; + var query = req.body.query; + + + + + var sparqlEndpoint = `${process.env.DATABUS_DATABASE_URL}/sparql`; var accept = req.headers['accept'] diff --git a/server/app/pages/module.js b/server/app/pages/module.js index 396111f8..74253279 100644 --- a/server/app/pages/module.js +++ b/server/app/pages/module.js @@ -166,32 +166,9 @@ module.exports = function (router, protector) { }); - /* - router.get('/system/pages/artifacts-by-group', protector.protect(), async function (req, res, next) { - - try { - var uri = req.query.uri; - - if(!UriUtils.isResourceUri(uri)) { - res.status(400).send('Not a resource uri'); - return; - } - - var splits = UriUtils.splitResourceUri(uri); - - var result = await sparql.dataid.getArtifactsByGroup(splits[0], splits[1]); - res.status(200).send(result); - - } catch (err) { - console.log(err); - res.status(500).send(err); - } - });*/ - - - require('./modules/account-page')(router, protector); require('./modules/collection-editor')(router, protector); + require('./modules/sparql-editor')(router, protector); require('./modules/publish-wizard')(router, protector); require('./modules/resource-pages')(router, protector); diff --git a/server/app/pages/modules/collection-editor.js b/server/app/pages/modules/collection-editor.js index 9463fc21..70f9f7e5 100644 --- a/server/app/pages/modules/collection-editor.js +++ b/server/app/pages/modules/collection-editor.js @@ -15,8 +15,6 @@ module.exports = function (router, protector) { data.collections = await sparql.collections.getCollectionsByAccount(data.auth.info.accountName); } - console.log(data); - res.render('collection-editor', { title: 'Collection Editor', data: data diff --git a/server/app/pages/modules/sparql-editor.js b/server/app/pages/modules/sparql-editor.js new file mode 100644 index 00000000..58f1d357 --- /dev/null +++ b/server/app/pages/modules/sparql-editor.js @@ -0,0 +1,19 @@ +var sparql = require("../../common/queries/sparql"); + +const DatabusCache = require('../../common/cache/databus-cache'); +const ServerUtils = require('../../common/utils/server-utils.js'); + + +module.exports = function (router, protector) { + + router.get('/sparql', protector.checkSso(), async function (req, res, next) { + + var data = {}; + data.auth = ServerUtils.getAuthInfoFromRequest(req); + + res.render('sparql-editor', { + title: 'Sparql Editor', + data: data + }); + }); +} \ No newline at end of file