mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update vulcan build
This commit is contained in:
parent
02ae9ec81e
commit
59a3cada00
1 changed files with 160 additions and 123 deletions
|
@ -11490,7 +11490,11 @@ The `aria-labelledby` attribute will be set to the header element, if one exists
|
||||||
* @return {boolean} True if `values` is valid.
|
* @return {boolean} True if `values` is valid.
|
||||||
*/
|
*/
|
||||||
validate: function(values) {
|
validate: function(values) {
|
||||||
var valid = this._validator && this._validator.validate(values);
|
var valid = true;
|
||||||
|
if (this.hasValidator()) {
|
||||||
|
valid = this._validator.validate(values);
|
||||||
|
}
|
||||||
|
|
||||||
this.invalid = !valid;
|
this.invalid = !valid;
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
@ -12004,6 +12008,24 @@ is separate from validation, and `allowed-pattern` does not affect how the input
|
||||||
type: Number
|
type: Number
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Nonstandard attributes for binding if needed
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bind this to the `<input is="iron-input">`'s `autocapitalize` property.
|
||||||
|
*/
|
||||||
|
autocapitalize: {
|
||||||
|
type: String,
|
||||||
|
value: 'none'
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bind this to the `<input is="iron-input">`'s `autocorrect` property.
|
||||||
|
*/
|
||||||
|
autocorrect: {
|
||||||
|
type: String,
|
||||||
|
value: 'off'
|
||||||
|
},
|
||||||
|
|
||||||
_ariaDescribedBy: {
|
_ariaDescribedBy: {
|
||||||
type: String,
|
type: String,
|
||||||
value: ''
|
value: ''
|
||||||
|
@ -12015,6 +12037,10 @@ is separate from validation, and `allowed-pattern` does not affect how the input
|
||||||
'addon-attached': '_onAddonAttached'
|
'addon-attached': '_onAddonAttached'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
observers: [
|
||||||
|
'_focusedControlStateChanged(focused)'
|
||||||
|
],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a reference to the input element.
|
* Returns a reference to the input element.
|
||||||
*/
|
*/
|
||||||
|
@ -12079,6 +12105,24 @@ is separate from validation, and `allowed-pattern` does not affect how the input
|
||||||
return placeholder || alwaysFloatLabel;
|
return placeholder || alwaysFloatLabel;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_focusedControlStateChanged: function(focused) {
|
||||||
|
// IronControlState stops the focus and blur events in order to redispatch them on the host
|
||||||
|
// element, but paper-input-container listens to those events. Since there are more
|
||||||
|
// pending work on focus/blur in IronControlState, I'm putting in this hack to get the
|
||||||
|
// input focus state working for now.
|
||||||
|
if (!this.$.container) {
|
||||||
|
this.$.container = Polymer.dom(this.root).querySelector('paper-input-container');
|
||||||
|
if (!this.$.container) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (focused) {
|
||||||
|
this.$.container._onFocus();
|
||||||
|
} else {
|
||||||
|
this.$.container._onBlur();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
_updateAriaLabelledBy: function() {
|
_updateAriaLabelledBy: function() {
|
||||||
var label = Polymer.dom(this.root).querySelector('label');
|
var label = Polymer.dom(this.root).querySelector('label');
|
||||||
if (!label) {
|
if (!label) {
|
||||||
|
@ -12097,6 +12141,7 @@ is separate from validation, and `allowed-pattern` does not affect how the input
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @polymerBehavior */
|
||||||
Polymer.PaperInputBehavior = [Polymer.IronControlState, Polymer.PaperInputBehaviorImpl];
|
Polymer.PaperInputBehavior = [Polymer.IronControlState, Polymer.PaperInputBehaviorImpl];
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -13225,6 +13270,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
#spinnerContainer {
|
#spinnerContainer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
|
/* The spinner does not have any contents that would have to be
|
||||||
|
* flipped if the direction changes. Always use ltr so that the
|
||||||
|
* style works out correctly in both cases. */
|
||||||
|
direction: ltr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#spinnerContainer.active {
|
#spinnerContainer.active {
|
||||||
|
@ -13563,21 +13613,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
(function() {
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
function classNames(obj) {
|
|
||||||
var classNames = [];
|
|
||||||
for (var key in obj) {
|
|
||||||
if (obj.hasOwnProperty(key) && obj[key]) {
|
|
||||||
classNames.push(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return classNames.join(' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
Polymer({
|
Polymer({
|
||||||
|
|
||||||
is: 'paper-spinner',
|
is: 'paper-spinner',
|
||||||
|
@ -13597,9 +13632,10 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
* @default false
|
* @default false
|
||||||
*/
|
*/
|
||||||
active: {
|
active: {
|
||||||
observer: '_activeChanged',
|
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
value: false
|
value: false,
|
||||||
|
reflectToAttribute: true,
|
||||||
|
observer: '_activeChanged'
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13612,9 +13648,9 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
* @default 'loading'
|
* @default 'loading'
|
||||||
*/
|
*/
|
||||||
alt: {
|
alt: {
|
||||||
observer: '_altChanged',
|
|
||||||
type: String,
|
type: String,
|
||||||
value: 'loading'
|
value: 'loading',
|
||||||
|
observer: '_altChanged'
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13633,43 +13669,37 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_computeSpinnerContainerClassName: function(active, _coolingDown) {
|
_computeSpinnerContainerClassName: function(active, coolingDown) {
|
||||||
return classNames({
|
return [
|
||||||
active: active || _coolingDown,
|
active || coolingDown ? 'active' : '',
|
||||||
cooldown: _coolingDown
|
coolingDown ? 'cooldown' : ''
|
||||||
});
|
].join(' ');
|
||||||
},
|
},
|
||||||
|
|
||||||
ready: function() {
|
_activeChanged: function(active, old) {
|
||||||
// Allow user-provided `aria-label` take preference to any other text alternative.
|
this._setAriaHidden(!active);
|
||||||
if (this.hasAttribute('aria-label')) {
|
if (!active && old) {
|
||||||
this.alt = this.getAttribute('aria-label');
|
|
||||||
} else {
|
|
||||||
this.setAttribute('aria-label', this.alt);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this.active) {
|
|
||||||
this.setAttribute('aria-hidden', 'true');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_activeChanged: function() {
|
|
||||||
if (this.active) {
|
|
||||||
this.removeAttribute('aria-hidden');
|
|
||||||
} else {
|
|
||||||
this._coolingDown = true;
|
this._coolingDown = true;
|
||||||
this.setAttribute('aria-hidden', 'true');
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_altChanged: function() {
|
_altChanged: function(alt) {
|
||||||
if (this.alt === '') {
|
// user-provided `aria-label` takes precedence over prototype default
|
||||||
this.setAttribute('aria-hidden', 'true');
|
if (alt === this.getPropertyInfo('alt').value) {
|
||||||
|
this.alt = this.getAttribute('aria-label') || alt;
|
||||||
} else {
|
} else {
|
||||||
this.removeAttribute('aria-hidden');
|
this._setAriaHidden(alt==='');
|
||||||
|
this.setAttribute('aria-label', alt);
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
this.setAttribute('aria-label', this.alt);
|
_setAriaHidden: function(hidden) {
|
||||||
|
var attr = 'aria-hidden';
|
||||||
|
if (hidden) {
|
||||||
|
this.setAttribute(attr, 'true');
|
||||||
|
} else {
|
||||||
|
this.removeAttribute(attr);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
reset: function() {
|
reset: function() {
|
||||||
|
@ -13679,8 +13709,6 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}());
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</dom-module>
|
</dom-module>
|
||||||
|
@ -14439,6 +14467,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
outline: none;
|
outline: none;
|
||||||
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-moz-user-select: none;
|
-moz-user-select: none;
|
||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
|
@ -15660,6 +15689,9 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
},
|
},
|
||||||
|
|
||||||
_positionBar: function(width, left) {
|
_positionBar: function(width, left) {
|
||||||
|
width = width || 0;
|
||||||
|
left = left || 0;
|
||||||
|
|
||||||
this._width = width;
|
this._width = width;
|
||||||
this._left = left;
|
this._left = left;
|
||||||
this.transform(
|
this.transform(
|
||||||
|
@ -15863,6 +15895,8 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
transform: scale3d(0,1,1);
|
transform: scale3d(0,1,1);
|
||||||
|
|
||||||
background: var(--paper-input-container-focus-color, --default-primary-color);
|
background: var(--paper-input-container-focus-color, --default-primary-color);
|
||||||
|
|
||||||
|
@apply(--paper-input-container-underline-focus);
|
||||||
}
|
}
|
||||||
|
|
||||||
.underline.is-highlighted .focused-line {
|
.underline.is-highlighted .focused-line {
|
||||||
|
@ -15888,12 +15922,16 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
.unfocused-line {
|
.unfocused-line {
|
||||||
height: 1px;
|
height: 1px;
|
||||||
background: var(--paper-input-container-color, --secondary-text-color);
|
background: var(--paper-input-container-color, --secondary-text-color);
|
||||||
|
|
||||||
|
@apply(--paper-input-container-underline);
|
||||||
}
|
}
|
||||||
|
|
||||||
:host([disabled]) .unfocused-line {
|
:host([disabled]) .unfocused-line {
|
||||||
border-bottom: 1px dashed;
|
border-bottom: 1px dashed;
|
||||||
border-color: var(--paper-input-container-color, --secondary-text-color);
|
border-color: var(--paper-input-container-color, --secondary-text-color);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
||||||
|
@apply(--paper-input-container-underline-disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-content {
|
.input-content {
|
||||||
|
@ -15928,6 +15966,8 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
.input-content.label-is-highlighted ::content label,
|
.input-content.label-is-highlighted ::content label,
|
||||||
.input-content.label-is-highlighted ::content .paper-input-label {
|
.input-content.label-is-highlighted ::content .paper-input-label {
|
||||||
color: var(--paper-input-container-focus-color, --default-primary-color);
|
color: var(--paper-input-container-focus-color, --default-primary-color);
|
||||||
|
|
||||||
|
@apply(--paper-input-container-label-focus);
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-content.is-invalid ::content label,
|
.input-content.is-invalid ::content label,
|
||||||
|
@ -16265,8 +16305,8 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
/* need to use display: none for role="alert" */
|
display: inline-block;
|
||||||
display: none;
|
visibility: hidden;
|
||||||
float: left;
|
float: left;
|
||||||
|
|
||||||
color: var(--paper-input-container-invalid-color, --google-red-500);
|
color: var(--paper-input-container-invalid-color, --google-red-500);
|
||||||
|
@ -16276,7 +16316,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
}
|
}
|
||||||
|
|
||||||
:host([invalid]) {
|
:host([invalid]) {
|
||||||
display: inline-block;
|
visibility: visible;
|
||||||
};
|
};
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -16301,10 +16341,6 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
Polymer.PaperInputAddonBehavior
|
Polymer.PaperInputAddonBehavior
|
||||||
],
|
],
|
||||||
|
|
||||||
hostAttributes: {
|
|
||||||
'role': 'alert'
|
|
||||||
},
|
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16423,7 +16459,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
|
|
||||||
<label hidden$="[[!label]]">[[label]]</label>
|
<label hidden$="[[!label]]">[[label]]</label>
|
||||||
|
|
||||||
<input is="iron-input" id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" maxlength$="[[maxlength]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size$="[[size]]">
|
<input is="iron-input" id="input" aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" maxlength$="[[maxlength]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size$="[[size]]" autocapitalize$="[[autocapitalize]]" autocorrect$="[[autocorrect]]">
|
||||||
|
|
||||||
<template is="dom-if" if="[[errorMessage]]">
|
<template is="dom-if" if="[[errorMessage]]">
|
||||||
<paper-input-error>[[errorMessage]]</paper-input-error>
|
<paper-input-error>[[errorMessage]]</paper-input-error>
|
||||||
|
@ -16448,6 +16484,7 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
||||||
is: 'paper-input',
|
is: 'paper-input',
|
||||||
|
|
||||||
behaviors: [
|
behaviors: [
|
||||||
|
Polymer.IronFormElementBehavior,
|
||||||
Polymer.PaperInputBehavior,
|
Polymer.PaperInputBehavior,
|
||||||
Polymer.IronControlState
|
Polymer.IronControlState
|
||||||
]
|
]
|
||||||
|
@ -17159,7 +17196,7 @@ paper-ripple {
|
||||||
position: relative;
|
position: relative;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
|
||||||
@apply(--paper-menu-colored-focused-item);
|
@apply(--paper-menu-focused-item);
|
||||||
}
|
}
|
||||||
|
|
||||||
.content > ::content > *:focus:after {
|
.content > ::content > *:focus:after {
|
||||||
|
@ -17169,7 +17206,7 @@ paper-ripple {
|
||||||
opacity: 0.12;
|
opacity: 0.12;
|
||||||
content: '';
|
content: '';
|
||||||
|
|
||||||
@apply(--paper-menu-colored-focused-item-after);
|
@apply(--paper-menu-focused-item-after);
|
||||||
}
|
}
|
||||||
|
|
||||||
.content > ::content > *[colored]:focus:after {
|
.content > ::content > *[colored]:focus:after {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue