Merge "Update OOUI to v0.31.1"
|
|
@ -115,7 +115,7 @@ For notes on 1.32.x and older releases, see HISTORY.
|
|||
* Added jakub-onderka/php-console-highlighter 0.3.2 explicitly (dev-only).
|
||||
|
||||
==== Changed external libraries ====
|
||||
* Updated OOUI from v0.29.2 to v0.31.0.
|
||||
* Updated OOUI from v0.29.2 to v0.31.1.
|
||||
* Updated OOjs Router from pre-release to v0.2.0.
|
||||
* Updated moment from v2.19.3 to v2.24.0.
|
||||
* Updated wikimedia/xmp-reader from 0.6.0 to 0.6.2.
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
"ext-xml": "*",
|
||||
"guzzlehttp/guzzle": "6.3.3",
|
||||
"liuggio/statsd-php-client": "1.0.18",
|
||||
"oojs/oojs-ui": "0.31.0",
|
||||
"oojs/oojs-ui": "0.31.1",
|
||||
"pear/mail": "1.4.1",
|
||||
"pear/mail_mime": "1.10.2",
|
||||
"pear/net_smtp": "1.8.1",
|
||||
|
|
|
|||
|
|
@ -163,8 +163,8 @@ oojs-router:
|
|||
|
||||
ooui:
|
||||
type: tar
|
||||
src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.31.0.tgz
|
||||
integrity: sha384-kmMOvTjLZbr0Nd1iiV61KSDevnZffuY0jpr7Wjoo61HrJY53b9SacjQqebcNzTEK
|
||||
src: https://registry.npmjs.org/oojs-ui/-/oojs-ui-0.31.1.tgz
|
||||
integrity: sha384-M9KdU6u02zSKCVczcw6YJmSvFLhdeagNg9CPhizYVqrybL8bamrF5u6YfrFGEyiv
|
||||
dest:
|
||||
# Main stuff
|
||||
package/dist/oojs-ui-core.js{,.map.json}:
|
||||
|
|
|
|||
|
|
@ -1,4 +1,45 @@
|
|||
# OOUI Release History
|
||||
## v0.31.1 / 2019-03-21
|
||||
### Deprecations
|
||||
* [DEPRECATING CHANGE] core: Remove unused Date.now fallback (Timo Tijhof)
|
||||
* [DEPRECATING CHANGE] textures: Deprecate 'pending.gif' (Volker E.)
|
||||
* [DEPRECATING CHANGE] textures: Deprecate unused 'transparency' (Volker E.)
|
||||
|
||||
### Features
|
||||
* MenuTagMultiselectWidget: `hideOnChoose` should be set to false (Moriel Schottlender)
|
||||
* MenuTagMultiselectWidget: `highlightOnFilter` only if not `allowArbitrary` (Moriel Schottlender)
|
||||
* MenuTagMultiselectWidget: Fix highlight and scrolling to item behavior (Moriel Schottlender)
|
||||
* SearchInputWidget: Use click handler for indicator (Ed Sanders)
|
||||
* SelectWidget: Allow multiselect mode, add to MenuTagMultiselectWidget (Moriel Schottlender)
|
||||
* SelectFileWidget: Support a button-only mode (Ed Sanders)
|
||||
* SelectFileWidget: Suppress misleading browser default tooltips (Bartosz Dziewoński)
|
||||
* SelectFileInputWidget: Create as a super-class of SelectFileWidget (Ed Sanders)
|
||||
* SelectFileInputWidget: Allow button config to be passed (Ed Sanders)
|
||||
* TagMultiselectWidget: Edit by item label, not data (Moriel Schottlender)
|
||||
|
||||
### Styles
|
||||
* Separate SelectFileWidget and SelectFileInputWidget styles (Ed Sanders)
|
||||
* themes: Provide `background` needed for PendingElement on inputs (Volker E.)
|
||||
* themes: Replace 'pending.gif' with CSS animation (Volker E.)
|
||||
* icons: Manually rewrite paths of tableMove….svg icons (Thiemo Kreuz)
|
||||
* icons: Recreate settings.svg icon with shorter syntax (Thiemo Kreuz)
|
||||
* icons: Remove invisible parts from web.svg icon (Thiemo Kreuz)
|
||||
* icons: Remove unused dotted borders from imageLayout….svg icons (Thiemo Kreuz)
|
||||
* icons: Use rounded <rect> elements to optimize some SVG icons (Thiemo Kreuz)
|
||||
|
||||
### Code
|
||||
* MenuSectionOptionWidget: Avoid select events (Gabriel Birke)
|
||||
* SelectFileInputWidget: Rewrite as an ActionFieldLayout (Ed Sanders)
|
||||
* testsuitegenerator: Reduce PHP test count by 40% (Ed Sanders)
|
||||
* testsuitegenerator: Reduce some code duplication (Bartosz Dziewoński)
|
||||
* testsuitegenerator: Use normal methods more instead of lambdas (Bartosz Dziewoński)
|
||||
* docs: Clarify some types in documentation (Bartosz Dziewoński)
|
||||
* docs: Fix missing `;` and typos in documentation examples (Volker E.)
|
||||
* demos: Make demo toolbar narrower (Ed Sanders)
|
||||
* build: Specify library entry (Stephen Niedzielski)
|
||||
* Grunt: Add a quick-build-code task for JS-only quick builds (Ed Sanders)
|
||||
|
||||
|
||||
## v0.31.0 / 2019-03-13
|
||||
### Breaking changes
|
||||
* [BREAKING CHANGE] Remove FlaggedElement from InputWidget (Ed Sanders)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
"ooui-dialog-process-dismiss": "رد",
|
||||
"ooui-dialog-process-retry": "دوباره امتحان کنید",
|
||||
"ooui-dialog-process-continue": "ادامه",
|
||||
"ooui-combobox-button-label": "پایینرونده برای جعبهٔ پایینرونده",
|
||||
"ooui-selectfile-button-select": "یک فایل انتخاب کنید",
|
||||
"ooui-selectfile-not-supported": "انتخاب پرونده پشتیبانی نمیشود",
|
||||
"ooui-selectfile-placeholder": "هیچ پروندهای انتخاب نشده است",
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:20Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-element-hidden {
|
||||
display: none !important;
|
||||
|
|
@ -345,7 +345,38 @@
|
|||
}
|
||||
|
||||
.oo-ui-pendingElement-pending {
|
||||
background-image: /* @embed */ url(themes/wikimediaui/images/textures/pending.gif);
|
||||
background-color: #ddd;
|
||||
background-image: -webkit-linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-size: 1.5625em 1.5625em;
|
||||
-webkit-animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
-moz-animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
}
|
||||
@-webkit-keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.5625em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.5625em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.5625em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1204,7 +1235,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
|
|||
line-height: 1.275;
|
||||
}
|
||||
.oo-ui-textInputWidget .oo-ui-pendingElement-pending {
|
||||
background-color: transparent;
|
||||
background-color: #ddd;
|
||||
}
|
||||
.oo-ui-textInputWidget.oo-ui-iconElement > .oo-ui-iconElement-icon,
|
||||
.oo-ui-textInputWidget.oo-ui-indicatorElement > .oo-ui-indicatorElement-indicator {
|
||||
|
|
@ -1659,6 +1690,68 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
|
|||
border-left-width: 0;
|
||||
}
|
||||
|
||||
.oo-ui-selectFileInputWidget {
|
||||
width: 100%;
|
||||
max-width: 50em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton > .oo-ui-buttonElement-button > [type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
padding-top: 100px;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton.oo-ui-widget-disabled > .oo-ui-buttonElement-button > [type='file'] {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
pointer-events: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-clearButton {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-empty .oo-ui-selectFileInputWidget-clearButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileInputWidget-label {
|
||||
cursor: default;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
left: 0.5em;
|
||||
right: 2.175em;
|
||||
line-height: 2.3em;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.oo-ui-defaultOverlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-element-hidden {
|
||||
display: none !important;
|
||||
|
|
@ -462,7 +462,38 @@
|
|||
}
|
||||
|
||||
.oo-ui-pendingElement-pending {
|
||||
background-image: /* @embed */ url(themes/wikimediaui/images/textures/pending.gif);
|
||||
background-color: #eaecf0;
|
||||
background-image: -webkit-linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-image: -moz-linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-image: linear-gradient(135deg, #fff 25%, transparent 25%, transparent 50%, #fff 50%, #fff 75%, transparent 75%, transparent);
|
||||
background-size: 1.42857143em 1.42857143em;
|
||||
-webkit-animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
-moz-animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
animation: oo-ui-pendingElement-stripes 650ms linear infinite;
|
||||
}
|
||||
@-webkit-keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.42857143em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@-moz-keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.42857143em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
@keyframes oo-ui-pendingElement-stripes {
|
||||
0% {
|
||||
background-position: -1.42857143em 0;
|
||||
}
|
||||
100% {
|
||||
background-position: 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1540,7 +1571,7 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
|
|||
line-height: 1.286;
|
||||
}
|
||||
.oo-ui-textInputWidget .oo-ui-pendingElement-pending {
|
||||
background-color: transparent;
|
||||
background-color: #eaecf0;
|
||||
}
|
||||
.oo-ui-textInputWidget.oo-ui-iconElement .oo-ui-inputWidget-input {
|
||||
padding-left: 2.64285714em;
|
||||
|
|
@ -2083,6 +2114,70 @@ body:not( :-moz-handler-blocked ) .oo-ui-fieldsetLayout {
|
|||
opacity: 1;
|
||||
}
|
||||
|
||||
.oo-ui-selectFileInputWidget {
|
||||
width: 100%;
|
||||
max-width: 50em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton > .oo-ui-buttonElement-button > [type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
padding-top: 100px;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-selectButton.oo-ui-widget-disabled > .oo-ui-buttonElement-button > [type='file'] {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
pointer-events: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-clearButton {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-empty .oo-ui-selectFileInputWidget-clearButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileInputWidget-label {
|
||||
cursor: default;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
right: 2.85714286em;
|
||||
padding-top: 0.57142857em;
|
||||
padding-left: 0.57142857em;
|
||||
padding-bottom: 0.57142857em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.oo-ui-selectFileInputWidget.oo-ui-labelElement .oo-ui-selectFileInputWidget-label {
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.oo-ui-defaultOverlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-20T23:07:02Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
@ -295,7 +295,7 @@ OO.ui.throttle = function ( func, wait ) {
|
|||
previous = 0,
|
||||
run = function () {
|
||||
timeout = null;
|
||||
previous = OO.ui.now();
|
||||
previous = Date.now();
|
||||
func.apply( context, args );
|
||||
};
|
||||
return function () {
|
||||
|
|
@ -304,7 +304,7 @@ OO.ui.throttle = function ( func, wait ) {
|
|||
// period. If it's less, run the function immediately. If it's more,
|
||||
// set a timeout for the remaining time -- but don't replace an
|
||||
// existing timeout, since that'd indefinitely prolong the wait.
|
||||
var remaining = wait - ( OO.ui.now() - previous );
|
||||
var remaining = wait - ( Date.now() - previous );
|
||||
context = this;
|
||||
args = arguments;
|
||||
if ( remaining <= 0 ) {
|
||||
|
|
@ -323,10 +323,12 @@ OO.ui.throttle = function ( func, wait ) {
|
|||
/**
|
||||
* A (possibly faster) way to get the current timestamp as an integer.
|
||||
*
|
||||
* @deprecated Since 0.31.1; use `Date.now()` instead.
|
||||
* @return {number} Current timestamp, in milliseconds since the Unix epoch
|
||||
*/
|
||||
OO.ui.now = Date.now || function () {
|
||||
return new Date().getTime();
|
||||
OO.ui.now = function () {
|
||||
OO.ui.warnDeprecation( 'OO.ui.now() is deprecated, use Date.now() instead' );
|
||||
return Date.now();
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -2118,7 +2120,7 @@ OO.ui.mixin.TabIndexedElement.prototype.getInputId = function () {
|
|||
OO.ui.mixin.TabIndexedElement.prototype.isLabelableNode = function ( $node ) {
|
||||
var
|
||||
labelableTags = [ 'button', 'meter', 'output', 'progress', 'select', 'textarea' ],
|
||||
tagName = $node.prop( 'tagName' ).toLowerCase();
|
||||
tagName = ( $node.prop( 'tagName' ) || '' ).toLowerCase();
|
||||
|
||||
if ( tagName === 'input' && $node.attr( 'type' ) !== 'hidden' ) {
|
||||
return true;
|
||||
|
|
@ -6420,6 +6422,7 @@ OO.ui.OptionWidget.prototype.getMatchText = function () {
|
|||
* Options are created with {@link OO.ui.OptionWidget OptionWidget} classes. See
|
||||
* the [OOUI documentation on MediaWiki] [2] for examples.
|
||||
* [2]: https://www.mediawiki.org/wiki/OOUI/Widgets/Selects_and_Options
|
||||
* @cfg {boolean} [multiselect] Allow for multiple selections
|
||||
*/
|
||||
OO.ui.SelectWidget = function OoUiSelectWidget( config ) {
|
||||
// Configuration initialization
|
||||
|
|
@ -6436,6 +6439,7 @@ OO.ui.SelectWidget = function OoUiSelectWidget( config ) {
|
|||
// Properties
|
||||
this.pressed = false;
|
||||
this.selecting = null;
|
||||
this.multiselect = !!config.multiselect;
|
||||
this.onDocumentMouseUpHandler = this.onDocumentMouseUp.bind( this );
|
||||
this.onDocumentMouseMoveHandler = this.onDocumentMouseMove.bind( this );
|
||||
this.onDocumentKeyDownHandler = this.onDocumentKeyDown.bind( this );
|
||||
|
|
@ -6496,13 +6500,16 @@ OO.mixinClass( OO.ui.SelectWidget, OO.ui.mixin.GroupWidget );
|
|||
* A `select` event is emitted when the selection is modified programmatically with the #selectItem
|
||||
* method.
|
||||
*
|
||||
* @param {OO.ui.OptionWidget|null} item Selected item
|
||||
* @param {OO.ui.OptionWidget[]|OO.ui.OptionWidget|null} items Currently selected items
|
||||
*/
|
||||
|
||||
/**
|
||||
* @event choose
|
||||
*
|
||||
* A `choose` event is emitted when an item is chosen with the #chooseItem method.
|
||||
*
|
||||
* @param {OO.ui.OptionWidget} item Chosen item
|
||||
* @param {boolean} selected Item is selected
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -6699,12 +6706,13 @@ OO.ui.SelectWidget.prototype.onMouseLeave = function () {
|
|||
OO.ui.SelectWidget.prototype.onDocumentKeyDown = function ( e ) {
|
||||
var nextItem,
|
||||
handled = false,
|
||||
currentItem = this.findHighlightedItem() || this.findSelectedItem();
|
||||
currentItem = this.findHighlightedItem(),
|
||||
firstItem = this.getItems()[ 0 ];
|
||||
|
||||
if ( !this.isDisabled() && this.isVisible() ) {
|
||||
switch ( e.keyCode ) {
|
||||
case OO.ui.Keys.ENTER:
|
||||
if ( currentItem && currentItem.constructor.static.highlightable ) {
|
||||
if ( currentItem ) {
|
||||
// Was only highlighted, now let's select it. No-op if already selected.
|
||||
this.chooseItem( currentItem );
|
||||
handled = true;
|
||||
|
|
@ -6713,18 +6721,18 @@ OO.ui.SelectWidget.prototype.onDocumentKeyDown = function ( e ) {
|
|||
case OO.ui.Keys.UP:
|
||||
case OO.ui.Keys.LEFT:
|
||||
this.clearKeyPressBuffer();
|
||||
nextItem = this.findRelativeSelectableItem( currentItem, -1 );
|
||||
nextItem = currentItem ? this.findRelativeSelectableItem( currentItem, -1 ) : firstItem;
|
||||
handled = true;
|
||||
break;
|
||||
case OO.ui.Keys.DOWN:
|
||||
case OO.ui.Keys.RIGHT:
|
||||
this.clearKeyPressBuffer();
|
||||
nextItem = this.findRelativeSelectableItem( currentItem, 1 );
|
||||
nextItem = currentItem ? this.findRelativeSelectableItem( currentItem, 1 ) : firstItem;
|
||||
handled = true;
|
||||
break;
|
||||
case OO.ui.Keys.ESCAPE:
|
||||
case OO.ui.Keys.TAB:
|
||||
if ( currentItem && currentItem.constructor.static.highlightable ) {
|
||||
if ( currentItem ) {
|
||||
currentItem.setHighlighted( false );
|
||||
}
|
||||
this.unbindDocumentKeyDownListener();
|
||||
|
|
@ -6944,20 +6952,36 @@ OO.ui.SelectWidget.prototype.findTargetItem = function ( e ) {
|
|||
return $option.data( 'oo-ui-optionWidget' ) || null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Find all selected items, if there are any. If the widget allows for multiselect
|
||||
* it will return an array of selected options. If the widget doesn't allow for
|
||||
* multiselect, it will return the selected option or null if no item is selected.
|
||||
*
|
||||
* @return {OO.ui.OptionWidget[]|OO.ui.OptionWidget|null} If the widget is multiselect
|
||||
* then return an array of selected items (or empty array),
|
||||
* if the widget is not multiselect, return a single selected item, or `null`
|
||||
* if no item is selected
|
||||
*/
|
||||
OO.ui.SelectWidget.prototype.findSelectedItems = function () {
|
||||
var selected = this.items.filter( function ( item ) {
|
||||
return item.isSelected();
|
||||
} );
|
||||
|
||||
return this.multiselect ?
|
||||
selected :
|
||||
selected[ 0 ] || null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Find selected item.
|
||||
*
|
||||
* @return {OO.ui.OptionWidget|null} Selected item, `null` if no item is selected
|
||||
* @return {OO.ui.OptionWidget[]|OO.ui.OptionWidget|null} If the widget is multiselect
|
||||
* then return an array of selected items (or empty array),
|
||||
* if the widget is not multiselect, return a single selected item, or `null`
|
||||
* if no item is selected
|
||||
*/
|
||||
OO.ui.SelectWidget.prototype.findSelectedItem = function () {
|
||||
var i, len;
|
||||
|
||||
for ( i = 0, len = this.items.length; i < len; i++ ) {
|
||||
if ( this.items[ i ].isSelected() ) {
|
||||
return this.items[ i ];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return this.findSelectedItems();
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -7104,6 +7128,30 @@ OO.ui.SelectWidget.prototype.selectItemByData = function ( data ) {
|
|||
return this.selectItem( itemFromData );
|
||||
};
|
||||
|
||||
/**
|
||||
* Programmatically unselect an option by its reference. If the widget
|
||||
* allows for multiple selections, there may be other items still selected;
|
||||
* otherwise, no items will be selected.
|
||||
* If no item is given, all selected items will be unselected.
|
||||
*
|
||||
* @param {OO.ui.OptionWidget} [item] Item to unselect
|
||||
* @fires select
|
||||
* @chainable
|
||||
* @return {OO.ui.Widget} The widget, for chaining
|
||||
*/
|
||||
OO.ui.SelectWidget.prototype.unselectItem = function ( item ) {
|
||||
if ( item ) {
|
||||
item.setSelected( false );
|
||||
} else {
|
||||
this.items.forEach( function ( item ) {
|
||||
item.setSelected( false );
|
||||
} );
|
||||
}
|
||||
|
||||
this.emit( 'select', this.findSelectedItems() );
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Programmatically select an option by its reference. If the `item` parameter is omitted,
|
||||
* all options will be deselected.
|
||||
|
|
@ -7117,14 +7165,20 @@ OO.ui.SelectWidget.prototype.selectItem = function ( item ) {
|
|||
var i, len, selected,
|
||||
changed = false;
|
||||
|
||||
for ( i = 0, len = this.items.length; i < len; i++ ) {
|
||||
selected = this.items[ i ] === item;
|
||||
if ( this.items[ i ].isSelected() !== selected ) {
|
||||
this.items[ i ].setSelected( selected );
|
||||
changed = true;
|
||||
if ( this.multiselect && item ) {
|
||||
// Select the item directly
|
||||
item.setSelected( true );
|
||||
} else {
|
||||
for ( i = 0, len = this.items.length; i < len; i++ ) {
|
||||
selected = this.items[ i ] === item;
|
||||
if ( this.items[ i ].isSelected() !== selected ) {
|
||||
this.items[ i ].setSelected( selected );
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( changed ) {
|
||||
// TODO: When should a non-highlightable element be selected?
|
||||
if ( item && !item.constructor.static.highlightable ) {
|
||||
if ( item ) {
|
||||
this.$focusOwner.attr( 'aria-activedescendant', item.getElementId() );
|
||||
|
|
@ -7132,7 +7186,7 @@ OO.ui.SelectWidget.prototype.selectItem = function ( item ) {
|
|||
this.$focusOwner.removeAttr( 'aria-activedescendant' );
|
||||
}
|
||||
}
|
||||
this.emit( 'select', item );
|
||||
this.emit( 'select', this.findSelectedItems() );
|
||||
}
|
||||
|
||||
return this;
|
||||
|
|
@ -7185,8 +7239,13 @@ OO.ui.SelectWidget.prototype.pressItem = function ( item ) {
|
|||
*/
|
||||
OO.ui.SelectWidget.prototype.chooseItem = function ( item ) {
|
||||
if ( item ) {
|
||||
this.selectItem( item );
|
||||
this.emit( 'choose', item );
|
||||
if ( this.multiselect && item.isSelected() ) {
|
||||
this.unselectItem( item );
|
||||
} else {
|
||||
this.selectItem( item );
|
||||
}
|
||||
|
||||
this.emit( 'choose', item, item.isSelected() );
|
||||
}
|
||||
|
||||
return this;
|
||||
|
|
@ -7655,7 +7714,7 @@ OO.ui.MenuSelectWidget.prototype.onDocumentKeyDown = function ( e ) {
|
|||
break;
|
||||
case OO.ui.Keys.ESCAPE:
|
||||
case OO.ui.Keys.TAB:
|
||||
if ( currentItem ) {
|
||||
if ( currentItem && !this.multiselect ) {
|
||||
currentItem.setHighlighted( false );
|
||||
}
|
||||
this.toggle( false );
|
||||
|
|
@ -7712,10 +7771,6 @@ OO.ui.MenuSelectWidget.prototype.updateItemVisibility = function () {
|
|||
section.toggle( showAll || !sectionEmpty );
|
||||
}
|
||||
|
||||
if ( anyVisible && this.items.length && !exactMatch ) {
|
||||
this.scrollItemIntoView( this.items[ 0 ] );
|
||||
}
|
||||
|
||||
if ( !anyVisible ) {
|
||||
this.highlightItem( null );
|
||||
}
|
||||
|
|
@ -7872,7 +7927,7 @@ OO.ui.MenuSelectWidget.prototype.clearItems = function () {
|
|||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
|
||||
var change, originalHeight, flippedHeight;
|
||||
var change, originalHeight, flippedHeight, selectedItem;
|
||||
|
||||
visible = ( visible === undefined ? !this.visible : !!visible ) && !!this.items.length;
|
||||
change = visible !== this.isVisible();
|
||||
|
|
@ -7937,9 +7992,13 @@ OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
|
|||
|
||||
this.$focusOwner.attr( 'aria-expanded', 'true' );
|
||||
|
||||
if ( this.findSelectedItem() ) {
|
||||
this.$focusOwner.attr( 'aria-activedescendant', this.findSelectedItem().getElementId() );
|
||||
this.findSelectedItem().scrollElementIntoView( { duration: 0 } );
|
||||
selectedItem = this.findSelectedItem();
|
||||
if ( !this.multiselect && selectedItem ) {
|
||||
// TODO: Verify if this is even needed; This is already done on highlight changes
|
||||
// in SelectWidget#highlightItem, so we should just need to highlight the item we need to
|
||||
// highlight here and not bother with attr or checking selections.
|
||||
this.$focusOwner.attr( 'aria-activedescendant', selectedItem.getElementId() );
|
||||
selectedItem.scrollElementIntoView( { duration: 0 } );
|
||||
}
|
||||
|
||||
// Auto-hide
|
||||
|
|
@ -7962,6 +8021,13 @@ OO.ui.MenuSelectWidget.prototype.toggle = function ( visible ) {
|
|||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Scroll to the top of the menu
|
||||
*/
|
||||
OO.ui.MenuSelectWidget.prototype.scrollToTop = function () {
|
||||
this.$element.scrollTop( 0 );
|
||||
};
|
||||
|
||||
/**
|
||||
* DropdownWidgets are not menus themselves, rather they contain a menu of options created with
|
||||
* OO.ui.MenuOptionWidget. The DropdownWidget takes care of opening and displaying the menu so that
|
||||
|
|
@ -10397,7 +10463,7 @@ OO.ui.CheckboxMultiselectInputWidget.prototype.focus = function () {
|
|||
* // A TextInputWidget.
|
||||
* var textInput = new OO.ui.TextInputWidget( {
|
||||
* value: 'Text input'
|
||||
* } )
|
||||
* } );
|
||||
* $( document.body ).append( textInput.$element );
|
||||
*
|
||||
* [1]: https://www.mediawiki.org/wiki/OOUI/Widgets/Inputs
|
||||
|
|
@ -11117,6 +11183,7 @@ OO.ui.SearchInputWidget = function OoUiSearchInputWidget( config ) {
|
|||
this.connect( this, {
|
||||
change: 'onChange'
|
||||
} );
|
||||
this.$indicator.on( 'click', this.onIndicatorClick.bind( this ) );
|
||||
|
||||
// Initialization
|
||||
this.updateSearchIndicator();
|
||||
|
|
@ -11140,9 +11207,12 @@ OO.ui.SearchInputWidget.prototype.getSaneType = function () {
|
|||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
* Handle click events on the indicator
|
||||
*
|
||||
* @param {jQuery.Event} e Click event
|
||||
* @return {boolean}
|
||||
*/
|
||||
OO.ui.SearchInputWidget.prototype.onIndicatorMouseDown = function ( e ) {
|
||||
OO.ui.SearchInputWidget.prototype.onIndicatorClick = function ( e ) {
|
||||
if ( e.which === OO.ui.MouseButtons.LEFT ) {
|
||||
// Clear the text field
|
||||
this.setValue( '' );
|
||||
|
|
@ -11205,8 +11275,8 @@ OO.ui.SearchInputWidget.prototype.setReadOnly = function ( state ) {
|
|||
* // A MultilineTextInputWidget.
|
||||
* var multilineTextInput = new OO.ui.MultilineTextInputWidget( {
|
||||
* value: 'Text input on multiple lines'
|
||||
* } )
|
||||
* $( 'body' ).append( multilineTextInput.$element );
|
||||
* } );
|
||||
* $( document.body ).append( multilineTextInput.$element );
|
||||
*
|
||||
* [1]: https://www.mediawiki.org/wiki/OOUI/Widgets/Inputs#MultilineTextInputWidget
|
||||
*
|
||||
|
|
@ -12360,21 +12430,21 @@ OO.ui.FieldsetLayout.static.tagName = 'fieldset';
|
|||
* [2]: https://www.mediawiki.org/wiki/OOUI/Widgets/Inputs
|
||||
*
|
||||
* @example
|
||||
* // Example of a form layout that wraps a fieldset layout
|
||||
* // Example of a form layout that wraps a fieldset layout.
|
||||
* var input1 = new OO.ui.TextInputWidget( {
|
||||
* placeholder: 'Username'
|
||||
* } );
|
||||
* var input2 = new OO.ui.TextInputWidget( {
|
||||
* placeholder: 'Password',
|
||||
* type: 'password'
|
||||
* } );
|
||||
* var submit = new OO.ui.ButtonInputWidget( {
|
||||
* label: 'Submit'
|
||||
* } );
|
||||
* placeholder: 'Username'
|
||||
* } ),
|
||||
* input2 = new OO.ui.TextInputWidget( {
|
||||
* placeholder: 'Password',
|
||||
* type: 'password'
|
||||
* } ),
|
||||
* submit = new OO.ui.ButtonInputWidget( {
|
||||
* label: 'Submit'
|
||||
* } ),
|
||||
* fieldset = new OO.ui.FieldsetLayout( {
|
||||
* label: 'A form layout'
|
||||
* } );
|
||||
*
|
||||
* var fieldset = new OO.ui.FieldsetLayout( {
|
||||
* label: 'A form layout'
|
||||
* } );
|
||||
* fieldset.addItems( [
|
||||
* new OO.ui.FieldLayout( input1, {
|
||||
* label: 'Username',
|
||||
|
|
@ -12565,7 +12635,7 @@ OO.ui.PanelLayout.prototype.focus = function () {
|
|||
* Note that inline elements, such as OO.ui.ButtonWidgets, do not need this wrapper.
|
||||
*
|
||||
* @example
|
||||
* // HorizontalLayout with a text input and a label
|
||||
* // HorizontalLayout with a text input and a label.
|
||||
* var layout = new OO.ui.HorizontalLayout( {
|
||||
* items: [
|
||||
* new OO.ui.LabelWidget( { label: 'Label' } ),
|
||||
|
|
@ -12978,6 +13048,254 @@ OO.ui.NumberInputWidget.prototype.setDisabled = function ( disabled ) {
|
|||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* SelectFileInputWidgets allow for selecting files, using <input type="file">. These
|
||||
* widgets can be configured with {@link OO.ui.mixin.IconElement icons}, {@link
|
||||
* OO.ui.mixin.IndicatorElement indicators} and {@link OO.ui.mixin.TitledElement titles}.
|
||||
* Please see the [OOUI documentation on MediaWiki] [1] for more information and examples.
|
||||
*
|
||||
* SelectFileInputWidgets must be used in HTML forms, as getValue only returns the filename.
|
||||
*
|
||||
* @example
|
||||
* // A file select input widget.
|
||||
* var selectFile = new OO.ui.SelectFileInputWidget();
|
||||
* $( document.body ).append( selectFile.$element );
|
||||
*
|
||||
* [1]: https://www.mediawiki.org/wiki/OOUI/Widgets
|
||||
*
|
||||
* @class
|
||||
* @extends OO.ui.InputWidget
|
||||
*
|
||||
* @constructor
|
||||
* @param {Object} [config] Configuration options
|
||||
* @cfg {string[]|null} [accept=null] MIME types to accept. null accepts all types.
|
||||
* @cfg {string} [placeholder] Text to display when no file is selected.
|
||||
* @cfg {Object} [button] Config to pass to select file button.
|
||||
* @cfg {string} [icon] Icon to show next to file info
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget = function OoUiSelectFileInputWidget( config ) {
|
||||
config = config || {};
|
||||
|
||||
// Construct buttons before parent method is called (calling setDisabled)
|
||||
this.selectButton = new OO.ui.ButtonWidget( $.extend( {
|
||||
$element: $( '<label>' ),
|
||||
classes: [ 'oo-ui-selectFileInputWidget-selectButton' ],
|
||||
label: OO.ui.msg( 'ooui-selectfile-button-select' )
|
||||
}, config.button ) );
|
||||
|
||||
// Configuration initialization
|
||||
config = $.extend( {
|
||||
accept: null,
|
||||
placeholder: OO.ui.msg( 'ooui-selectfile-placeholder' ),
|
||||
$tabIndexed: this.selectButton.$tabIndexed
|
||||
}, config );
|
||||
|
||||
this.info = new OO.ui.SearchInputWidget( {
|
||||
classes: [ 'oo-ui-selectFileInputWidget-info' ],
|
||||
placeholder: config.placeholder,
|
||||
// Pass an empty collection so that .focus() always does nothing
|
||||
$tabIndexed: $( [] )
|
||||
} ).setIcon( config.icon );
|
||||
// Set tabindex manually on $input as $tabIndexed has been overridden
|
||||
this.info.$input.attr( 'tabindex', -1 );
|
||||
|
||||
// Parent constructor
|
||||
OO.ui.SelectFileInputWidget.parent.call( this, config );
|
||||
|
||||
// Properties
|
||||
this.currentFile = null;
|
||||
if ( Array.isArray( config.accept ) ) {
|
||||
this.accept = config.accept;
|
||||
} else {
|
||||
this.accept = null;
|
||||
}
|
||||
this.onFileSelectedHandler = this.onFileSelected.bind( this );
|
||||
|
||||
// Events
|
||||
this.info.connect( this, { change: 'onInfoChange' } );
|
||||
this.selectButton.$button.on( {
|
||||
keypress: this.onKeyPress.bind( this )
|
||||
} );
|
||||
this.connect( this, { change: 'updateUI' } );
|
||||
|
||||
// Initialization
|
||||
this.setupInput();
|
||||
|
||||
this.fieldLayout = new OO.ui.ActionFieldLayout( this.info, this.selectButton, { align: 'top' } );
|
||||
|
||||
this.$element
|
||||
.addClass( 'oo-ui-selectFileInputWidget' )
|
||||
.append( this.fieldLayout.$element );
|
||||
|
||||
this.updateUI();
|
||||
};
|
||||
|
||||
/* Setup */
|
||||
|
||||
OO.inheritClass( OO.ui.SelectFileInputWidget, OO.ui.InputWidget );
|
||||
|
||||
/* Methods */
|
||||
|
||||
/**
|
||||
* Get the filename of the currently selected file.
|
||||
*
|
||||
* @return {string} Filename
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.getFilename = function () {
|
||||
if ( this.currentFile ) {
|
||||
return this.currentFile.name;
|
||||
} else {
|
||||
// Try to strip leading fakepath.
|
||||
return this.getValue().split( '\\' ).pop();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.setValue = function ( value ) {
|
||||
if ( value === undefined ) {
|
||||
// Called during init, don't replace value if just infusing.
|
||||
return;
|
||||
}
|
||||
if ( value ) {
|
||||
// We need to update this.value, but without trying to modify
|
||||
// the DOM value, which would throw an exception.
|
||||
if ( this.value !== value ) {
|
||||
this.value = value;
|
||||
this.emit( 'change', this.value );
|
||||
}
|
||||
} else {
|
||||
this.currentFile = null;
|
||||
// Parent method
|
||||
OO.ui.SelectFileInputWidget.super.prototype.setValue.call( this, '' );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle file selection from the input.
|
||||
*
|
||||
* @protected
|
||||
* @param {jQuery.Event} e
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.onFileSelected = function ( e ) {
|
||||
var file = OO.getProp( e.target, 'files', 0 ) || null;
|
||||
|
||||
if ( file && !this.isAllowedType( file.type ) ) {
|
||||
file = null;
|
||||
}
|
||||
|
||||
this.currentFile = file;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update the user interface when a file is selected or unselected.
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.updateUI = function () {
|
||||
this.info.setValue( this.getFilename() );
|
||||
};
|
||||
|
||||
/**
|
||||
* Setup the input element.
|
||||
*
|
||||
* @protected
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.setupInput = function () {
|
||||
this.$input
|
||||
.attr( {
|
||||
type: 'file',
|
||||
// this.selectButton is tabindexed
|
||||
tabindex: -1,
|
||||
// Infused input may have previously by
|
||||
// TabIndexed, so remove aria-disabled attr.
|
||||
'aria-disabled': null
|
||||
} )
|
||||
.on( 'change', this.onFileSelectedHandler );
|
||||
|
||||
if ( this.accept ) {
|
||||
this.$input.attr( 'accept', this.accept.join( ', ' ) );
|
||||
}
|
||||
this.selectButton.$button.append( this.$input );
|
||||
};
|
||||
|
||||
/**
|
||||
* Determine if we should accept this file.
|
||||
*
|
||||
* @private
|
||||
* @param {string} mimeType File MIME type
|
||||
* @return {boolean}
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.isAllowedType = function ( mimeType ) {
|
||||
var i, mimeTest;
|
||||
|
||||
if ( !this.accept || !mimeType ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for ( i = 0; i < this.accept.length; i++ ) {
|
||||
mimeTest = this.accept[ i ];
|
||||
if ( mimeTest === mimeType ) {
|
||||
return true;
|
||||
} else if ( mimeTest.substr( -2 ) === '/*' ) {
|
||||
mimeTest = mimeTest.substr( 0, mimeTest.length - 1 );
|
||||
if ( mimeType.substr( 0, mimeTest.length ) === mimeTest ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle info input change events
|
||||
*
|
||||
* The info widget can only be changed by the user
|
||||
* with the clear button.
|
||||
*
|
||||
* @private
|
||||
* @param {string} value
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.onInfoChange = function ( value ) {
|
||||
if ( value === '' ) {
|
||||
this.setValue( null );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle key press events.
|
||||
*
|
||||
* @private
|
||||
* @param {jQuery.Event} e Key press event
|
||||
* @return {undefined/boolean} False to prevent default if event is handled
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.onKeyPress = function ( e ) {
|
||||
if ( !this.isDisabled() && this.$input &&
|
||||
( e.which === OO.ui.Keys.SPACE || e.which === OO.ui.Keys.ENTER )
|
||||
) {
|
||||
// Emit a click to open the file selector.
|
||||
this.$input.trigger( 'click' );
|
||||
// Taking focus from the selectButton means keyUp isn't fired, so fire it manually.
|
||||
this.selectButton.onDocumentKeyUp( e );
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileInputWidget.prototype.setDisabled = function ( disabled ) {
|
||||
// Parent method
|
||||
OO.ui.SelectFileInputWidget.parent.prototype.setDisabled.call( this, disabled );
|
||||
|
||||
this.selectButton.setDisabled( disabled );
|
||||
this.info.setDisabled( disabled );
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
}( OO ) );
|
||||
|
||||
//# sourceMappingURL=oojs-ui-core.js.map.json
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-tool > .oo-ui-tool-link > .oo-ui-tool-checkIcon {
|
||||
display: none;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-tool {
|
||||
-webkit-box-sizing: border-box;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:20Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ).oo-ui-widget {
|
||||
cursor: move;
|
||||
|
|
@ -368,73 +368,13 @@
|
|||
margin-left: -2px;
|
||||
}
|
||||
|
||||
.oo-ui-selectFileWidget {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 100%;
|
||||
max-width: 50em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton {
|
||||
display: table-cell;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button > [type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
padding-top: 100px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton.oo-ui-widget-disabled > .oo-ui-buttonElement-button > [type='file'] {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info {
|
||||
width: 100%;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.oo-ui-widget-disabled .oo-ui-selectFileWidget-info {
|
||||
cursor: default;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget {
|
||||
position: relative;
|
||||
cursor: default;
|
||||
height: 8.815em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-dropLabel,
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-selectButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail {
|
||||
|
|
@ -447,206 +387,82 @@
|
|||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail.oo-ui-pendingElement-pending {
|
||||
background-repeat: repeat;
|
||||
background-size: auto;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail > .oo-ui-selectFileWidget-noThumbnail-icon {
|
||||
opacity: 0.4;
|
||||
height: 7.815em;
|
||||
width: 7.815em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-pendingElement-pending {
|
||||
background-repeat: repeat;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: auto;
|
||||
margin-left: 8.815em;
|
||||
border: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
background: transparent;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-label {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: inherit;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-fileName {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-fileName {
|
||||
display: block;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget {
|
||||
text-align: center;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail,
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-selectButton {
|
||||
display: block;
|
||||
margin: 2.2em 1em 1em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
text-align: center;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
margin: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-clearButton,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-clearButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-label {
|
||||
cursor: default;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-dropLabel {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-dropLabel {
|
||||
display: block;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button {
|
||||
cursor: no-drop;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
height: auto;
|
||||
}
|
||||
.oo-ui-selectFileWidget:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
border-radius: 0 3px 3px 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button .oo-ui-iconElement-icon,
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button .oo-ui-indicatorElement-indicator {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info {
|
||||
height: 2.4em;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ccc;
|
||||
border-width: 1px 0 1px 1px;
|
||||
border-radius: 3px 0 0 3px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon {
|
||||
left: 0.3em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator {
|
||||
right: 0.775em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
left: 0.5em;
|
||||
right: 2.175em;
|
||||
line-height: 2.3em;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton {
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 2.34375em;
|
||||
margin: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton.oo-ui-iconElement .oo-ui-buttonElement-button {
|
||||
height: 2.34375em;
|
||||
padding: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton.oo-ui-iconElement .oo-ui-buttonElement-button > .oo-ui-iconElement-icon {
|
||||
background-size: 12px 12px;
|
||||
height: 2.34375em;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label {
|
||||
color: #ccc;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-iconElement .oo-ui-selectFileWidget-label {
|
||||
left: 2.475em;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-label {
|
||||
right: 4.2625em;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-clearButton {
|
||||
right: 2.0875em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-label {
|
||||
right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-indicatorElement .oo-ui-selectFileWidget-label,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-indicatorElement .oo-ui-selectFileWidget-label,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-indicatorElement .oo-ui-selectFileWidget-label,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-indicatorElement .oo-ui-selectFileWidget-label {
|
||||
right: 2em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-supported.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #e1f3ff;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
padding: 1em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 3px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
border-radius: 3px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
line-height: 1.4;
|
||||
overflow: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-fileName {
|
||||
padding-top: 0.5em;
|
||||
padding-right: 2.375em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-clearButton {
|
||||
right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget-dropTarget.oo-ui-selectFileInputWidget-empty {
|
||||
border-style: dashed;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-pendingElement-pending {
|
||||
background-size: 1.5625em 1.5625em;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
background-color: #e1f3ff;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #f3f3f3;
|
||||
color: #ccc;
|
||||
border-color: #ddd;
|
||||
text-shadow: 0 1px 1px #fff;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info {
|
||||
background-color: #f3f3f3;
|
||||
color: #ccc;
|
||||
border-color: #ddd;
|
||||
text-shadow: 0 1px 1px #fff;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
|
||||
.oo-ui-outlineOptionWidget {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-draggableElement-handle:not( .oo-ui-draggableElement-undraggable ).oo-ui-widget {
|
||||
cursor: move;
|
||||
|
|
@ -401,73 +401,13 @@
|
|||
background-color: #fff;
|
||||
}
|
||||
|
||||
.oo-ui-selectFileWidget {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 100%;
|
||||
max-width: 50em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton {
|
||||
display: table-cell;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button > [type='file'] {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
padding-top: 100px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton.oo-ui-widget-disabled > .oo-ui-buttonElement-button > [type='file'] {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info {
|
||||
width: 100%;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.oo-ui-widget-disabled .oo-ui-selectFileWidget-info {
|
||||
cursor: default;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-label {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget {
|
||||
position: relative;
|
||||
cursor: default;
|
||||
height: 8.815em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-dropLabel,
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-selectButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail {
|
||||
|
|
@ -480,146 +420,59 @@
|
|||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail.oo-ui-pendingElement-pending {
|
||||
background-repeat: repeat;
|
||||
background-size: auto;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail > .oo-ui-selectFileWidget-noThumbnail-icon {
|
||||
opacity: 0.4;
|
||||
height: 7.815em;
|
||||
width: 7.815em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-pendingElement-pending {
|
||||
background-repeat: repeat;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: auto;
|
||||
margin-left: 8.815em;
|
||||
border: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
background: transparent;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-label {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: inherit;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-fileName {
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-fileName {
|
||||
display: block;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget {
|
||||
text-align: center;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-thumbnail,
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-info {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileInputWidget-selectButton {
|
||||
display: block;
|
||||
margin: 2.2em 1em 1em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
text-align: center;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-info {
|
||||
margin: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-clearButton,
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-clearButton {
|
||||
display: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-label {
|
||||
cursor: default;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-dropLabel {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-enabled .oo-ui-selectFileWidget-dropLabel {
|
||||
display: block;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget .oo-ui-buttonElement-button {
|
||||
cursor: no-drop;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
height: auto;
|
||||
}
|
||||
.oo-ui-selectFileWidget:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
border-radius: 0 2px 2px 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info {
|
||||
background-color: #fff;
|
||||
border: 1px solid #a2a9b1;
|
||||
border-radius: 2px 0 0 2px;
|
||||
border-right-width: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon {
|
||||
top: -1px;
|
||||
left: 0.57142857em;
|
||||
min-height: 2.28571429em;
|
||||
margin-left: -1px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator {
|
||||
top: -1px;
|
||||
right: 0.85714286em;
|
||||
min-height: 2.28571429em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-label {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
right: 2.85714286em;
|
||||
padding-top: 0.57142857em;
|
||||
padding-left: 0.57142857em;
|
||||
padding-bottom: 0.57142857em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-labelElement .oo-ui-selectFileWidget-label {
|
||||
line-height: 1;
|
||||
}
|
||||
.oo-ui-selectFileWidget-fileName {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton {
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin-right: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton > .oo-ui-buttonElement-button {
|
||||
padding-top: 2em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-clearButton .oo-ui-iconElement-icon {
|
||||
background-position: center center;
|
||||
background-size: 12px 12px;
|
||||
height: 2em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty .oo-ui-selectFileWidget-label {
|
||||
color: #72777d;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-iconElement .oo-ui-selectFileWidget-label {
|
||||
left: 2.64285714em;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-label {
|
||||
right: 4.57142857em;
|
||||
padding-left: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-indicatorElement .oo-ui-selectFileWidget-clearButton {
|
||||
right: 2.28571429em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-indicatorElement .oo-ui-selectFileWidget-label,
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-indicatorElement .oo-ui-selectFileWidget-label {
|
||||
right: 2em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #fff;
|
||||
border: 1px solid #a2a9b1;
|
||||
|
|
@ -627,68 +480,36 @@
|
|||
vertical-align: middle;
|
||||
overflow: hidden;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-selectButton > .oo-ui-buttonElement-button {
|
||||
border-radius: 2px;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
overflow: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-fileName {
|
||||
padding-right: 2.64285714em;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-clearButton {
|
||||
top: 0;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #fff;
|
||||
.oo-ui-selectFileWidget-dropTarget.oo-ui-selectFileInputWidget-empty {
|
||||
border-style: dashed;
|
||||
}
|
||||
.oo-ui-selectFileWidget-dropTarget .oo-ui-pendingElement-pending {
|
||||
background-size: 1.42857143em 1.42857143em;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #fff;
|
||||
-webkit-transition: background-color 250ms, color 250ms, border-color 250ms;
|
||||
-moz-transition: background-color 250ms, color 250ms, border-color 250ms;
|
||||
transition: background-color 250ms, color 250ms, border-color 250ms;
|
||||
}
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover {
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-dropTarget:hover {
|
||||
border-color: #72777d;
|
||||
}
|
||||
.oo-ui-selectFileWidget-supported.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
-webkit-transition: background-color 250ms, color 250ms;
|
||||
-moz-transition: background-color 250ms, color 250ms;
|
||||
transition: background-color 250ms, color 250ms;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-enabled.oo-ui-selectFileWidget-canDrop .oo-ui-selectFileInputWidget-info > .oo-ui-inputWidget-input {
|
||||
background-color: #eaf3ff;
|
||||
color: #36c;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info {
|
||||
background-color: #eaecf0;
|
||||
color: #72777d;
|
||||
border-color: #c8ccd1;
|
||||
text-shadow: 0 1px 1px #fff;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-iconElement-icon {
|
||||
opacity: 0.51;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled .oo-ui-selectFileWidget-info > .oo-ui-indicatorElement-indicator {
|
||||
opacity: 0.15;
|
||||
}
|
||||
.oo-ui-selectFileWidget.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget,
|
||||
.oo-ui-selectFileWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget {
|
||||
.oo-ui-selectFileWidget.oo-ui-selectFileInputWidget-empty.oo-ui-widget-disabled.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #eaecf0;
|
||||
border-color: #c8ccd1;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported .oo-ui-selectFileWidget-info {
|
||||
background-color: #eaecf0;
|
||||
color: #222;
|
||||
border-color: #c8ccd1;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget {
|
||||
background-color: #eaecf0;
|
||||
border-color: #c8ccd1;
|
||||
}
|
||||
.oo-ui-selectFileWidget-notsupported.oo-ui-selectFileWidget-dropTarget .oo-ui-selectFileWidget-label {
|
||||
padding: 1em 0.85714286em;
|
||||
}
|
||||
.oo-ui-widget-disabled .oo-ui-selectFileWidget-dropLabel {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.oo-ui-outlineSelectWidget {
|
||||
height: 100%;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:20Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
@ -4519,7 +4519,7 @@ OO.ui.TagMultiselectWidget.prototype.onTagSelect = function ( item ) {
|
|||
this.addTagFromInput();
|
||||
}
|
||||
// 1. Get the label of the tag into the input
|
||||
this.input.setValue( item.getData() );
|
||||
this.input.setValue( item.getLabel() );
|
||||
// 2. Remove the tag
|
||||
this.removeItems( [ item ] );
|
||||
// 3. Focus the input
|
||||
|
|
@ -5187,23 +5187,30 @@ OO.ui.PopupTagMultiselectWidget.prototype.addTagByPopupValue = function ( data,
|
|||
* @cfg {Object[]} [options=[]] Array of menu options in the format `{ data: …, label: … }`
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget = function OoUiMenuTagMultiselectWidget( config ) {
|
||||
var $autoCloseIgnore = $( [] );
|
||||
config = config || {};
|
||||
|
||||
// Parent constructor
|
||||
OO.ui.MenuTagMultiselectWidget.parent.call( this, config );
|
||||
|
||||
$autoCloseIgnore = $autoCloseIgnore.add( this.$group );
|
||||
if ( this.hasInput ) {
|
||||
$autoCloseIgnore = $autoCloseIgnore.add( this.input.$element );
|
||||
}
|
||||
|
||||
this.$overlay = ( config.$overlay === true ?
|
||||
OO.ui.getDefaultOverlay() : config.$overlay ) || this.$element;
|
||||
this.clearInputOnChoose = config.clearInputOnChoose === undefined ||
|
||||
!!config.clearInputOnChoose;
|
||||
this.menu = this.createMenuWidget( $.extend( {
|
||||
widget: this,
|
||||
hideOnChoose: false,
|
||||
input: this.hasInput ? this.input : null,
|
||||
$input: this.hasInput ? this.input.$input : null,
|
||||
filterFromInput: !!this.hasInput,
|
||||
highlightOnFilter: true,
|
||||
$autoCloseIgnore: this.hasInput ?
|
||||
this.input.$element : $( [] ),
|
||||
highlightOnFilter: !this.allowArbitrary,
|
||||
multiselect: true,
|
||||
$autoCloseIgnore: $autoCloseIgnore,
|
||||
$floatableContainer: this.hasInput && this.inputPosition === 'outline' ?
|
||||
this.input.$element : this.$element,
|
||||
$overlay: this.$overlay,
|
||||
|
|
@ -5262,16 +5269,6 @@ OO.ui.MenuTagMultiselectWidget.prototype.onInputFocus = function () {
|
|||
this.menu.toggle( true );
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.onInputBlur = function () {
|
||||
// Parent method
|
||||
OO.ui.MenuTagMultiselectWidget.parent.prototype.onInputBlur.call( this );
|
||||
|
||||
this.menu.toggle( false );
|
||||
};
|
||||
|
||||
/**
|
||||
* Respond to input change event
|
||||
*/
|
||||
|
|
@ -5280,16 +5277,23 @@ OO.ui.MenuTagMultiselectWidget.prototype.onInputChange = function () {
|
|||
};
|
||||
|
||||
/**
|
||||
* Respond to menu choose event
|
||||
* Respond to menu choose event, which is intentional by the user.
|
||||
*
|
||||
* @param {OO.ui.OptionWidget} menuItem Chosen menu item
|
||||
* @param {OO.ui.OptionWidget} menuItem Selected menu items
|
||||
* @param {boolean} selected Item is selected
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.onMenuChoose = function ( menuItem ) {
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.onMenuChoose = function ( menuItem, selected ) {
|
||||
if ( this.hasInput && this.clearInputOnChoose ) {
|
||||
this.input.setValue( '' );
|
||||
}
|
||||
// Add tag
|
||||
this.addTag( menuItem.getData(), menuItem.getLabel() );
|
||||
|
||||
if ( selected && !this.findItemFromData( menuItem.getData() ) ) {
|
||||
// The menu item is selected, add it to the tags
|
||||
this.addTag( menuItem.getData(), menuItem.getLabel() );
|
||||
} else {
|
||||
// The menu item was unselected, remove the tag
|
||||
this.removeTagByData( menuItem.getData() );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -5299,8 +5303,8 @@ OO.ui.MenuTagMultiselectWidget.prototype.onMenuChoose = function ( menuItem ) {
|
|||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.onMenuToggle = function ( isVisible ) {
|
||||
if ( !isVisible ) {
|
||||
this.menu.selectItem( null );
|
||||
this.menu.highlightItem( null );
|
||||
this.menu.scrollToTop();
|
||||
}
|
||||
setTimeout( function () {
|
||||
// Remove MenuSelectWidget's generic focus owner ARIA attribute
|
||||
|
|
@ -5325,16 +5329,75 @@ OO.ui.MenuTagMultiselectWidget.prototype.onTagSelect = function ( tagItem ) {
|
|||
this.input.setValue( '' );
|
||||
}
|
||||
|
||||
// Select the menu item
|
||||
this.menu.selectItem( menuItem );
|
||||
|
||||
this.focus();
|
||||
|
||||
// Highlight the menu item
|
||||
this.menu.highlightItem( menuItem );
|
||||
this.menu.scrollItemIntoView( menuItem );
|
||||
|
||||
} else {
|
||||
// Use the default
|
||||
OO.ui.MenuTagMultiselectWidget.parent.prototype.onTagSelect.call( this, tagItem );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.removeItems = function ( items ) {
|
||||
var widget = this;
|
||||
|
||||
// Parent
|
||||
OO.ui.MenuTagMultiselectWidget.parent.prototype.removeItems.call( this, items );
|
||||
|
||||
items.forEach( function ( tagItem ) {
|
||||
var menuItem = widget.menu.findItemFromData( tagItem.getData() );
|
||||
if ( menuItem ) {
|
||||
// Synchronize the menu selection - unselect the removed tag
|
||||
widget.menu.unselectItem( menuItem );
|
||||
}
|
||||
} );
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.setValue = function ( valueObject ) {
|
||||
valueObject = Array.isArray( valueObject ) ? valueObject : [ valueObject ];
|
||||
|
||||
// We override this method from the parent, to make sure we are adding proper
|
||||
// menu items, and are accounting for cases where we have this widget with
|
||||
// a menu but also 'allowArbitrary'
|
||||
if ( !this.menu ) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.clearItems();
|
||||
valueObject.forEach( function ( obj ) {
|
||||
var data, label, menuItem;
|
||||
|
||||
if ( typeof obj === 'string' ) {
|
||||
data = label = obj;
|
||||
} else {
|
||||
data = obj.data;
|
||||
label = obj.label;
|
||||
}
|
||||
|
||||
// Check if the item is in the menu
|
||||
menuItem = this.menu.getItemFromLabel( label ) || this.menu.findItemFromData( data );
|
||||
if ( menuItem ) {
|
||||
// Menu item found, add the menu item
|
||||
this.addTag( menuItem.getData(), menuItem.getLabel() );
|
||||
// Make sure that item is also selected
|
||||
this.menu.selectItem( menuItem );
|
||||
} else if ( this.allowArbitrary ) {
|
||||
// If the item isn't in the menu, only add it if we
|
||||
// allow for arbitrary values
|
||||
this.addTag( data, label );
|
||||
}
|
||||
}.bind( this ) );
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
|
|
@ -5355,12 +5418,17 @@ OO.ui.MenuTagMultiselectWidget.prototype.setDisabled = function ( isDisabled ) {
|
|||
* @chainable
|
||||
*/
|
||||
OO.ui.MenuTagMultiselectWidget.prototype.initializeMenuSelection = function () {
|
||||
if ( !this.menu.findSelectedItem() ) {
|
||||
this.menu.highlightItem(
|
||||
this.allowArbitrary ?
|
||||
null :
|
||||
this.menu.findFirstSelectableItem()
|
||||
);
|
||||
var highlightedItem;
|
||||
this.menu.highlightItem(
|
||||
this.allowArbitrary ?
|
||||
null :
|
||||
this.menu.findFirstSelectableItem()
|
||||
);
|
||||
|
||||
highlightedItem = this.menu.findHighlightedItem();
|
||||
// Scroll to the highlighted item, if it exists
|
||||
if ( highlightedItem ) {
|
||||
this.menu.scrollItemIntoView( highlightedItem );
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -5477,6 +5545,9 @@ OO.ui.MenuTagMultiselectWidget.prototype.getAllowedValues = function () {
|
|||
* OO.ui.mixin.IndicatorElement indicators} and {@link OO.ui.mixin.TitledElement titles}.
|
||||
* Please see the [OOUI documentation on MediaWiki] [1] for more information and examples.
|
||||
*
|
||||
* Although SelectFileWidget inherits from SelectFileInputWidget, it does not
|
||||
* behave as an InputWidget, and can't be used in HTML forms.
|
||||
*
|
||||
* @example
|
||||
* // A file select widget.
|
||||
* var selectFile = new OO.ui.SelectFileWidget();
|
||||
|
|
@ -5485,92 +5556,54 @@ OO.ui.MenuTagMultiselectWidget.prototype.getAllowedValues = function () {
|
|||
* [1]: https://www.mediawiki.org/wiki/OOUI/Widgets
|
||||
*
|
||||
* @class
|
||||
* @extends OO.ui.Widget
|
||||
* @mixins OO.ui.mixin.IconElement
|
||||
* @mixins OO.ui.mixin.IndicatorElement
|
||||
* @extends OO.ui.SelectFileInputWidget
|
||||
* @mixins OO.ui.mixin.PendingElement
|
||||
* @mixins OO.ui.mixin.TabIndexedElement
|
||||
* @mixins OO.ui.mixin.LabelElement
|
||||
* @mixins OO.ui.mixin.TitledElement
|
||||
*
|
||||
* @constructor
|
||||
* @param {Object} [config] Configuration options
|
||||
* @cfg {string[]|null} [accept=null] MIME types to accept. null accepts all types.
|
||||
* @cfg {string} [placeholder] Text to display when no file is selected.
|
||||
* @cfg {string} [notsupported] Text to display when file support is missing in the browser.
|
||||
* @cfg {boolean} [droppable=true] Whether to accept files by drag and drop.
|
||||
* @cfg {boolean} [buttonOnly=false] Show only the select file button, no info field. Requires
|
||||
* showDropTarget to be false.
|
||||
* @cfg {boolean} [showDropTarget=false] Whether to show a drop target. Requires droppable to be
|
||||
* true.
|
||||
* @cfg {number} [thumbnailSizeLimit=20] File size limit in MiB above which to not try and show a
|
||||
* preview (for performance).
|
||||
*/
|
||||
OO.ui.SelectFileWidget = function OoUiSelectFileWidget( config ) {
|
||||
var dragHandler;
|
||||
|
||||
this.selectButton = new OO.ui.ButtonWidget( {
|
||||
$element: $( '<label>' ),
|
||||
classes: [ 'oo-ui-selectFileWidget-selectButton' ],
|
||||
label: OO.ui.msg( 'ooui-selectfile-button-select' )
|
||||
} );
|
||||
var dragHandler, droppable,
|
||||
isSupported = this.constructor.static.isSupported();
|
||||
|
||||
// Configuration initialization
|
||||
config = $.extend( {
|
||||
accept: null,
|
||||
placeholder: OO.ui.msg( 'ooui-selectfile-placeholder' ),
|
||||
notsupported: OO.ui.msg( 'ooui-selectfile-not-supported' ),
|
||||
droppable: true,
|
||||
buttonOnly: false,
|
||||
showDropTarget: false,
|
||||
thumbnailSizeLimit: 20,
|
||||
$tabIndexed: this.selectButton.$tabIndexed
|
||||
thumbnailSizeLimit: 20
|
||||
}, config );
|
||||
|
||||
if ( !isSupported ) {
|
||||
config.disabled = true;
|
||||
}
|
||||
|
||||
// Parent constructor
|
||||
OO.ui.SelectFileWidget.parent.call( this, config );
|
||||
|
||||
// Mixin constructors
|
||||
OO.ui.mixin.IconElement.call( this, config );
|
||||
OO.ui.mixin.IndicatorElement.call( this, config );
|
||||
OO.ui.mixin.PendingElement.call( this, $.extend( {
|
||||
$pending: this.$info
|
||||
}, config ) );
|
||||
OO.ui.mixin.TabIndexedElement.call( this, $.extend( {
|
||||
$tabIndexed: this.selectButton.$tabIndexed
|
||||
}, config ) );
|
||||
OO.ui.mixin.LabelElement.call( this, config );
|
||||
OO.ui.mixin.TitledElement.call( this, config );
|
||||
OO.ui.mixin.PendingElement.call( this );
|
||||
|
||||
if ( !isSupported ) {
|
||||
this.info.setValue( config.notsupported );
|
||||
}
|
||||
|
||||
// Properties
|
||||
this.$info = $( '<span>' );
|
||||
this.showDropTarget = config.droppable && config.showDropTarget;
|
||||
droppable = config.droppable && isSupported;
|
||||
this.showDropTarget = droppable && config.showDropTarget;
|
||||
this.thumbnailSizeLimit = config.thumbnailSizeLimit;
|
||||
this.isSupported = this.constructor.static.isSupported();
|
||||
this.currentFile = null;
|
||||
if ( Array.isArray( config.accept ) ) {
|
||||
this.accept = config.accept;
|
||||
} else {
|
||||
this.accept = null;
|
||||
}
|
||||
this.placeholder = config.placeholder;
|
||||
this.notsupported = config.notsupported;
|
||||
this.onFileSelectedHandler = this.onFileSelected.bind( this );
|
||||
|
||||
this.selectButton.setDisabled( this.disabled || !this.isSupported );
|
||||
|
||||
this.clearButton = new OO.ui.ButtonWidget( {
|
||||
classes: [ 'oo-ui-selectFileWidget-clearButton' ],
|
||||
framed: false,
|
||||
icon: 'clear',
|
||||
disabled: this.disabled
|
||||
} );
|
||||
|
||||
// Events
|
||||
this.selectButton.$button.on( {
|
||||
keypress: this.onKeyPress.bind( this )
|
||||
} );
|
||||
this.clearButton.connect( this, {
|
||||
click: 'onClearClick'
|
||||
} );
|
||||
if ( config.droppable ) {
|
||||
if ( droppable ) {
|
||||
dragHandler = this.onDragEnterOrOver.bind( this );
|
||||
this.$element.on( {
|
||||
dragenter: dragHandler,
|
||||
|
|
@ -5581,46 +5614,38 @@ OO.ui.SelectFileWidget = function OoUiSelectFileWidget( config ) {
|
|||
}
|
||||
|
||||
// Initialization
|
||||
this.addInput();
|
||||
this.$label.addClass( 'oo-ui-selectFileWidget-label' );
|
||||
this.$info
|
||||
.addClass( 'oo-ui-selectFileWidget-info' )
|
||||
.append( this.$icon, this.$label, this.clearButton.$element, this.$indicator );
|
||||
|
||||
if ( this.showDropTarget ) {
|
||||
this.selectButton.setIcon( 'upload' );
|
||||
this.$thumbnail = $( '<div>' ).addClass( 'oo-ui-selectFileWidget-thumbnail' );
|
||||
this.setPendingElement( this.$thumbnail );
|
||||
this.$element
|
||||
.addClass( 'oo-ui-selectFileWidget-dropTarget oo-ui-selectFileWidget' )
|
||||
.addClass( 'oo-ui-selectFileWidget-dropTarget' )
|
||||
.on( {
|
||||
click: this.onDropTargetClick.bind( this )
|
||||
} )
|
||||
.append(
|
||||
this.$thumbnail,
|
||||
this.$info,
|
||||
this.info.$element,
|
||||
this.selectButton.$element,
|
||||
$( '<span>' )
|
||||
.addClass( 'oo-ui-selectFileWidget-dropLabel' )
|
||||
.text( OO.ui.msg( 'ooui-selectfile-dragdrop-placeholder' ) )
|
||||
);
|
||||
} else {
|
||||
this.$element
|
||||
.addClass( 'oo-ui-selectFileWidget' )
|
||||
.append( this.$info, this.selectButton.$element );
|
||||
this.fieldLayout.$element.remove();
|
||||
} else if ( config.buttonOnly ) {
|
||||
this.$element.append( this.selectButton.$element );
|
||||
this.fieldLayout.$element.remove();
|
||||
}
|
||||
|
||||
this.$element.addClass( 'oo-ui-selectFileWidget' );
|
||||
|
||||
this.updateUI();
|
||||
};
|
||||
|
||||
/* Setup */
|
||||
|
||||
OO.inheritClass( OO.ui.SelectFileWidget, OO.ui.Widget );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.IconElement );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.IndicatorElement );
|
||||
OO.inheritClass( OO.ui.SelectFileWidget, OO.ui.SelectFileInputWidget );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.PendingElement );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.TabIndexedElement );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.LabelElement );
|
||||
OO.mixinClass( OO.ui.SelectFileWidget, OO.ui.mixin.TitledElement );
|
||||
|
||||
/* Static Properties */
|
||||
|
||||
|
|
@ -5670,63 +5695,65 @@ OO.ui.SelectFileWidget.prototype.getValue = function () {
|
|||
OO.ui.SelectFileWidget.prototype.setValue = function ( file ) {
|
||||
if ( this.currentFile !== file ) {
|
||||
this.currentFile = file;
|
||||
this.updateUI();
|
||||
this.emit( 'change', this.currentFile );
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Update the user interface when a file is selected or unselected
|
||||
*
|
||||
* @protected
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.getFilename = function () {
|
||||
return this.currentFile ? this.currentFile.name : '';
|
||||
};
|
||||
|
||||
/**
|
||||
* Disable InputWidget#onEdit listener, onFileSelected is used instead.
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.onEdit = function () {};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.updateUI = function () {
|
||||
var $label;
|
||||
if ( !this.isSupported ) {
|
||||
this.$element.addClass( 'oo-ui-selectFileWidget-notsupported' );
|
||||
this.$element.removeClass( 'oo-ui-selectFileWidget-empty' );
|
||||
this.setLabel( this.notsupported );
|
||||
} else {
|
||||
this.$element.addClass( 'oo-ui-selectFileWidget-supported' );
|
||||
if ( this.currentFile ) {
|
||||
this.$element.removeClass( 'oo-ui-selectFileWidget-empty' );
|
||||
$label = $( [] );
|
||||
$label = $label.add(
|
||||
$( '<span>' )
|
||||
.addClass( 'oo-ui-selectFileWidget-fileName' )
|
||||
.text( this.currentFile.name )
|
||||
);
|
||||
this.setLabel( $label );
|
||||
// Too early, or not supported
|
||||
if ( !this.selectButton || !this.constructor.static.isSupported() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( this.showDropTarget ) {
|
||||
this.pushPending();
|
||||
this.loadAndGetImageUrl().done( function ( url ) {
|
||||
this.$thumbnail.css( 'background-image', 'url( ' + url + ' )' );
|
||||
}.bind( this ) ).fail( function () {
|
||||
this.$thumbnail.append(
|
||||
new OO.ui.IconWidget( {
|
||||
icon: 'attachment',
|
||||
classes: [ 'oo-ui-selectFileWidget-noThumbnail-icon' ]
|
||||
} ).$element
|
||||
);
|
||||
}.bind( this ) ).always( function () {
|
||||
this.popPending();
|
||||
}.bind( this ) );
|
||||
this.$element.off( 'click' );
|
||||
}
|
||||
} else {
|
||||
if ( this.showDropTarget ) {
|
||||
this.$element.off( 'click' );
|
||||
this.$element.on( {
|
||||
click: this.onDropTargetClick.bind( this )
|
||||
} );
|
||||
this.$thumbnail
|
||||
.empty()
|
||||
.css( 'background-image', '' );
|
||||
}
|
||||
this.$element.addClass( 'oo-ui-selectFileWidget-empty' );
|
||||
this.setLabel( this.placeholder );
|
||||
// Parent method
|
||||
OO.ui.SelectFileWidget.super.prototype.updateUI.call( this );
|
||||
|
||||
if ( this.currentFile ) {
|
||||
this.$element.removeClass( 'oo-ui-selectFileInputWidget-empty' );
|
||||
|
||||
if ( this.showDropTarget ) {
|
||||
this.pushPending();
|
||||
this.loadAndGetImageUrl().done( function ( url ) {
|
||||
this.$thumbnail.css( 'background-image', 'url( ' + url + ' )' );
|
||||
}.bind( this ) ).fail( function () {
|
||||
this.$thumbnail.append(
|
||||
new OO.ui.IconWidget( {
|
||||
icon: 'attachment',
|
||||
classes: [ 'oo-ui-selectFileWidget-noThumbnail-icon' ]
|
||||
} ).$element
|
||||
);
|
||||
}.bind( this ) ).always( function () {
|
||||
this.popPending();
|
||||
}.bind( this ) );
|
||||
this.$element.off( 'click' );
|
||||
}
|
||||
} else {
|
||||
if ( this.showDropTarget ) {
|
||||
this.$element.off( 'click' );
|
||||
this.$element.on( {
|
||||
click: this.onDropTargetClick.bind( this )
|
||||
} );
|
||||
this.$thumbnail
|
||||
.empty()
|
||||
.css( 'background-image', '' );
|
||||
}
|
||||
this.$element.addClass( 'oo-ui-selectFileInputWidget-empty' );
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -5778,61 +5805,29 @@ OO.ui.SelectFileWidget.prototype.addInput = function () {
|
|||
this.$input.remove();
|
||||
}
|
||||
|
||||
if ( !this.isSupported ) {
|
||||
this.$input = null;
|
||||
return;
|
||||
}
|
||||
this.$input = $( '<input>' )
|
||||
// Set empty title so that browser default tooltips like "No file chosen" don't appear.
|
||||
// This input is "empty" after a file was actually chosen, which is misleading.
|
||||
.attr( 'title', '' );
|
||||
this.setupInput();
|
||||
};
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.setupInput = function () {
|
||||
// Parent method
|
||||
OO.ui.SelectFileWidget.super.prototype.setupInput.call( this );
|
||||
|
||||
this.$input = $( '<input>' ).attr( 'type', 'file' );
|
||||
this.$input.on( 'change', this.onFileSelectedHandler );
|
||||
this.$input.on( 'click', function ( e ) {
|
||||
// Prevents dropTarget to get clicked which calls
|
||||
// a click on this input
|
||||
e.stopPropagation();
|
||||
} );
|
||||
this.$input.attr( {
|
||||
tabindex: -1
|
||||
} );
|
||||
if ( this.accept ) {
|
||||
this.$input.attr( 'accept', this.accept.join( ', ' ) );
|
||||
}
|
||||
this.selectButton.$button.append( this.$input );
|
||||
};
|
||||
|
||||
/**
|
||||
* Determine if we should accept this file
|
||||
*
|
||||
* @private
|
||||
* @param {string} mimeType File MIME type
|
||||
* @return {boolean}
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.isAllowedType = function ( mimeType ) {
|
||||
var i, mimeTest;
|
||||
|
||||
if ( !this.accept || !mimeType ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
for ( i = 0; i < this.accept.length; i++ ) {
|
||||
mimeTest = this.accept[ i ];
|
||||
if ( mimeTest === mimeType ) {
|
||||
return true;
|
||||
} else if ( mimeTest.substr( -2 ) === '/*' ) {
|
||||
mimeTest = mimeTest.substr( 0, mimeTest.length - 1 );
|
||||
if ( mimeType.substr( 0, mimeTest.length ) === mimeTest ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle file selection from the input
|
||||
*
|
||||
* @private
|
||||
* @param {jQuery.Event} e
|
||||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.onFileSelected = function ( e ) {
|
||||
var file = OO.getProp( e.target, 'files', 0 ) || null;
|
||||
|
|
@ -5845,33 +5840,6 @@ OO.ui.SelectFileWidget.prototype.onFileSelected = function ( e ) {
|
|||
this.addInput();
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle clear button click events.
|
||||
*
|
||||
* @private
|
||||
* @return {undefined/boolean} False to prevent default if event is handled
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.onClearClick = function () {
|
||||
this.setValue( null );
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle key press events.
|
||||
*
|
||||
* @private
|
||||
* @param {jQuery.Event} e Key press event
|
||||
* @return {undefined/boolean} False to prevent default if event is handled
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.onKeyPress = function ( e ) {
|
||||
if ( this.isSupported && !this.isDisabled() && this.$input &&
|
||||
( e.which === OO.ui.Keys.SPACE || e.which === OO.ui.Keys.ENTER )
|
||||
) {
|
||||
this.$input.trigger( 'click' );
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Handle drop target click events.
|
||||
*
|
||||
|
|
@ -5880,7 +5848,7 @@ OO.ui.SelectFileWidget.prototype.onKeyPress = function ( e ) {
|
|||
* @return {undefined/boolean} False to prevent default if event is handled
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.onDropTargetClick = function () {
|
||||
if ( this.isSupported && !this.isDisabled() && this.$input ) {
|
||||
if ( !this.isDisabled() && this.$input ) {
|
||||
this.$input.trigger( 'click' );
|
||||
return false;
|
||||
}
|
||||
|
|
@ -5901,7 +5869,7 @@ OO.ui.SelectFileWidget.prototype.onDragEnterOrOver = function ( e ) {
|
|||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ( this.isDisabled() || !this.isSupported ) {
|
||||
if ( this.isDisabled() ) {
|
||||
this.$element.removeClass( 'oo-ui-selectFileWidget-canDrop' );
|
||||
dt.dropEffect = 'none';
|
||||
return false;
|
||||
|
|
@ -5955,7 +5923,7 @@ OO.ui.SelectFileWidget.prototype.onDrop = function ( e ) {
|
|||
e.stopPropagation();
|
||||
this.$element.removeClass( 'oo-ui-selectFileWidget-canDrop' );
|
||||
|
||||
if ( this.isDisabled() || !this.isSupported ) {
|
||||
if ( this.isDisabled() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -5974,14 +5942,10 @@ OO.ui.SelectFileWidget.prototype.onDrop = function ( e ) {
|
|||
* @inheritdoc
|
||||
*/
|
||||
OO.ui.SelectFileWidget.prototype.setDisabled = function ( disabled ) {
|
||||
disabled = disabled || !this.constructor.static.isSupported();
|
||||
|
||||
// Parent method
|
||||
OO.ui.SelectFileWidget.parent.prototype.setDisabled.call( this, disabled );
|
||||
if ( this.selectButton ) {
|
||||
this.selectButton.setDisabled( disabled );
|
||||
}
|
||||
if ( this.clearButton ) {
|
||||
this.clearButton.setDisabled( disabled );
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:20Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,13 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
.oo-ui-actionWidget.oo-ui-pendingElement-pending {
|
||||
background-image: /* @embed */ url(themes/wikimediaui/images/textures/pending.gif);
|
||||
}
|
||||
|
||||
.oo-ui-window {
|
||||
background-color: transparent;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:27Z
|
||||
* Date: 2019-03-21T15:54:46Z
|
||||
*/
|
||||
|
||||
.oo-ui-window {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*!
|
||||
* OOUI v0.31.0
|
||||
* OOUI v0.31.1
|
||||
* https://www.mediawiki.org/wiki/OOUI
|
||||
*
|
||||
* Copyright 2011–2019 OOUI Team and other contributors.
|
||||
* Released under the MIT license
|
||||
* http://oojs.mit-license.org
|
||||
*
|
||||
* Date: 2019-03-14T00:52:20Z
|
||||
* Date: 2019-03-21T15:54:37Z
|
||||
*/
|
||||
( function ( OO ) {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,13 @@
|
|||
"prefix": "oo-ui-texture",
|
||||
"intro": "@import '../../../../src/styles/common';",
|
||||
"images": {
|
||||
"pending": { "file": "../wikimediaui/images/textures/pending.gif" },
|
||||
"transparency": { "file": "../wikimediaui/images/textures/transparency.svg" }
|
||||
"pending": {
|
||||
"file": "../wikimediaui/images/textures/pending.gif",
|
||||
"deprecated": "Deprecated since v0.31.1."
|
||||
},
|
||||
"transparency": {
|
||||
"file": "../wikimediaui/images/textures/transparency.svg",
|
||||
"deprecated": "Deprecated since v0.31.1."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 120 B After Width: | Height: | Size: 121 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path fill="#fff" d="M8 2H2C.9 2 0 2.9 0 4v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-8L8 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><g fill="#fff"><path d="M8 2H2a2 2 0 0 0-2 2v2h12z"/><rect width="20" height="14" y="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 129 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path fill="#36c" d="M8 2H2C.9 2 0 2.9 0 4v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-8L8 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><g fill="#36c"><path d="M8 2H2a2 2 0 0 0-2 2v2h12z"/><rect width="20" height="14" y="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 119 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path d="M8 2H2C.9 2 0 2.9 0 4v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-8L8 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path d="M8 2H2a2 2 0 0 0-2 2v2h12z"/><rect width="20" height="14" y="4" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 241 B |
|
Before Width: | Height: | Size: 115 B After Width: | Height: | Size: 119 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path fill="#fff" d="M10 4H2C.9 4 0 4.9 0 6v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2h-6l-2 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><g fill="#fff"><path d="M8 6h12V4a2 2 0 0 0-2-2h-6z"/><rect width="20" height="14" y="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 261 B |
|
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 126 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path fill="#36c" d="M10 4H2C.9 4 0 4.9 0 6v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2h-6l-2 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><g fill="#36c"><path d="M8 6h12V4a2 2 0 0 0-2-2h-6z"/><rect width="20" height="14" y="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 261 B |
|
Before Width: | Height: | Size: 112 B After Width: | Height: | Size: 115 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path d="M10 4H2C.9 4 0 4.9 0 6v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2h-6l-2 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>folder placeholder</title><path d="M8 6h12V4a2 2 0 0 0-2-2h-6z"/><rect width="20" height="14" y="4" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 242 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><g fill="#fff"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5L8.58 14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><g fill="#fff"><path d="M1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 913 B After Width: | Height: | Size: 299 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><g fill="#36c"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5L8.58 14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><g fill="#36c"><path d="M1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 913 B After Width: | Height: | Size: 299 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5L8.58 14z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout basic</title><path d="M1 3v14h18V3zm17 13H2V4h16z"/><path d="M8.58 14h.81l3.11-4 3 4H17l-4.5-6L9 12.51 6.5 9.5 3 14h1.56l1.94-2.5z"/></svg>
|
||||
|
Before Width: | Height: | Size: 894 B After Width: | Height: | Size: 280 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><g fill="#fff"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v8.31A1.8 1.8 0 0 0 4.75 16h10.5A1.8 1.8 0 0 0 17 14.15v-8.3A1.8 1.8 0 0 0 15.25 4zM5 13l2.5-3 2 2L12 9l3 4z"/><path d="M17 6H3V4h14zm0 10H3v-2h14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><g fill="#fff"><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v12h14zM5 13l2.5-3 2 2L12 9l3 4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 381 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><g fill="#36c"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v8.31A1.8 1.8 0 0 0 4.75 16h10.5A1.8 1.8 0 0 0 17 14.15v-8.3A1.8 1.8 0 0 0 15.25 4zM5 13l2.5-3 2 2L12 9l3 4z"/><path d="M17 6H3V4h14zm0 10H3v-2h14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><g fill="#36c"><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v12h14zM5 13l2.5-3 2 2L12 9l3 4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 381 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v8.31A1.8 1.8 0 0 0 4.75 16h10.5A1.8 1.8 0 0 0 17 14.15v-8.3A1.8 1.8 0 0 0 15.25 4zM5 13l2.5-3 2 2L12 9l3 4z"/><path d="M17 6H3V4h14zm0 10H3v-2h14z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frame</title><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v12h14zM5 13l2.5-3 2 2L12 9l3 4z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 362 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><g fill="#fff"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 3H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><g fill="#fff"><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 281 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><g fill="#36c"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 3H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><g fill="#36c"><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 281 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 3H3a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout frameless</title><path d="M19 3H1v14h18zM3 14l3.5-4.5 2.5 3L12.5 8l4.5 6z"/><path d="M19 5H1V3h18zm0 12H1v-2h18z"/></svg>
|
||||
|
Before Width: | Height: | Size: 926 B After Width: | Height: | Size: 262 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><g fill="#fff"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v6.31A1.8 1.8 0 0 0 4.75 14h10.5A1.8 1.8 0 0 0 17 12.15v-6.3A1.8 1.8 0 0 0 15.25 4zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/><path d="M17 6H3V4h14zm0 8H3v-2h14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><g fill="#fff"><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v10h14zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 398 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><g fill="#36c"><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v6.31A1.8 1.8 0 0 0 4.75 14h10.5A1.8 1.8 0 0 0 17 12.15v-6.3A1.8 1.8 0 0 0 15.25 4zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/><path d="M17 6H3V4h14zm0 8H3v-2h14z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><g fill="#36c"><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v10h14zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 398 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><path d="M20-.5h-.5V0h.5v-.5zm-2.5 0H17V0h.5v-.5zM15-.5h-.5V0h.5v-.5zm-2.5 0H12V0h.5v-.5zM10-.5h-.5V0h.5v-.5zm-2.5 0H7V0h.5v-.5zM5-.5h-.5V0H5v-.5zm-2.5 0H2V0h.5v-.5zM0 0h-.5v.5H0V0zm0 2.5h-.5V3H0v-.5zM0 5h-.5v.5H0V5zm0 2.5h-.5V8H0v-.5zM0 10h-.5v.5H0V10zm0 2.5h-.5v.5H0v-.5zM0 15h-.5v.5H0V15zm0 2.5h-.5v.5H0v-.5zM.5 20H0v.5h.5V20zM3 20h-.5v.5H3V20zm2.5 0H5v.5h.5V20zM8 20h-.5v.5H8V20zm2.5 0H10v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5 0H15v.5h.5V20zm2.5 0h-.5v.5h.5V20zm2.5-.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V17zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V12zm0-2.5H20v.5h.5v-.5zm0-2.5H20v.5h.5V7zm0-2.5H20V5h.5v-.5zm0-2.5H20v.5h.5V2zM17 2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M15.25 4H4.75A1.8 1.8 0 0 0 3 5.85v6.31A1.8 1.8 0 0 0 4.75 14h10.5A1.8 1.8 0 0 0 17 12.15v-6.3A1.8 1.8 0 0 0 15.25 4zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/><path d="M17 6H3V4h14zm0 8H3v-2h14z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>image layout thumbnail</title><path d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path d="M17 4H3v10h14zM5 12l2.5-3 2 2L12 8l3 4zm-1 3h12v1H4z"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 379 B |
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 262 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><g fill="#fff"><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12 3.29L11.5 0h-3L8 3.29a7 7 0 0 1 4 0zM8 16.71L8.5 20h3l.5-3.29a7 7 0 0 1-4 0zm8.16-10.04l2-2.68L16 1.87l-2.68 2a7 7 0 0 1 2.83 2.83zM3.84 13.33L1.87 16 4 18.13l2.68-2a7 7 0 0 1-2.83-2.83zM16.71 12l3.29-.5v-3L16.71 8a7 7 0 0 1 0 4zM3.29 8L0 8.5v3l3.29.5a7 7 0 0 1 0-4zm10.04 8.16l2.68 2L18.13 16l-2-2.68a7 7 0 0 1-2.83 2.83zM6.67 3.84L4 1.87 1.87 4l2 2.68a7 7 0 0 1 2.8-2.84z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><g fill="#fff"><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12.5 6.5l-1-6.5h-3l-1 6.5m0 7l1 6.5h3l1-6.5m1-1l6.5-1v-3l-6.5-1m-7 0L0 8.5v3l6.5 1m7.743-3.207l3.889-5.303-2.122-2.122-5.303 3.89m-4.95 4.95L1.868 16.01l2.122 2.122 5.303-3.89m0-8.485L3.99 1.868 1.868 3.99l3.89 5.303m4.95 4.95l5.302 3.889 2.122-2.122-3.89-5.303"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 556 B |
|
Before Width: | Height: | Size: 404 B After Width: | Height: | Size: 338 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><g fill="#36c"><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12 3.29L11.5 0h-3L8 3.29a7 7 0 0 1 4 0zM8 16.71L8.5 20h3l.5-3.29a7 7 0 0 1-4 0zm8.16-10.04l2-2.68L16 1.87l-2.68 2a7 7 0 0 1 2.83 2.83zM3.84 13.33L1.87 16 4 18.13l2.68-2a7 7 0 0 1-2.83-2.83zM16.71 12l3.29-.5v-3L16.71 8a7 7 0 0 1 0 4zM3.29 8L0 8.5v3l3.29.5a7 7 0 0 1 0-4zm10.04 8.16l2.68 2L18.13 16l-2-2.68a7 7 0 0 1-2.83 2.83zM6.67 3.84L4 1.87 1.87 4l2 2.68a7 7 0 0 1 2.8-2.84z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><g fill="#36c"><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12.5 6.5l-1-6.5h-3l-1 6.5m0 7l1 6.5h3l1-6.5m1-1l6.5-1v-3l-6.5-1m-7 0L0 8.5v3l6.5 1m7.743-3.207l3.889-5.303-2.122-2.122-5.303 3.89m-4.95 4.95L1.868 16.01l2.122 2.122 5.303-3.89m0-8.485L3.99 1.868 1.868 3.99l3.89 5.303m4.95 4.95l5.302 3.889 2.122-2.122-3.89-5.303"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 671 B After Width: | Height: | Size: 556 B |
|
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 258 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12 3.29L11.5 0h-3L8 3.29a7 7 0 0 1 4 0zM8 16.71L8.5 20h3l.5-3.29a7 7 0 0 1-4 0zm8.16-10.04l2-2.68L16 1.87l-2.68 2a7 7 0 0 1 2.83 2.83zM3.84 13.33L1.87 16 4 18.13l2.68-2a7 7 0 0 1-2.83-2.83zM16.71 12l3.29-.5v-3L16.71 8a7 7 0 0 1 0 4zM3.29 8L0 8.5v3l3.29.5a7 7 0 0 1 0-4zm10.04 8.16l2.68 2L18.13 16l-2-2.68a7 7 0 0 1-2.83 2.83zM6.67 3.84L4 1.87 1.87 4l2 2.68a7 7 0 0 1 2.8-2.84z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>settings</title><path d="M10 2.5a7.5 7.5 0 1 0 7.5 7.5A7.5 7.5 0 0 0 10 2.5zm0 11a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z"/><path d="M12.5 6.5l-1-6.5h-3l-1 6.5m0 7l1 6.5h3l1-6.5m1-1l6.5-1v-3l-6.5-1m-7 0L0 8.5v3l6.5 1m7.743-3.207l3.889-5.303-2.122-2.122-5.303 3.89m-4.95 4.95L1.868 16.01l2.122 2.122 5.303-3.89m0-8.485L3.99 1.868 1.868 3.99l3.89 5.303m4.95 4.95l5.302 3.889 2.122-2.122-3.89-5.303"/></svg>
|
||||
|
Before Width: | Height: | Size: 652 B After Width: | Height: | Size: 537 B |
|
Before Width: | Height: | Size: 119 B After Width: | Height: | Size: 118 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path fill="#fff" d="M18 0H2a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><g fill="#fff"><path d="M6 14H0v6z"/><rect width="20" height="16" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 129 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path fill="#36c" d="M18 0H2a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><g fill="#36c"><path d="M6 14H0v6z"/><rect width="20" height="16" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 116 B After Width: | Height: | Size: 117 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path d="M18 0H2a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path d="M6 14H0v6z"/><rect width="20" height="16" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 118 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path fill="#fff" d="M0 2v12c0 1.1.9 2 2 2h14l4 4V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><g fill="#fff"><path d="M14 14h6v6z"/><rect width="20" height="16" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 130 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path fill="#36c" d="M0 2v12c0 1.1.9 2 2 2h14l4 4V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><g fill="#36c"><path d="M14 14h6v6z"/><rect width="20" height="16" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 118 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path d="M0 2v12c0 1.1.9 2 2 2h14l4 4V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubble</title><path d="M14 14h6v6z"/><rect width="20" height="16" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 215 B |
|
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 157 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#fff"><path d="M18 4h-1v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2z"/><path d="M14 0H2a2 2 0 0 0-2 2v14l4-4h10a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#fff"><path d="M17 4v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2zM6 10H0v6z"/><rect width="16" height="12" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 297 B |
|
Before Width: | Height: | Size: 173 B After Width: | Height: | Size: 179 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#36c"><path d="M18 4h-1v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2z"/><path d="M14 0H2a2 2 0 0 0-2 2v14l4-4h10a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#36c"><path d="M17 4v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2zM6 10H0v6z"/><rect width="16" height="12" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 297 B |
|
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 156 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><path d="M18 4h-1v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2z"/><path d="M14 0H2a2 2 0 0 0-2 2v14l4-4h10a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><path d="M17 4v7a2 2 0 0 1-2 2H4v1a2 2 0 0 0 2 2h10l4 4V6a2 2 0 0 0-2-2zM6 10H0v6z"/><rect width="16" height="12" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 308 B After Width: | Height: | Size: 278 B |
|
Before Width: | Height: | Size: 154 B After Width: | Height: | Size: 159 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#fff"><path d="M0 6v14l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6z"/><path d="M4 2v8c0 1.1.9 2 2 2h10l4 4V2c0-1.1-.9-2-2-2H6C4.9 0 4 .9 4 2z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#fff"><path d="M0 20l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6zm14-10h6v6z"/><rect width="16" height="12" x="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 309 B |
|
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 184 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#36c"><path d="M0 6v14l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6z"/><path d="M4 2v8c0 1.1.9 2 2 2h10l4 4V2c0-1.1-.9-2-2-2H6C4.9 0 4 .9 4 2z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><g fill="#36c"><path d="M0 20l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6zm14-10h6v6z"/><rect width="16" height="12" x="4" rx="2"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 309 B |
|
Before Width: | Height: | Size: 153 B After Width: | Height: | Size: 156 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><path d="M0 6v14l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6z"/><path d="M4 2v8c0 1.1.9 2 2 2h10l4 4V2c0-1.1-.9-2-2-2H6C4.9 0 4 .9 4 2z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>speech bubbles</title><path d="M0 20l4-4h10c1.1 0 2-.9 2-2v-1H5c-1.1 0-2-.9-2-2V4H2C.9 4 0 4.9 0 6zm14-10h6v6z"/><rect width="16" height="12" x="4" rx="2"/></svg>
|
||||
|
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 290 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><g fill="#fff"><path d="M11 11v3l5-4-5-4v3H6v2h5z"/><path d="M18 2h-8v2h8v12h-8v2h10V2h-2zM2 18h5v-2H5V4h2V2H0v16h2z"/><path d="M8 12H5v6h5v-6H8zM5 2v6h5V2H5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><g fill="#fff"><path d="M16 10l-5-4v3H6v2h5v3z"/><path d="M0 2h20v16H0zm5 6v4h5v4h8V4h-8v4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 263 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><g fill="#36c"><path d="M11 11v3l5-4-5-4v3H6v2h5z"/><path d="M18 2h-8v2h8v12h-8v2h10V2h-2zM2 18h5v-2H5V4h2V2H0v16h2z"/><path d="M8 12H5v6h5v-6H8zM5 2v6h5V2H5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><g fill="#36c"><path d="M16 10l-5-4v3H6v2h5v3z"/><path d="M0 2h20v16H0zm5 6v4h5v4h8V4h-8v4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 263 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><path d="M11 11v3l5-4-5-4v3H6v2h5z"/><path d="M18 2h-8v2h8v12h-8v2h10V2h-2zM2 18h5v-2H5V4h2V2H0v16h2z"/><path d="M8 12H5v6h5v-6H8zM5 2v6h5V2H5z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column after</title><path d="M16 10l-5-4v3H6v2h5v3z"/><path d="M0 2h20v16H0zm5 6v4h5v4h8V4h-8v4z"/></svg>
|
||||
|
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 244 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><g fill="#fff"><path d="M9 11v3l-5-4 5-4v3h5v2H9z"/><path d="M2 2h8v2H2v12h8v2H0V2h2zm16 16h-5v-2h2V4h-2V2h7v16h-2z"/><path d="M12 12h3v6h-5v-6h2zm3-10v6h-5V2h5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><g fill="#fff"><path d="M4 10l5-4v3h5v2H9v3z"/><path d="M0 2v16h20V2zm2 2h8v4h5v4h-5v4H2z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 262 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><g fill="#36c"><path d="M9 11v3l-5-4 5-4v3h5v2H9z"/><path d="M2 2h8v2H2v12h8v2H0V2h2zm16 16h-5v-2h2V4h-2V2h7v16h-2z"/><path d="M12 12h3v6h-5v-6h2zm3-10v6h-5V2h5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><g fill="#36c"><path d="M4 10l5-4v3h5v2H9v3z"/><path d="M0 2v16h20V2zm2 2h8v4h5v4h-5v4H2z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 262 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><path d="M9 11v3l-5-4 5-4v3h5v2H9z"/><path d="M2 2h8v2H2v12h8v2H0V2h2zm16 16h-5v-2h2V4h-2V2h7v16h-2z"/><path d="M12 12h3v6h-5v-6h2zm3-10v6h-5V2h5z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move column before</title><path d="M4 10l5-4v3h5v2H9v3z"/><path d="M0 2v16h20V2zm2 2h8v4h5v4h-5v4H2z"/></svg>
|
||||
|
Before Width: | Height: | Size: 315 B After Width: | Height: | Size: 243 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><g fill="#fff"><path d="M11 11h3l-4 5-4-5h3V6h2v5z"/><path d="M2 18v-8h2v8h12v-8h2v10H2v-2zM18 2v5h-2V5H4v2H2V0h16v2z"/><path d="M12 8V5h6v5h-6V8zM2 5h6v5H2V5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><g fill="#fff"><path d="M10 16l-4-5h3V6h2v5h3z"/><path d="M2 0v20h16V0zm2 10h4V5h4v5h4v8H4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 260 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><g fill="#36c"><path d="M11 11h3l-4 5-4-5h3V6h2v5z"/><path d="M2 18v-8h2v8h12v-8h2v10H2v-2zM18 2v5h-2V5H4v2H2V0h16v2z"/><path d="M12 8V5h6v5h-6V8zM2 5h6v5H2V5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><g fill="#36c"><path d="M10 16l-4-5h3V6h2v5h3z"/><path d="M2 0v20h16V0zm2 10h4V5h4v5h4v8H4z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 260 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><path d="M11 11h3l-4 5-4-5h3V6h2v5z"/><path d="M2 18v-8h2v8h12v-8h2v10H2v-2zM18 2v5h-2V5H4v2H2V0h16v2z"/><path d="M12 8V5h6v5h-6V8zM2 5h6v5H2V5z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row after</title><path d="M10 16l-4-5h3V6h2v5h3z"/><path d="M2 0v20h16V0zm2 10h4V5h4v5h4v8H4z"/></svg>
|
||||
|
Before Width: | Height: | Size: 309 B After Width: | Height: | Size: 241 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><g fill="#fff"><path d="M9 9H6l4-5 4 5h-3v5H9V9z"/><path d="M18 2v8h-2V2H4v8H2V0h16v2zM2 18v-5h2v2h12v-2h2v7H2v-2z"/><path d="M8 12v3H2v-5h6v2zm10 3h-6v-5h6v5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><g fill="#fff"><path d="M9 9H6l4-5 4 5h-3v5H9z"/><path d="M2 0h16v20H2zm2 2v8h4v5h4v-5h4V2z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 261 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><g fill="#36c"><path d="M9 9H6l4-5 4 5h-3v5H9V9z"/><path d="M18 2v8h-2V2H4v8H2V0h16v2zM2 18v-5h2v2h12v-2h2v7H2v-2z"/><path d="M8 12v3H2v-5h6v2zm10 3h-6v-5h6v5z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><g fill="#36c"><path d="M9 9H6l4-5 4 5h-3v5H9z"/><path d="M2 0h16v20H2zm2 2v8h4v5h4v-5h4V2z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 261 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><path d="M9 9H6l4-5 4 5h-3v5H9V9z"/><path d="M18 2v8h-2V2H4v8H2V0h16v2zM2 18v-5h2v2h12v-2h2v7H2v-2z"/><path d="M8 12v3H2v-5h6v2zm10 3h-6v-5h6v5z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><title>table move row before</title><path d="M9 9H6l4-5 4 5h-3v5H9z"/><path d="M2 0h16v20H2zm2 2v8h4v5h4v-5h4V2z"/></svg>
|
||||
|
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 242 B |
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 127 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><g fill="#fff"><path d="M22.78 18.46L21 16V4H3v12l-1.757 2.463a.974.974 0 0 0-.157 1.043c.157.347.533.494.914.494h20c.382 0 .783-.148.94-.496a.976.976 0 0 0-.16-1.044zM4 18l1-2V6h14v10l1 2H4z"/><path d="M7 16h10V8H7v8zm2-2v-3h6v3H9z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><g fill="#fff"><path d="M21 16V4H3v12l-1 1.4V20h20v-2.6zM5 16V6h14v10l1 2H4z"/><path d="M7 16h10V8H7zm2-5h6v3H9z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 264 B |
|
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 142 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><g fill="#36c"><path d="M22.78 18.46L21 16V4H3v12l-1.757 2.463a.974.974 0 0 0-.157 1.043c.157.347.533.494.914.494h20c.382 0 .783-.148.94-.496a.976.976 0 0 0-.16-1.044zM4 18l1-2V6h14v10l1 2H4z"/><path d="M7 16h10V8H7v8zm2-2v-3h6v3H9z"/></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><g fill="#36c"><path d="M21 16V4H3v12l-1 1.4V20h20v-2.6zM5 16V6h14v10l1 2H4z"/><path d="M7 16h10V8H7zm2-5h6v3H9z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 384 B After Width: | Height: | Size: 264 B |
|
Before Width: | Height: | Size: 124 B After Width: | Height: | Size: 124 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><path d="M22.78 18.46L21 16V4H3v12l-1.757 2.463a.974.974 0 0 0-.157 1.043c.157.347.533.494.914.494h20c.382 0 .783-.148.94-.496a.976.976 0 0 0-.16-1.044zM4 18l1-2V6h14v10l1 2H4z"/><path d="M7 16h10V8H7v8zm2-2v-3h6v3H9z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="2 2 20 20"><title>web</title><path d="M21 16V4H3v12l-1 1.4V20h20v-2.6zM5 16V6h14v10l1 2H4z"/><path d="M7 16h10V8H7zm2-5h6v3H9z"/></svg>
|
||||
|
Before Width: | Height: | Size: 365 B After Width: | Height: | Size: 245 B |
|
|
@ -1 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="#c8ccd1" d="M0 0h16v16H0z"/><path fill="#fff" d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="#c8ccd1" d="M0 0h16v16H0z"/><path fill="#fff" d="M8 0h8v8H0v8h8z"/></svg>
|
||||
|
Before Width: | Height: | Size: 213 B After Width: | Height: | Size: 206 B |
|
|
@ -2,7 +2,13 @@
|
|||
"prefix": "oo-ui-texture",
|
||||
"intro": "@import '../../../../src/styles/common';",
|
||||
"images": {
|
||||
"pending": { "file": "images/textures/pending.gif" },
|
||||
"transparency": { "file": "images/textures/transparency.svg" }
|
||||
"pending": {
|
||||
"file": "images/textures/pending.gif",
|
||||
"deprecated": "Deprecated since v0.31.1."
|
||||
},
|
||||
"transparency": {
|
||||
"file": "images/textures/transparency.svg",
|
||||
"deprecated": "Deprecated since v0.31.1."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||