lexgui 0.5.11 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/components/codeeditor.js +89 -40
- package/build/components/nodegraph.js +32 -23
- package/build/components/timeline.js +5 -5
- package/build/components/videoeditor.js +1 -1
- package/build/lexgui.css +185 -395
- package/build/lexgui.js +966 -1030
- package/build/lexgui.min.css +1 -1
- package/build/lexgui.min.js +1 -1
- package/build/lexgui.module.js +966 -1030
- package/build/lexgui.module.min.js +1 -1
- package/changelog.md +41 -1
- package/demo.js +103 -88
- package/examples/all_widgets.html +37 -38
- package/examples/area_tabs.html +5 -5
- package/examples/asset_view.html +1 -1
- package/examples/code_editor.html +1 -1
- package/examples/dialogs.html +4 -4
- package/examples/immediate_ui.html +1 -1
- package/examples/index.html +8 -8
- package/examples/node_graph.html +1 -1
- package/examples/side_bar.html +15 -15
- package/examples/timeline.html +9 -9
- package/examples/video_editor.html +1 -1
- package/examples/video_editor2.html +5 -6
- package/package.json +1 -1
package/build/lexgui.module.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
var LX = {
|
|
9
|
-
version: "0.
|
|
9
|
+
version: "0.6.1",
|
|
10
10
|
ready: false,
|
|
11
11
|
components: [], // Specific pre-build components
|
|
12
12
|
signals: {}, // Events and triggers
|
|
@@ -85,7 +85,21 @@ LX.doAsync = doAsync;
|
|
|
85
85
|
*/
|
|
86
86
|
function getSupportedDOMName( text )
|
|
87
87
|
{
|
|
88
|
-
|
|
88
|
+
console.assert( typeof text == "string", "getSupportedDOMName: Text is not a string!" );
|
|
89
|
+
|
|
90
|
+
let name = text.trim();
|
|
91
|
+
|
|
92
|
+
// Replace specific known symbols
|
|
93
|
+
name = name.replace( /@/g, '_at_' ).replace( /\+/g, '_plus_' ).replace( /\./g, '_dot_' );
|
|
94
|
+
name = name.replace( /[^a-zA-Z0-9_-]/g, '_' );
|
|
95
|
+
|
|
96
|
+
// prefix with an underscore if needed
|
|
97
|
+
if( /^[0-9]/.test( name ) )
|
|
98
|
+
{
|
|
99
|
+
name = '_' + name;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return name;
|
|
89
103
|
}
|
|
90
104
|
|
|
91
105
|
LX.getSupportedDOMName = getSupportedDOMName;
|
|
@@ -497,6 +511,7 @@ LX.buildTextPattern = buildTextPattern;
|
|
|
497
511
|
* dragMargin (Number): Margin of drag container
|
|
498
512
|
* onMove (Function): Called each move event
|
|
499
513
|
* onDragStart (Function): Called when drag event starts
|
|
514
|
+
* updateLayers (Function): Update Zindex of elements to update layers
|
|
500
515
|
*/
|
|
501
516
|
function makeDraggable( domEl, options = { } )
|
|
502
517
|
{
|
|
@@ -583,14 +598,17 @@ function makeDraggable( domEl, options = { } )
|
|
|
583
598
|
|
|
584
599
|
currentTarget.eventCatched = true;
|
|
585
600
|
|
|
586
|
-
|
|
587
|
-
if( LX.activeDraggable )
|
|
601
|
+
if( options.updateLayers ?? true )
|
|
588
602
|
{
|
|
589
|
-
|
|
590
|
-
|
|
603
|
+
// Force active dialog to show on top
|
|
604
|
+
if( LX.activeDraggable )
|
|
605
|
+
{
|
|
606
|
+
LX.activeDraggable.style.zIndex = LX.DRAGGABLE_Z_INDEX;
|
|
607
|
+
}
|
|
591
608
|
|
|
592
|
-
|
|
593
|
-
|
|
609
|
+
LX.activeDraggable = domEl;
|
|
610
|
+
LX.activeDraggable.style.zIndex = LX.DRAGGABLE_Z_INDEX + 1;
|
|
611
|
+
}
|
|
594
612
|
|
|
595
613
|
if( onDragStart )
|
|
596
614
|
{
|
|
@@ -622,7 +640,7 @@ function makeCollapsible( domEl, content, parent, options = { } )
|
|
|
622
640
|
domEl.classList.add( "collapsible" );
|
|
623
641
|
|
|
624
642
|
const collapsed = ( options.collapsed ?? true );
|
|
625
|
-
const actionIcon = LX.makeIcon( "
|
|
643
|
+
const actionIcon = LX.makeIcon( "Right" );
|
|
626
644
|
actionIcon.classList.add( "collapser" );
|
|
627
645
|
actionIcon.dataset[ "collapsed" ] = collapsed;
|
|
628
646
|
actionIcon.style.marginLeft = "auto";
|
|
@@ -799,59 +817,98 @@ LX.makeKbd = makeKbd;
|
|
|
799
817
|
* title
|
|
800
818
|
* extraClass
|
|
801
819
|
* svgClass
|
|
820
|
+
* variant
|
|
821
|
+
* ...Any Lucide icon options
|
|
802
822
|
*/
|
|
803
823
|
function makeIcon( iconName, options = { } )
|
|
804
824
|
{
|
|
805
|
-
let
|
|
806
|
-
console.assert( data, `No icon named _${ iconName }_` );
|
|
825
|
+
let svg = null;
|
|
807
826
|
|
|
808
|
-
const
|
|
809
|
-
|
|
810
|
-
|
|
827
|
+
const _createIconFromSVG = ( svg ) => {
|
|
828
|
+
if( options.svgClass && options.svgClass.length )
|
|
829
|
+
{
|
|
830
|
+
options.svgClass.split( " " ).forEach( c => svg.classList.add( c ) );
|
|
831
|
+
}
|
|
832
|
+
const icon = document.createElement( "a" );
|
|
833
|
+
icon.title = options.title ?? "";
|
|
834
|
+
icon.className = "lexicon " + ( options.iconClass ?? "" );
|
|
835
|
+
icon.appendChild( svg );
|
|
836
|
+
svg.dataset[ "name" ] = iconName;
|
|
837
|
+
return icon;
|
|
838
|
+
}
|
|
811
839
|
|
|
812
|
-
|
|
813
|
-
if( data.constructor == String )
|
|
840
|
+
if( iconName.includes( "@" ) )
|
|
814
841
|
{
|
|
815
|
-
|
|
842
|
+
const parts = iconName.split( "@" );
|
|
843
|
+
iconName = parts[ 0 ];
|
|
844
|
+
options.variant = parts[ 1 ];
|
|
816
845
|
}
|
|
817
846
|
|
|
818
|
-
|
|
819
|
-
|
|
847
|
+
let data = LX.ICONS[ iconName ];
|
|
848
|
+
const lucideData = lucide[ iconName ] ?? lucide[ LX.LucideIconAlias[ iconName ] ];
|
|
820
849
|
|
|
821
|
-
if(
|
|
850
|
+
if( data )
|
|
822
851
|
{
|
|
823
|
-
|
|
824
|
-
|
|
852
|
+
// Resolve alias
|
|
853
|
+
if( data.constructor == String )
|
|
854
|
+
{
|
|
855
|
+
data = LX.ICONS[ data ];
|
|
856
|
+
}
|
|
825
857
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
const
|
|
829
|
-
svg.setAttribute( attr[ 0 ], attr[ 1 ] );
|
|
830
|
-
}
|
|
858
|
+
// Resolve variant
|
|
859
|
+
const requestedVariant = options.variant ?? "regular";
|
|
860
|
+
const variant = data[ 3 ];
|
|
831
861
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
862
|
+
// Create internal icon if variant is the same as requested, there's no lucide/fallback data or if variant is "regular" (default)
|
|
863
|
+
if( ( requestedVariant == variant ) || !lucideData || variant == "regular" )
|
|
864
|
+
{
|
|
865
|
+
svg = document.createElementNS( "http://www.w3.org/2000/svg", "svg" );
|
|
866
|
+
svg.setAttribute( "viewBox", `0 0 ${ data[ 0 ] } ${ data[ 1 ] }` );
|
|
836
867
|
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
868
|
+
if( data[ 5 ] )
|
|
869
|
+
{
|
|
870
|
+
const classes = data[ 5 ].svgClass;
|
|
871
|
+
classes?.split( ' ' ).forEach( c => {
|
|
872
|
+
svg.classList.add( c )
|
|
873
|
+
} );
|
|
874
|
+
|
|
875
|
+
const attrs = data[ 5 ].svgAttributes;
|
|
876
|
+
attrs?.split( ' ' ).forEach( attr => {
|
|
877
|
+
const t = attr.split( '=' );
|
|
878
|
+
svg.setAttribute( t[ 0 ], t[ 1 ] );
|
|
879
|
+
} );
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
const path = document.createElement( "path" );
|
|
883
|
+
path.setAttribute( "fill", "currentColor" );
|
|
884
|
+
path.setAttribute( "d", data[ 4 ] );
|
|
885
|
+
svg.appendChild( path );
|
|
845
886
|
|
|
846
|
-
|
|
847
|
-
|
|
887
|
+
if( data[ 5 ] )
|
|
888
|
+
{
|
|
889
|
+
const classes = data[ 5 ].pathClass;
|
|
890
|
+
classes?.split( ' ' ).forEach( c => {
|
|
891
|
+
path.classList.add( c )
|
|
892
|
+
} );
|
|
848
893
|
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
894
|
+
const attrs = data[ 5 ].pathAttributes;
|
|
895
|
+
attrs?.split( ' ' ).forEach( attr => {
|
|
896
|
+
const t = attr.split( '=' );
|
|
897
|
+
path.setAttribute( t[ 0 ], t[ 1 ] );
|
|
898
|
+
} );
|
|
899
|
+
}
|
|
853
900
|
|
|
854
|
-
|
|
901
|
+
const faLicense = `<!-- This icon might belong to a collection from Iconify - https://iconify.design/ - or !Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. -->`;
|
|
902
|
+
svg.innerHTML += faLicense;
|
|
903
|
+
return _createIconFromSVG( svg );
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
// Fallback to Lucide icon
|
|
908
|
+
console.assert( lucideData, `No existing icon named _${ iconName }_` );
|
|
909
|
+
svg = lucide.createElement( lucideData, options );
|
|
910
|
+
|
|
911
|
+
return _createIconFromSVG( svg );
|
|
855
912
|
}
|
|
856
913
|
|
|
857
914
|
LX.makeIcon = makeIcon;
|
|
@@ -861,10 +918,10 @@ LX.makeIcon = makeIcon;
|
|
|
861
918
|
* @description Register an SVG icon to LX.ICONS
|
|
862
919
|
* @param {String} iconName
|
|
863
920
|
* @param {String} svgString
|
|
864
|
-
* @param {String}
|
|
921
|
+
* @param {String} variant
|
|
865
922
|
* @param {Array} aliases
|
|
866
923
|
*/
|
|
867
|
-
function registerIcon( iconName, svgString,
|
|
924
|
+
function registerIcon( iconName, svgString, variant = "none", aliases = [] )
|
|
868
925
|
{
|
|
869
926
|
const svg = new DOMParser().parseFromString( svgString, 'image/svg+xml' ).documentElement;
|
|
870
927
|
const path = svg.querySelector( "path" );
|
|
@@ -906,15 +963,17 @@ function registerIcon( iconName, svgString, category = "none", aliases = [] )
|
|
|
906
963
|
parseInt( viewBox[ 2 ] ),
|
|
907
964
|
parseInt( viewBox[ 3 ] ),
|
|
908
965
|
aliases,
|
|
909
|
-
|
|
966
|
+
variant,
|
|
910
967
|
pathData,
|
|
911
|
-
|
|
912
|
-
|
|
968
|
+
{
|
|
969
|
+
svgAttributes: svgAttributes.length ? svgAttributes.join( ' ' ) : null,
|
|
970
|
+
pathAttributes: pathAttributes.length ? pathAttributes.join( ' ' ) : null
|
|
971
|
+
}
|
|
913
972
|
];
|
|
914
973
|
|
|
915
974
|
if( LX.ICONS[ iconName ] )
|
|
916
975
|
{
|
|
917
|
-
console.warn( `${ iconName } will be replaced in LX.ICONS` );
|
|
976
|
+
console.warn( `${ iconName } will be added/replaced in LX.ICONS` );
|
|
918
977
|
}
|
|
919
978
|
|
|
920
979
|
LX.ICONS[ iconName ] = iconData;
|
|
@@ -1058,17 +1117,14 @@ function _createCommandbar( root )
|
|
|
1058
1117
|
const el = allItems[ hoverElId ];
|
|
1059
1118
|
if( el )
|
|
1060
1119
|
{
|
|
1061
|
-
|
|
1062
|
-
this.close();
|
|
1063
|
-
if( isCheckbox )
|
|
1120
|
+
if( el.item.checked != undefined )
|
|
1064
1121
|
{
|
|
1065
1122
|
el.item.checked = !el.item.checked;
|
|
1066
|
-
el.callback.call( window, el.item.checked, el.entry_name );
|
|
1067
|
-
}
|
|
1068
|
-
else
|
|
1069
|
-
{
|
|
1070
|
-
el.callback.call( window, el.entry_name );
|
|
1071
1123
|
}
|
|
1124
|
+
|
|
1125
|
+
this.close();
|
|
1126
|
+
|
|
1127
|
+
el.callback.call( window, el.item.name, el.item.checked );
|
|
1072
1128
|
}
|
|
1073
1129
|
}
|
|
1074
1130
|
else if ( e.key == 'ArrowDown' && hoverElId < (allItems.length - 1) )
|
|
@@ -1130,36 +1186,31 @@ function _createCommandbar( root )
|
|
|
1130
1186
|
}
|
|
1131
1187
|
});
|
|
1132
1188
|
|
|
1133
|
-
const header =
|
|
1134
|
-
header.className = "gs-header";
|
|
1189
|
+
const header = LX.makeContainer( ["100%", "auto"], "flex flex-row" );
|
|
1135
1190
|
|
|
1136
|
-
const
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
const input = document.createElement("input");
|
|
1141
|
-
input.placeholder = "Search...";
|
|
1142
|
-
input.value = "";
|
|
1143
|
-
header.appendChild( input );
|
|
1191
|
+
const filter = new TextInput( null, "", (v) => {
|
|
1192
|
+
commandbar._addElements( v.toLowerCase() );
|
|
1193
|
+
}, { width: "100%", icon: "Search", trigger: "input", placeholder: "Search..." } );
|
|
1194
|
+
header.appendChild( filter.root );
|
|
1144
1195
|
|
|
1145
1196
|
const tabArea = new Area( {
|
|
1146
1197
|
width: "100%",
|
|
1147
1198
|
skipAppend: true,
|
|
1148
|
-
className: "
|
|
1199
|
+
className: "cb-tabs"
|
|
1149
1200
|
} );
|
|
1150
1201
|
|
|
1151
|
-
const
|
|
1152
|
-
let
|
|
1202
|
+
const cbTabs = tabArea.addTabs( { parentClass: "p-2" } );
|
|
1203
|
+
let cbFilter = null;
|
|
1153
1204
|
|
|
1154
1205
|
// These tabs will serve as buttons by now
|
|
1155
1206
|
// Filter stuff depending of the type of search
|
|
1156
1207
|
{
|
|
1157
1208
|
const _onSelectTab = ( e, tabName ) => {
|
|
1158
|
-
|
|
1209
|
+
cbFilter = tabName;
|
|
1159
1210
|
}
|
|
1160
1211
|
|
|
1161
|
-
|
|
1162
|
-
//
|
|
1212
|
+
cbTabs.add( "All", document.createElement('div'), { selected: true, onSelect: _onSelectTab } );
|
|
1213
|
+
// cbTabs.add( "Main", document.createElement('div'), { onSelect: _onSelectTab } );
|
|
1163
1214
|
}
|
|
1164
1215
|
|
|
1165
1216
|
const itemContainer = document.createElement("div");
|
|
@@ -1167,11 +1218,14 @@ function _createCommandbar( root )
|
|
|
1167
1218
|
|
|
1168
1219
|
let refPrevious = null;
|
|
1169
1220
|
|
|
1170
|
-
const _resetBar =
|
|
1221
|
+
const _resetBar = resetInput => {
|
|
1171
1222
|
itemContainer.innerHTML = "";
|
|
1172
1223
|
allItems.length = 0;
|
|
1173
1224
|
hoverElId = null;
|
|
1174
|
-
if(
|
|
1225
|
+
if( resetInput )
|
|
1226
|
+
{
|
|
1227
|
+
filter.set( "", true );
|
|
1228
|
+
}
|
|
1175
1229
|
}
|
|
1176
1230
|
|
|
1177
1231
|
const _addElement = ( t, c, p, i ) => {
|
|
@@ -1185,56 +1239,74 @@ function _createCommandbar( root )
|
|
|
1185
1239
|
|
|
1186
1240
|
let searchItem = document.createElement("div");
|
|
1187
1241
|
searchItem.className = "searchitem last";
|
|
1188
|
-
|
|
1189
|
-
if( isCheckbox )
|
|
1242
|
+
if( i?.checked !== undefined )
|
|
1190
1243
|
{
|
|
1191
|
-
|
|
1244
|
+
const iconHtml = i.checked ? LX.makeIcon( "Check" ).innerHTML : "";
|
|
1245
|
+
searchItem.innerHTML = iconHtml + ( p + t );
|
|
1192
1246
|
}
|
|
1193
1247
|
else
|
|
1194
1248
|
{
|
|
1195
1249
|
searchItem.innerHTML = ( p + t );
|
|
1196
1250
|
}
|
|
1197
|
-
searchItem.entry_name = t;
|
|
1198
1251
|
searchItem.callback = c;
|
|
1199
1252
|
searchItem.item = i;
|
|
1200
|
-
|
|
1201
|
-
|
|
1253
|
+
|
|
1254
|
+
searchItem.addEventListener('click', e => {
|
|
1255
|
+
|
|
1256
|
+
if( i.checked != undefined )
|
|
1257
|
+
{
|
|
1258
|
+
i.checked = !i.checked;
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
c.call( window, t, i.checked );
|
|
1202
1262
|
LX.setCommandbarState( false );
|
|
1203
1263
|
_resetBar( true );
|
|
1204
1264
|
});
|
|
1265
|
+
|
|
1205
1266
|
searchItem.addEventListener('mouseenter', function( e ) {
|
|
1206
1267
|
commandbar.querySelectorAll(".hovered").forEach(e => e.classList.remove('hovered'));
|
|
1207
1268
|
this.classList.add('hovered');
|
|
1208
1269
|
hoverElId = allItems.indexOf( this );
|
|
1209
1270
|
});
|
|
1271
|
+
|
|
1210
1272
|
searchItem.addEventListener('mouseleave', function( e ) {
|
|
1211
1273
|
this.classList.remove('hovered');
|
|
1212
1274
|
});
|
|
1275
|
+
|
|
1213
1276
|
allItems.push( searchItem );
|
|
1214
1277
|
itemContainer.appendChild( searchItem );
|
|
1215
1278
|
refPrevious = searchItem;
|
|
1216
1279
|
}
|
|
1217
1280
|
|
|
1218
|
-
const _propagateAdd = ( item, filter, path ) => {
|
|
1281
|
+
const _propagateAdd = ( item, filter, path, skipPropagation ) => {
|
|
1219
1282
|
|
|
1220
|
-
|
|
1221
|
-
|
|
1283
|
+
if( !item )
|
|
1284
|
+
{
|
|
1285
|
+
return;
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
let name = item.name;
|
|
1222
1289
|
if( name.toLowerCase().includes( filter ) )
|
|
1223
1290
|
{
|
|
1224
1291
|
if( item.callback )
|
|
1225
1292
|
{
|
|
1226
|
-
_addElement(
|
|
1293
|
+
_addElement( name, item.callback, path, item );
|
|
1227
1294
|
}
|
|
1228
1295
|
}
|
|
1229
1296
|
|
|
1230
|
-
|
|
1231
|
-
if(
|
|
1232
|
-
|
|
1297
|
+
const submenu = item.submenu ?? item[ name ];
|
|
1298
|
+
if( skipPropagation || !submenu )
|
|
1299
|
+
{
|
|
1300
|
+
return;
|
|
1301
|
+
}
|
|
1233
1302
|
|
|
1234
|
-
|
|
1303
|
+
const icon = LX.makeIcon( "ChevronRight", { svgClass: "sm fg-secondary separator" } );
|
|
1304
|
+
path += name + icon.innerHTML;
|
|
1235
1305
|
|
|
1236
|
-
for( let c of
|
|
1306
|
+
for( let c of submenu )
|
|
1307
|
+
{
|
|
1237
1308
|
_propagateAdd( c, filter, path );
|
|
1309
|
+
}
|
|
1238
1310
|
};
|
|
1239
1311
|
|
|
1240
1312
|
commandbar._addElements = filter => {
|
|
@@ -1249,6 +1321,14 @@ function _createCommandbar( root )
|
|
|
1249
1321
|
}
|
|
1250
1322
|
}
|
|
1251
1323
|
|
|
1324
|
+
for( let m of LX.sidebars )
|
|
1325
|
+
{
|
|
1326
|
+
for( let i of m.items )
|
|
1327
|
+
{
|
|
1328
|
+
_propagateAdd( i, filter, "" );
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1252
1332
|
for( let entry of LX.extraCommandbarEntries )
|
|
1253
1333
|
{
|
|
1254
1334
|
const name = entry.name;
|
|
@@ -1270,11 +1350,11 @@ function _createCommandbar( root )
|
|
|
1270
1350
|
{
|
|
1271
1351
|
const key = "Language: " + l;
|
|
1272
1352
|
const icon = instances[ 0 ]._getFileIcon( null, languages[ l ].ext );
|
|
1353
|
+
const classes = icon.split( ' ' );
|
|
1273
1354
|
|
|
1274
|
-
let value =
|
|
1275
|
-
"<img src='" + ( "https://raw.githubusercontent.com/jxarco/lexgui.js/master/" + icon ) + "'>";
|
|
1276
|
-
|
|
1355
|
+
let value = LX.makeIcon( classes[ 0 ], { svgClass: `${ classes.slice( 0 ).join( ' ' ) }` } ).innerHTML;
|
|
1277
1356
|
value += key + " <span class='lang-ext'>(" + languages[ l ].ext + ")</span>";
|
|
1357
|
+
|
|
1278
1358
|
if( key.toLowerCase().includes( filter ) )
|
|
1279
1359
|
{
|
|
1280
1360
|
_addElement( value, () => {
|
|
@@ -1288,10 +1368,6 @@ function _createCommandbar( root )
|
|
|
1288
1368
|
}
|
|
1289
1369
|
}
|
|
1290
1370
|
|
|
1291
|
-
input.addEventListener('input', function( e ) {
|
|
1292
|
-
commandbar._addElements( this.value.toLowerCase() );
|
|
1293
|
-
});
|
|
1294
|
-
|
|
1295
1371
|
commandbar.appendChild( header );
|
|
1296
1372
|
commandbar.appendChild( tabArea.root );
|
|
1297
1373
|
commandbar.appendChild( itemContainer );
|
|
@@ -1308,17 +1384,20 @@ function _createCommandbar( root )
|
|
|
1308
1384
|
* rootClass: Extra class to the root container
|
|
1309
1385
|
* skipRoot: Skip adding LX root container
|
|
1310
1386
|
* skipDefaultArea: Skip creation of main area
|
|
1311
|
-
*
|
|
1387
|
+
* layoutMode: Sets page layout mode (document | app)
|
|
1312
1388
|
*/
|
|
1313
1389
|
|
|
1314
|
-
function init( options = { } )
|
|
1390
|
+
async function init( options = { } )
|
|
1315
1391
|
{
|
|
1316
1392
|
if( this.ready )
|
|
1317
1393
|
{
|
|
1318
1394
|
return this.main_area;
|
|
1319
1395
|
}
|
|
1320
1396
|
|
|
1397
|
+
await LX.loadScriptSync( "https://unpkg.com/lucide@latest" );
|
|
1398
|
+
|
|
1321
1399
|
// LexGUI root
|
|
1400
|
+
console.log( `LexGUI v${ this.version }` );
|
|
1322
1401
|
|
|
1323
1402
|
var root = document.createElement( 'div' );
|
|
1324
1403
|
root.id = "lexroot";
|
|
@@ -1330,38 +1409,34 @@ function init( options = { } )
|
|
|
1330
1409
|
root.className += ` ${ options.rootClass }`;
|
|
1331
1410
|
}
|
|
1332
1411
|
|
|
1333
|
-
|
|
1334
|
-
modal.id = "modal";
|
|
1412
|
+
this.modal = document.createElement( 'div' );
|
|
1413
|
+
this.modal.id = "modal";
|
|
1414
|
+
this.modal.classList.add( 'hidden-opacity' );
|
|
1415
|
+
this.modal.toggle = function( force ) { this.classList.toggle( 'hidden-opacity', force ); };
|
|
1335
1416
|
|
|
1336
|
-
this.modal = modal;
|
|
1337
1417
|
this.root = root;
|
|
1338
1418
|
this.container = document.body;
|
|
1339
1419
|
|
|
1340
|
-
this.modal.classList.add( 'hidden-opacity' );
|
|
1341
|
-
this.modal.toggle = function( force ) { this.classList.toggle( 'hidden-opacity', force ); };
|
|
1342
|
-
|
|
1343
1420
|
if( options.container )
|
|
1344
1421
|
{
|
|
1345
1422
|
this.container = options.container.constructor === String ? document.getElementById( options.container ) : options.container;
|
|
1346
1423
|
}
|
|
1347
1424
|
|
|
1348
|
-
this.
|
|
1349
|
-
document.documentElement.setAttribute( "data-
|
|
1425
|
+
this.layoutMode = options.layoutMode ?? "app";
|
|
1426
|
+
document.documentElement.setAttribute( "data-layout", this.layoutMode );
|
|
1350
1427
|
|
|
1351
|
-
if(
|
|
1428
|
+
if( this.layoutMode == "document" )
|
|
1352
1429
|
{
|
|
1353
1430
|
document.addEventListener( "scroll", e => {
|
|
1354
1431
|
// Get all active menuboxes
|
|
1355
|
-
const mbs = document.body.querySelectorAll( ".
|
|
1432
|
+
const mbs = document.body.querySelectorAll( ".lexdropdownmenu" );
|
|
1356
1433
|
mbs.forEach( ( mb ) => {
|
|
1357
1434
|
mb._updatePosition();
|
|
1358
1435
|
} );
|
|
1359
1436
|
} );
|
|
1360
1437
|
}
|
|
1361
1438
|
|
|
1362
|
-
this.
|
|
1363
|
-
|
|
1364
|
-
this.container.appendChild( modal );
|
|
1439
|
+
this.container.appendChild( this.modal );
|
|
1365
1440
|
|
|
1366
1441
|
if( !options.skipRoot )
|
|
1367
1442
|
{
|
|
@@ -1400,15 +1475,6 @@ function init( options = { } )
|
|
|
1400
1475
|
e.preventDefault();
|
|
1401
1476
|
}, false );
|
|
1402
1477
|
|
|
1403
|
-
// CSS fontawesome
|
|
1404
|
-
var head = document.getElementsByTagName( 'HEAD' )[ 0 ];
|
|
1405
|
-
var link = document.createElement( 'link' );
|
|
1406
|
-
link.rel = 'stylesheet';
|
|
1407
|
-
link.type = 'text/css';
|
|
1408
|
-
link.crossOrigin = 'anonymous';
|
|
1409
|
-
link.href = 'https://use.fontawesome.com/releases/v6.7.2/css/all.css';
|
|
1410
|
-
head.appendChild( link );
|
|
1411
|
-
|
|
1412
1478
|
// Global vars
|
|
1413
1479
|
this.DEFAULT_NAME_WIDTH = "30%";
|
|
1414
1480
|
this.DEFAULT_SPLITBAR_SIZE = 4;
|
|
@@ -1427,6 +1493,8 @@ function init( options = { } )
|
|
|
1427
1493
|
|
|
1428
1494
|
this.ready = true;
|
|
1429
1495
|
this.menubars = [ ];
|
|
1496
|
+
this.sidebars = [ ];
|
|
1497
|
+
this.commandbar = _createCommandbar( this.container );
|
|
1430
1498
|
|
|
1431
1499
|
if( !options.skipRoot && !options.skipDefaultArea )
|
|
1432
1500
|
{
|
|
@@ -1448,17 +1516,17 @@ function init( options = { } )
|
|
|
1448
1516
|
LX.init = init;
|
|
1449
1517
|
|
|
1450
1518
|
/**
|
|
1451
|
-
* @method
|
|
1452
|
-
* @param {
|
|
1519
|
+
* @method setLayoutMode
|
|
1520
|
+
* @param {String} mode: document | app
|
|
1453
1521
|
*/
|
|
1454
1522
|
|
|
1455
|
-
function
|
|
1523
|
+
function setLayoutMode( mode )
|
|
1456
1524
|
{
|
|
1457
|
-
this.
|
|
1458
|
-
document.documentElement.setAttribute( "data-
|
|
1525
|
+
this.layoutMode = mode;
|
|
1526
|
+
document.documentElement.setAttribute( "data-layout", this.layoutMode );
|
|
1459
1527
|
}
|
|
1460
1528
|
|
|
1461
|
-
LX.
|
|
1529
|
+
LX.setLayoutMode = setLayoutMode;
|
|
1462
1530
|
|
|
1463
1531
|
/**
|
|
1464
1532
|
* @method setCommandbarState
|
|
@@ -1684,12 +1752,11 @@ function toast( title, description, options = {} )
|
|
|
1684
1752
|
|
|
1685
1753
|
if( options.closable ?? true )
|
|
1686
1754
|
{
|
|
1687
|
-
const
|
|
1688
|
-
|
|
1689
|
-
closeButton.addEventListener( "click", () => {
|
|
1755
|
+
const closeIcon = LX.makeIcon( "X", { iconClass: "closer" } );
|
|
1756
|
+
closeIcon.addEventListener( "click", () => {
|
|
1690
1757
|
toast.close();
|
|
1691
1758
|
} );
|
|
1692
|
-
toast.appendChild(
|
|
1759
|
+
toast.appendChild( closeIcon );
|
|
1693
1760
|
}
|
|
1694
1761
|
|
|
1695
1762
|
const timeout = options.timeout ?? 3000;
|
|
@@ -2062,7 +2129,8 @@ class Popover {
|
|
|
2062
2129
|
|
|
2063
2130
|
delete this._trigger.active;
|
|
2064
2131
|
|
|
2065
|
-
document.body.removeEventListener( "
|
|
2132
|
+
document.body.removeEventListener( "mousedown", this._onClick, true );
|
|
2133
|
+
document.body.removeEventListener( "focusin", this._onClick, true );
|
|
2066
2134
|
|
|
2067
2135
|
this.root.remove();
|
|
2068
2136
|
|
|
@@ -2133,6 +2201,103 @@ class Popover {
|
|
|
2133
2201
|
|
|
2134
2202
|
LX.Popover = Popover;
|
|
2135
2203
|
|
|
2204
|
+
/**
|
|
2205
|
+
* @class Sheet
|
|
2206
|
+
*/
|
|
2207
|
+
|
|
2208
|
+
class Sheet {
|
|
2209
|
+
|
|
2210
|
+
constructor( size, content, options = {} ) {
|
|
2211
|
+
|
|
2212
|
+
this.side = options.side ?? "left";
|
|
2213
|
+
|
|
2214
|
+
this.root = document.createElement( "div" );
|
|
2215
|
+
this.root.dataset["side"] = this.side;
|
|
2216
|
+
this.root.tabIndex = "1";
|
|
2217
|
+
this.root.role = "dialog";
|
|
2218
|
+
this.root.className = "lexsheet fixed z-100 bg-primary";
|
|
2219
|
+
LX.root.appendChild( this.root );
|
|
2220
|
+
|
|
2221
|
+
this.root.addEventListener( "keydown", (e) => {
|
|
2222
|
+
if( e.key == "Escape" )
|
|
2223
|
+
{
|
|
2224
|
+
e.preventDefault();
|
|
2225
|
+
e.stopPropagation();
|
|
2226
|
+
this.destroy();
|
|
2227
|
+
}
|
|
2228
|
+
} )
|
|
2229
|
+
|
|
2230
|
+
if( content )
|
|
2231
|
+
{
|
|
2232
|
+
content = [].concat( content );
|
|
2233
|
+
content.forEach( e => {
|
|
2234
|
+
const domNode = e.root ?? e;
|
|
2235
|
+
this.root.appendChild( domNode );
|
|
2236
|
+
if( e.onSheet )
|
|
2237
|
+
{
|
|
2238
|
+
e.onSheet();
|
|
2239
|
+
}
|
|
2240
|
+
} );
|
|
2241
|
+
}
|
|
2242
|
+
|
|
2243
|
+
doAsync( () => {
|
|
2244
|
+
|
|
2245
|
+
LX.modal.toggle( false );
|
|
2246
|
+
|
|
2247
|
+
switch( this.side )
|
|
2248
|
+
{
|
|
2249
|
+
case "left":
|
|
2250
|
+
this.root.style.left = 0;
|
|
2251
|
+
this.root.style.width = size;
|
|
2252
|
+
this.root.style.height = "100%";
|
|
2253
|
+
break;
|
|
2254
|
+
case "right":
|
|
2255
|
+
this.root.style.right = 0;
|
|
2256
|
+
this.root.style.width = size;
|
|
2257
|
+
this.root.style.height = "100%";
|
|
2258
|
+
break;
|
|
2259
|
+
case "top":
|
|
2260
|
+
this.root.style.top = 0;
|
|
2261
|
+
this.root.style.width = "100%";
|
|
2262
|
+
this.root.style.height = size;
|
|
2263
|
+
break;
|
|
2264
|
+
case "bottom":
|
|
2265
|
+
this.root.style.bottom = 0;
|
|
2266
|
+
this.root.style.width = "100%";
|
|
2267
|
+
this.root.style.height = size;
|
|
2268
|
+
break;
|
|
2269
|
+
default:
|
|
2270
|
+
break;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
this.root.focus();
|
|
2274
|
+
|
|
2275
|
+
this._onClick = e => {
|
|
2276
|
+
if( e.target && ( this.root.contains( e.target ) ) )
|
|
2277
|
+
{
|
|
2278
|
+
return;
|
|
2279
|
+
}
|
|
2280
|
+
this.destroy();
|
|
2281
|
+
};
|
|
2282
|
+
|
|
2283
|
+
document.body.addEventListener( "mousedown", this._onClick, true );
|
|
2284
|
+
document.body.addEventListener( "focusin", this._onClick, true );
|
|
2285
|
+
}, 10 );
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
destroy() {
|
|
2289
|
+
|
|
2290
|
+
document.body.removeEventListener( "mousedown", this._onClick, true );
|
|
2291
|
+
document.body.removeEventListener( "focusin", this._onClick, true );
|
|
2292
|
+
|
|
2293
|
+
this.root.remove();
|
|
2294
|
+
|
|
2295
|
+
LX.modal.toggle( true );
|
|
2296
|
+
}
|
|
2297
|
+
};
|
|
2298
|
+
|
|
2299
|
+
LX.Sheet = Sheet;
|
|
2300
|
+
|
|
2136
2301
|
/**
|
|
2137
2302
|
* @class DropdownMenu
|
|
2138
2303
|
*/
|
|
@@ -2145,9 +2310,10 @@ class DropdownMenu {
|
|
|
2145
2310
|
|
|
2146
2311
|
console.assert( trigger, "DropdownMenu needs a DOM element as trigger!" );
|
|
2147
2312
|
|
|
2148
|
-
if( DropdownMenu.currentMenu )
|
|
2313
|
+
if( DropdownMenu.currentMenu || !items?.length )
|
|
2149
2314
|
{
|
|
2150
2315
|
DropdownMenu.currentMenu.destroy();
|
|
2316
|
+
this.invalid = true;
|
|
2151
2317
|
return;
|
|
2152
2318
|
}
|
|
2153
2319
|
|
|
@@ -2161,6 +2327,8 @@ class DropdownMenu {
|
|
|
2161
2327
|
this.side = options.side ?? "bottom";
|
|
2162
2328
|
this.align = options.align ?? "center";
|
|
2163
2329
|
this.avoidCollisions = options.avoidCollisions ?? true;
|
|
2330
|
+
this.onBlur = options.onBlur;
|
|
2331
|
+
this.inPlace = false;
|
|
2164
2332
|
|
|
2165
2333
|
this.root = document.createElement( "div" );
|
|
2166
2334
|
this.root.id = "root";
|
|
@@ -2179,28 +2347,38 @@ class DropdownMenu {
|
|
|
2179
2347
|
this.root.focus();
|
|
2180
2348
|
|
|
2181
2349
|
this._onClick = e => {
|
|
2182
|
-
|
|
2350
|
+
|
|
2351
|
+
// Check if the click is inside a menu or on the trigger
|
|
2352
|
+
if( e.target && ( e.target.closest( ".lexdropdownmenu" ) != undefined || e.target == this._trigger ) )
|
|
2183
2353
|
{
|
|
2184
2354
|
return;
|
|
2185
2355
|
}
|
|
2186
|
-
|
|
2356
|
+
|
|
2357
|
+
this.destroy( true );
|
|
2187
2358
|
};
|
|
2188
2359
|
|
|
2189
|
-
document.body.addEventListener( "
|
|
2360
|
+
document.body.addEventListener( "mousedown", this._onClick, true );
|
|
2361
|
+
document.body.addEventListener( "focusin", this._onClick, true );
|
|
2190
2362
|
}, 10 );
|
|
2191
2363
|
}
|
|
2192
2364
|
|
|
2193
|
-
destroy() {
|
|
2365
|
+
destroy( blurEvent ) {
|
|
2194
2366
|
|
|
2195
2367
|
this._trigger.classList.remove( "triggered" );
|
|
2196
2368
|
|
|
2197
2369
|
delete this._trigger.ddm;
|
|
2198
2370
|
|
|
2199
|
-
document.body.removeEventListener( "
|
|
2371
|
+
document.body.removeEventListener( "mousedown", this._onClick, true );
|
|
2372
|
+
document.body.removeEventListener( "focusin", this._onClick, true );
|
|
2200
2373
|
|
|
2201
2374
|
LX.root.querySelectorAll( ".lexdropdownmenu" ).forEach( m => { m.remove(); } );
|
|
2202
2375
|
|
|
2203
2376
|
DropdownMenu.currentMenu = null;
|
|
2377
|
+
|
|
2378
|
+
if( blurEvent && this.onBlur )
|
|
2379
|
+
{
|
|
2380
|
+
this.onBlur();
|
|
2381
|
+
}
|
|
2204
2382
|
}
|
|
2205
2383
|
|
|
2206
2384
|
_create( items, parentDom ) {
|
|
@@ -2216,7 +2394,7 @@ class DropdownMenu {
|
|
|
2216
2394
|
let newParent = document.createElement( "div" );
|
|
2217
2395
|
newParent.tabIndex = "1";
|
|
2218
2396
|
newParent.className = "lexdropdownmenu";
|
|
2219
|
-
newParent.id = parentDom.id;
|
|
2397
|
+
newParent.dataset["id"] = parentDom.dataset["id"];
|
|
2220
2398
|
newParent.dataset["side"] = "right"; // submenus always come from the right
|
|
2221
2399
|
LX.root.appendChild( newParent );
|
|
2222
2400
|
|
|
@@ -2237,6 +2415,8 @@ class DropdownMenu {
|
|
|
2237
2415
|
}, 10 );
|
|
2238
2416
|
}
|
|
2239
2417
|
|
|
2418
|
+
let applyIconPadding = items.filter( i => { return ( i?.icon != undefined ) || ( i?.checked != undefined ) } ).length > 0;
|
|
2419
|
+
|
|
2240
2420
|
for( let item of items )
|
|
2241
2421
|
{
|
|
2242
2422
|
if( !item )
|
|
@@ -2246,7 +2426,7 @@ class DropdownMenu {
|
|
|
2246
2426
|
}
|
|
2247
2427
|
|
|
2248
2428
|
const key = item.name ?? item;
|
|
2249
|
-
const pKey =
|
|
2429
|
+
const pKey = LX.getSupportedDOMName( key );
|
|
2250
2430
|
|
|
2251
2431
|
// Item already created
|
|
2252
2432
|
if( parentDom.querySelector( "#" + pKey ) )
|
|
@@ -2256,21 +2436,19 @@ class DropdownMenu {
|
|
|
2256
2436
|
|
|
2257
2437
|
const menuItem = document.createElement('div');
|
|
2258
2438
|
menuItem.className = "lexdropdownmenuitem" + ( item.name ? "" : " label" ) + ( item.disabled ?? false ? " disabled" : "" ) + ( ` ${ item.className ?? "" }` );
|
|
2259
|
-
menuItem.id = pKey;
|
|
2439
|
+
menuItem.dataset["id"] = pKey;
|
|
2260
2440
|
menuItem.innerHTML = `<span>${ key }</span>`;
|
|
2261
|
-
|
|
2262
2441
|
menuItem.tabIndex = "1";
|
|
2263
2442
|
parentDom.appendChild( menuItem );
|
|
2264
2443
|
|
|
2265
|
-
if( item.constructor === String
|
|
2444
|
+
if( item.constructor === String ) // Label case
|
|
2266
2445
|
{
|
|
2267
2446
|
continue;
|
|
2268
2447
|
}
|
|
2269
2448
|
|
|
2270
2449
|
if( item.submenu )
|
|
2271
2450
|
{
|
|
2272
|
-
|
|
2273
|
-
submenuIcon.className = "fa-solid fa-angle-right fa-xs";
|
|
2451
|
+
const submenuIcon = LX.makeIcon( "Right", { svgClass: "sm" } );
|
|
2274
2452
|
menuItem.appendChild( submenuIcon );
|
|
2275
2453
|
}
|
|
2276
2454
|
else if( item.kbd )
|
|
@@ -2279,13 +2457,36 @@ class DropdownMenu {
|
|
|
2279
2457
|
|
|
2280
2458
|
const kbd = LX.makeKbd( item.kbd );
|
|
2281
2459
|
menuItem.appendChild( kbd );
|
|
2460
|
+
|
|
2461
|
+
document.addEventListener( "keydown", e => {
|
|
2462
|
+
if( !this._trigger.ddm ) return;
|
|
2463
|
+
e.preventDefault();
|
|
2464
|
+
// Check if it's a letter or other key
|
|
2465
|
+
let kdbKey = item.kbd.join("");
|
|
2466
|
+
kdbKey = kdbKey.length == 1 ? kdbKey.toLowerCase() : kdbKey;
|
|
2467
|
+
if( kdbKey == e.key )
|
|
2468
|
+
{
|
|
2469
|
+
menuItem.click()
|
|
2470
|
+
}
|
|
2471
|
+
} );
|
|
2282
2472
|
}
|
|
2283
2473
|
|
|
2474
|
+
const disabled = item.disabled ?? false;
|
|
2475
|
+
|
|
2284
2476
|
if( item.icon )
|
|
2285
2477
|
{
|
|
2286
|
-
const icon = LX.makeIcon( item.icon );
|
|
2478
|
+
const icon = LX.makeIcon( item.icon, { svgClass: disabled ? "fg-tertiary" : item.className } );
|
|
2287
2479
|
menuItem.prepend( icon );
|
|
2288
2480
|
}
|
|
2481
|
+
else if( item.checked == undefined && applyIconPadding ) // no checkbox, no icon, apply padding if there's checkbox or icon in other items
|
|
2482
|
+
{
|
|
2483
|
+
menuItem.classList.add( "pl-8" );
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
if( disabled )
|
|
2487
|
+
{
|
|
2488
|
+
continue;
|
|
2489
|
+
}
|
|
2289
2490
|
|
|
2290
2491
|
if( item.checked != undefined )
|
|
2291
2492
|
{
|
|
@@ -2293,11 +2494,12 @@ class DropdownMenu {
|
|
|
2293
2494
|
const f = item[ 'callback' ];
|
|
2294
2495
|
if( f )
|
|
2295
2496
|
{
|
|
2296
|
-
f.call( this, key,
|
|
2497
|
+
f.call( this, key, v, menuItem );
|
|
2297
2498
|
}
|
|
2298
2499
|
}, { className: "accent" });
|
|
2299
2500
|
const input = checkbox.root.querySelector( "input" );
|
|
2300
|
-
|
|
2501
|
+
input.classList.add( "ml-auto" );
|
|
2502
|
+
menuItem.appendChild( input );
|
|
2301
2503
|
|
|
2302
2504
|
menuItem.addEventListener( "click", (e) => {
|
|
2303
2505
|
if( e.target.type == "checkbox" ) return;
|
|
@@ -2313,30 +2515,31 @@ class DropdownMenu {
|
|
|
2313
2515
|
{
|
|
2314
2516
|
f.call( this, key, menuItem );
|
|
2315
2517
|
}
|
|
2316
|
-
|
|
2518
|
+
|
|
2519
|
+
this.destroy( true );
|
|
2317
2520
|
} );
|
|
2318
2521
|
}
|
|
2319
2522
|
|
|
2320
2523
|
menuItem.addEventListener("mouseover", e => {
|
|
2321
2524
|
|
|
2322
|
-
let path = menuItem.id;
|
|
2525
|
+
let path = menuItem.dataset["id"];
|
|
2323
2526
|
let p = parentDom;
|
|
2324
2527
|
|
|
2325
2528
|
while( p )
|
|
2326
2529
|
{
|
|
2327
|
-
path += "/" + p.id;
|
|
2530
|
+
path += "/" + p.dataset["id"];
|
|
2328
2531
|
p = p.currentParent?.parentElement;
|
|
2329
2532
|
}
|
|
2330
2533
|
|
|
2331
2534
|
LX.root.querySelectorAll( ".lexdropdownmenu" ).forEach( m => {
|
|
2332
|
-
if( !path.includes( m.id ) )
|
|
2535
|
+
if( !path.includes( m.dataset["id"] ) )
|
|
2333
2536
|
{
|
|
2334
2537
|
m.currentParent.built = false;
|
|
2335
2538
|
m.remove();
|
|
2336
2539
|
}
|
|
2337
2540
|
} );
|
|
2338
2541
|
|
|
2339
|
-
if( item.submenu )
|
|
2542
|
+
if( item.submenu && this.inPlace )
|
|
2340
2543
|
{
|
|
2341
2544
|
if( menuItem.built )
|
|
2342
2545
|
{
|
|
@@ -2410,6 +2613,7 @@ class DropdownMenu {
|
|
|
2410
2613
|
|
|
2411
2614
|
this.root.style.left = `${ position[ 0 ] }px`;
|
|
2412
2615
|
this.root.style.top = `${ position[ 1 ] }px`;
|
|
2616
|
+
this.inPlace = true;
|
|
2413
2617
|
}
|
|
2414
2618
|
|
|
2415
2619
|
_addSeparator( parent ) {
|
|
@@ -2422,6 +2626,18 @@ class DropdownMenu {
|
|
|
2422
2626
|
|
|
2423
2627
|
LX.DropdownMenu = DropdownMenu;
|
|
2424
2628
|
|
|
2629
|
+
function addDropdownMenu( trigger, items, options )
|
|
2630
|
+
{
|
|
2631
|
+
const menu = new DropdownMenu( trigger, items, options );
|
|
2632
|
+
if( !menu.invalid )
|
|
2633
|
+
{
|
|
2634
|
+
return menu;
|
|
2635
|
+
}
|
|
2636
|
+
return null;
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
LX.addDropdownMenu = addDropdownMenu;
|
|
2640
|
+
|
|
2425
2641
|
/**
|
|
2426
2642
|
* @class ColorPicker
|
|
2427
2643
|
*/
|
|
@@ -2525,7 +2741,7 @@ class ColorPicker {
|
|
|
2525
2741
|
} catch ( err ) {
|
|
2526
2742
|
// console.error("EyeDropper cancelled or failed: ", err)
|
|
2527
2743
|
}
|
|
2528
|
-
}, { icon: "
|
|
2744
|
+
}, { icon: "Pipette", buttonClass: "bg-none", title: "Sample Color" }).root );
|
|
2529
2745
|
}
|
|
2530
2746
|
|
|
2531
2747
|
const innerHueAlpha = LX.makeContainer( ["100%", "100%"], "flex flex-col gap-2", "", hueAlphaContainer );
|
|
@@ -2670,9 +2886,9 @@ class ColorPicker {
|
|
|
2670
2886
|
copyButtonWidget.root.querySelector( "input[type='checkbox']" ).style.pointerEvents = "auto";
|
|
2671
2887
|
}, 3000 );
|
|
2672
2888
|
|
|
2673
|
-
}, { swap: "
|
|
2889
|
+
}, { swap: "Check", icon: "Copy", buttonClass: "bg-none", className: "ml-auto", title: "Copy" })
|
|
2674
2890
|
|
|
2675
|
-
copyButtonWidget.root.querySelector( ".swap-on svg
|
|
2891
|
+
copyButtonWidget.root.querySelector( ".swap-on svg" ).addClass( "fg-success" );
|
|
2676
2892
|
|
|
2677
2893
|
colorLabel.appendChild( copyButtonWidget.root );
|
|
2678
2894
|
}
|
|
@@ -2842,7 +3058,7 @@ class Calendar {
|
|
|
2842
3058
|
{
|
|
2843
3059
|
const header = LX.makeContainer( ["100%", "auto"], "flex flex-row p-1", "", this.root );
|
|
2844
3060
|
|
|
2845
|
-
const prevMonthIcon = LX.makeIcon( "
|
|
3061
|
+
const prevMonthIcon = LX.makeIcon( "Left", { title: "Previous Month", iconClass: "border p-1 rounded hover:bg-secondary", svgClass: "sm" } );
|
|
2846
3062
|
header.appendChild( prevMonthIcon );
|
|
2847
3063
|
prevMonthIcon.addEventListener( "click", () => {
|
|
2848
3064
|
this._previousMonth();
|
|
@@ -2850,7 +3066,7 @@ class Calendar {
|
|
|
2850
3066
|
|
|
2851
3067
|
const monthYearLabel = LX.makeContainer( ["100%", "auto"], "text-center font-medium select-none", `${ this.monthName } ${ this.year }`, header );
|
|
2852
3068
|
|
|
2853
|
-
const nextMonthIcon = LX.makeIcon( "
|
|
3069
|
+
const nextMonthIcon = LX.makeIcon( "Right", { title: "Next Month", iconClass: "border p-1 rounded hover:bg-secondary", svgClass: "sm" } );
|
|
2854
3070
|
header.appendChild( nextMonthIcon );
|
|
2855
3071
|
nextMonthIcon.addEventListener( "click", () => {
|
|
2856
3072
|
this._nextMonth();
|
|
@@ -3259,6 +3475,7 @@ class Area {
|
|
|
3259
3475
|
const type = options.type ?? "horizontal";
|
|
3260
3476
|
const sizes = options.sizes || [ "50%", "50%" ];
|
|
3261
3477
|
const auto = (options.sizes === 'auto') || ( options.sizes && options.sizes[ 0 ] == "auto" && options.sizes[ 1 ] == "auto" );
|
|
3478
|
+
const rect = this.root.getBoundingClientRect();
|
|
3262
3479
|
|
|
3263
3480
|
// Secondary area fills space
|
|
3264
3481
|
if( !sizes[ 1 ] || ( sizes[ 0 ] != "auto" && sizes[ 1 ] == "auto" ) )
|
|
@@ -3309,7 +3526,7 @@ class Area {
|
|
|
3309
3526
|
|
|
3310
3527
|
if( !fixedSize )
|
|
3311
3528
|
{
|
|
3312
|
-
const parentWidth =
|
|
3529
|
+
const parentWidth = rect.width;
|
|
3313
3530
|
const leftPx = parsePixelSize( sizes[ 0 ], parentWidth );
|
|
3314
3531
|
const rightPx = parsePixelSize( sizes[ 1 ], parentWidth );
|
|
3315
3532
|
const leftPercent = ( leftPx / parentWidth ) * 100;
|
|
@@ -3333,10 +3550,11 @@ class Area {
|
|
|
3333
3550
|
if( auto )
|
|
3334
3551
|
{
|
|
3335
3552
|
primarySize[ 1 ] = "auto";
|
|
3553
|
+
secondarySize[ 1 ] = "auto";
|
|
3336
3554
|
}
|
|
3337
3555
|
else if( !fixedSize )
|
|
3338
3556
|
{
|
|
3339
|
-
const parentHeight =
|
|
3557
|
+
const parentHeight = rect.height;
|
|
3340
3558
|
const topPx = parsePixelSize( sizes[ 0 ], parentHeight );
|
|
3341
3559
|
const bottomPx = parsePixelSize( sizes[ 1 ], parentHeight );
|
|
3342
3560
|
const topPercent = ( topPx / parentHeight ) * 100;
|
|
@@ -3359,6 +3577,72 @@ class Area {
|
|
|
3359
3577
|
let area1 = new Area( { width: primarySize[ 0 ], height: primarySize[ 1 ], skipAppend: true, className: "split" + ( options.menubar || options.sidebar ? "" : " origin" ) } );
|
|
3360
3578
|
let area2 = new Area( { width: secondarySize[ 0 ], height: secondarySize[ 1 ], skipAppend: true, className: "split" } );
|
|
3361
3579
|
|
|
3580
|
+
/*
|
|
3581
|
+
If the parent area is not in the DOM, we need to wait for the resize event to get the its correct size
|
|
3582
|
+
and set the sizes of the split areas accordingly.
|
|
3583
|
+
*/
|
|
3584
|
+
if( !fixedSize && ( !rect.width || !rect.height ) )
|
|
3585
|
+
{
|
|
3586
|
+
const observer = new ResizeObserver( entries => {
|
|
3587
|
+
|
|
3588
|
+
console.assert( entries.length == 1, "AreaResizeObserver: more than one entry" );
|
|
3589
|
+
|
|
3590
|
+
const rect = entries[ 0 ].contentRect;
|
|
3591
|
+
if( !rect.width || !rect.height )
|
|
3592
|
+
{
|
|
3593
|
+
return;
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
this._update( [ rect.width, rect.height ], false );
|
|
3597
|
+
|
|
3598
|
+
// On auto splits, we only need to set the size of the parent area
|
|
3599
|
+
if( !auto )
|
|
3600
|
+
{
|
|
3601
|
+
if( type == "horizontal" )
|
|
3602
|
+
{
|
|
3603
|
+
const parentWidth = rect.width;
|
|
3604
|
+
const leftPx = parsePixelSize( sizes[ 0 ], parentWidth );
|
|
3605
|
+
const rightPx = parsePixelSize( sizes[ 1 ], parentWidth );
|
|
3606
|
+
const leftPercent = ( leftPx / parentWidth ) * 100;
|
|
3607
|
+
const rightPercent = ( rightPx / parentWidth ) * 100;
|
|
3608
|
+
|
|
3609
|
+
// Style using percentages
|
|
3610
|
+
primarySize[ 0 ] = `calc(${ leftPercent }% - ${ splitbarOffset }px)`;
|
|
3611
|
+
secondarySize[ 0 ] = `calc(${ rightPercent }% - ${ splitbarOffset }px)`;
|
|
3612
|
+
}
|
|
3613
|
+
else // vertical
|
|
3614
|
+
{
|
|
3615
|
+
const parentHeight = rect.height;
|
|
3616
|
+
const topPx = parsePixelSize( sizes[ 0 ], parentHeight );
|
|
3617
|
+
const bottomPx = parsePixelSize( sizes[ 1 ], parentHeight );
|
|
3618
|
+
const topPercent = ( topPx / parentHeight ) * 100;
|
|
3619
|
+
const bottomPercent = ( bottomPx / parentHeight ) * 100;
|
|
3620
|
+
|
|
3621
|
+
primarySize[ 1 ] = ( sizes[ 0 ] == "auto" ? "auto" : `calc(${ topPercent }% - ${ splitbarOffset }px)`);
|
|
3622
|
+
secondarySize[ 1 ] = ( sizes[ 1 ] == "auto" ? "auto" : `calc(${ bottomPercent }% - ${ splitbarOffset }px)`);
|
|
3623
|
+
}
|
|
3624
|
+
|
|
3625
|
+
area1.root.style.width = primarySize[ 0 ];
|
|
3626
|
+
area1.root.style.height = primarySize[ 1 ];
|
|
3627
|
+
|
|
3628
|
+
area2.root.style.width = secondarySize[ 0 ];
|
|
3629
|
+
area2.root.style.height = secondarySize[ 1 ];
|
|
3630
|
+
}
|
|
3631
|
+
|
|
3632
|
+
area1._update();
|
|
3633
|
+
area2._update();
|
|
3634
|
+
|
|
3635
|
+
// Stop observing
|
|
3636
|
+
observer.disconnect();
|
|
3637
|
+
});
|
|
3638
|
+
|
|
3639
|
+
// Observe the parent area until the DOM is ready
|
|
3640
|
+
// and the size is set correctly.
|
|
3641
|
+
doAsync( () => {
|
|
3642
|
+
observer.observe( this.root );
|
|
3643
|
+
}, 100 );
|
|
3644
|
+
}
|
|
3645
|
+
|
|
3362
3646
|
if( auto && type == "vertical" )
|
|
3363
3647
|
{
|
|
3364
3648
|
// Listen resize event on first area
|
|
@@ -3368,6 +3652,7 @@ class Area {
|
|
|
3368
3652
|
const size = entry.target.getComputedSize();
|
|
3369
3653
|
area2.root.style.height = "calc(100% - " + ( size.height ) + "px )";
|
|
3370
3654
|
}
|
|
3655
|
+
resizeObserver.disconnect();
|
|
3371
3656
|
});
|
|
3372
3657
|
|
|
3373
3658
|
resizeObserver.observe( area1.root );
|
|
@@ -3411,7 +3696,7 @@ class Area {
|
|
|
3411
3696
|
this.type = type;
|
|
3412
3697
|
|
|
3413
3698
|
// Update sizes
|
|
3414
|
-
this._update();
|
|
3699
|
+
this._update( rect.width || rect.height ? [ rect.width, rect.height ] : undefined );
|
|
3415
3700
|
|
|
3416
3701
|
if( !resize )
|
|
3417
3702
|
{
|
|
@@ -3468,6 +3753,11 @@ class Area {
|
|
|
3468
3753
|
this.minHeight = minh;
|
|
3469
3754
|
this.maxWidth = maxw;
|
|
3470
3755
|
this.maxHeight = maxh;
|
|
3756
|
+
|
|
3757
|
+
if( minw != 0 ) this.root.style.minWidth = `${ minw }px`;
|
|
3758
|
+
if( minh != 0 ) this.root.style.minHeight = `${ minh }px`;
|
|
3759
|
+
if( maxw != Infinity ) this.root.style.maxWidth = `${ maxw }px`;
|
|
3760
|
+
if( maxh != Infinity ) this.root.style.maxHeight = `${ maxh }px`;
|
|
3471
3761
|
}
|
|
3472
3762
|
|
|
3473
3763
|
/**
|
|
@@ -3527,7 +3817,7 @@ class Area {
|
|
|
3527
3817
|
{
|
|
3528
3818
|
this.offset = area2.root.offsetHeight;
|
|
3529
3819
|
area2.root.classList.add("fadeout-vertical");
|
|
3530
|
-
this._moveSplit(-Infinity, true);
|
|
3820
|
+
this._moveSplit( -Infinity, true );
|
|
3531
3821
|
|
|
3532
3822
|
}
|
|
3533
3823
|
else
|
|
@@ -3624,20 +3914,15 @@ class Area {
|
|
|
3624
3914
|
|
|
3625
3915
|
/**
|
|
3626
3916
|
* @method addMenubar
|
|
3627
|
-
* @param {
|
|
3917
|
+
* @param {Array} items Items to fill the menubar
|
|
3628
3918
|
* @param {Object} options:
|
|
3629
3919
|
* float: Justify content (left, center, right) [left]
|
|
3630
3920
|
* sticky: Fix menubar at the top [true]
|
|
3631
3921
|
*/
|
|
3632
3922
|
|
|
3633
|
-
addMenubar(
|
|
3634
|
-
|
|
3635
|
-
let menubar = new Menubar( options );
|
|
3923
|
+
addMenubar( items, options = {} ) {
|
|
3636
3924
|
|
|
3637
|
-
|
|
3638
|
-
{
|
|
3639
|
-
callback( menubar );
|
|
3640
|
-
}
|
|
3925
|
+
let menubar = new Menubar( items, options );
|
|
3641
3926
|
|
|
3642
3927
|
LX.menubars.push( menubar );
|
|
3643
3928
|
|
|
@@ -3665,6 +3950,7 @@ class Area {
|
|
|
3665
3950
|
* @param {Function} callback Function to fill the sidebar
|
|
3666
3951
|
* @param {Object} options: Sidebar options
|
|
3667
3952
|
* width: Width of the sidebar [16rem]
|
|
3953
|
+
* side: Side to attach the sidebar (left|right) [left]
|
|
3668
3954
|
*/
|
|
3669
3955
|
|
|
3670
3956
|
addSidebar( callback, options = {} ) {
|
|
@@ -3679,12 +3965,18 @@ class Area {
|
|
|
3679
3965
|
// Generate DOM elements after adding all entries
|
|
3680
3966
|
sidebar.update();
|
|
3681
3967
|
|
|
3682
|
-
LX.
|
|
3968
|
+
LX.sidebars.push( sidebar );
|
|
3969
|
+
|
|
3970
|
+
const side = options.side ?? "left";
|
|
3971
|
+
console.assert( side == "left" || side == "right", "Invalid sidebar side: " + side );
|
|
3972
|
+
const leftSidebar = ( side == "left" );
|
|
3683
3973
|
|
|
3684
3974
|
const width = options.width ?? "16rem";
|
|
3685
|
-
const
|
|
3686
|
-
|
|
3975
|
+
const sizes = leftSidebar ? [ width, null ] : [ null, width ];
|
|
3976
|
+
const [ left, right ] = this.split( { type: 'horizontal', sizes, resize: false, sidebar: true } );
|
|
3977
|
+
sidebar.siblingArea = leftSidebar ? right : left;
|
|
3687
3978
|
|
|
3979
|
+
let bar = leftSidebar ? left : right;
|
|
3688
3980
|
bar.attach( sidebar );
|
|
3689
3981
|
bar.isSidebar = true;
|
|
3690
3982
|
|
|
@@ -3833,7 +4125,6 @@ class Area {
|
|
|
3833
4125
|
{
|
|
3834
4126
|
_addButton( b );
|
|
3835
4127
|
}
|
|
3836
|
-
|
|
3837
4128
|
}
|
|
3838
4129
|
|
|
3839
4130
|
// Add floating info
|
|
@@ -3925,12 +4216,12 @@ class Area {
|
|
|
3925
4216
|
|
|
3926
4217
|
if( a1.maxWidth != Infinity )
|
|
3927
4218
|
{
|
|
3928
|
-
a2Root.style.minWidth =
|
|
4219
|
+
a2Root.style.minWidth = `calc( 100% - ${ parseInt( a1.maxWidth ) }px )`;
|
|
3929
4220
|
}
|
|
3930
4221
|
}
|
|
3931
4222
|
else
|
|
3932
4223
|
{
|
|
3933
|
-
var size = Math.max( ( a2Root.offsetHeight + dt ) + a2.offset, parseInt(a2.minHeight) );
|
|
4224
|
+
var size = Math.max( ( a2Root.offsetHeight + dt ) + a2.offset, parseInt( a2.minHeight ) );
|
|
3934
4225
|
if( forceWidth ) size = forceWidth;
|
|
3935
4226
|
|
|
3936
4227
|
const parentHeight = this.size[ 1 ];
|
|
@@ -3944,7 +4235,10 @@ class Area {
|
|
|
3944
4235
|
a2Root.style.height = `${ bottomPercent }%`;
|
|
3945
4236
|
a2Root.style.height = `${ bottomPercent }%`;
|
|
3946
4237
|
|
|
3947
|
-
|
|
4238
|
+
if( a1.maxHeight != Infinity )
|
|
4239
|
+
{
|
|
4240
|
+
a2Root.style.minHeight = `calc( 100% - ${ parseInt( a1.maxHeight ) }px )`;
|
|
4241
|
+
}
|
|
3948
4242
|
}
|
|
3949
4243
|
|
|
3950
4244
|
if( !forceAnimation )
|
|
@@ -3966,15 +4260,24 @@ class Area {
|
|
|
3966
4260
|
delete this.splitBar;
|
|
3967
4261
|
}
|
|
3968
4262
|
|
|
3969
|
-
_update() {
|
|
4263
|
+
_update( newSize, propagate = true ) {
|
|
3970
4264
|
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
4265
|
+
if( !newSize )
|
|
4266
|
+
{
|
|
4267
|
+
const rect = this.root.getBoundingClientRect();
|
|
4268
|
+
this.size = [ rect.width, rect.height ];
|
|
4269
|
+
}
|
|
4270
|
+
else
|
|
4271
|
+
{
|
|
4272
|
+
this.size = newSize;
|
|
4273
|
+
}
|
|
3974
4274
|
|
|
3975
|
-
|
|
4275
|
+
if( propagate )
|
|
3976
4276
|
{
|
|
3977
|
-
this.sections
|
|
4277
|
+
for( var i = 0; i < this.sections.length; i++ )
|
|
4278
|
+
{
|
|
4279
|
+
this.sections[ i ]._update();
|
|
4280
|
+
}
|
|
3978
4281
|
}
|
|
3979
4282
|
}
|
|
3980
4283
|
};
|
|
@@ -4169,9 +4472,10 @@ class Tabs {
|
|
|
4169
4472
|
// Process icon
|
|
4170
4473
|
if( options.icon )
|
|
4171
4474
|
{
|
|
4172
|
-
if( options.icon.includes( '
|
|
4475
|
+
if( !options.icon.includes( '.' ) ) // Not a file
|
|
4173
4476
|
{
|
|
4174
|
-
|
|
4477
|
+
const classes = options.icon.split( ' ' );
|
|
4478
|
+
options.icon = LX.makeIcon( classes[ 0 ], { svgClass: "sm " + classes.slice( 0 ).join( ' ' ) } ).innerHTML;
|
|
4175
4479
|
}
|
|
4176
4480
|
else // an image..
|
|
4177
4481
|
{
|
|
@@ -4183,7 +4487,7 @@ class Tabs {
|
|
|
4183
4487
|
// Create tab
|
|
4184
4488
|
let tabEl = document.createElement( 'span' );
|
|
4185
4489
|
tabEl.dataset[ "name" ] = name;
|
|
4186
|
-
tabEl.className = "lexareatab" + ( isSelected ? " selected" : "" );
|
|
4490
|
+
tabEl.className = "lexareatab flex flex-row gap-1" + ( isSelected ? " selected" : "" );
|
|
4187
4491
|
tabEl.innerHTML = ( options.icon ?? "" ) + name;
|
|
4188
4492
|
tabEl.id = name.replace( /\s/g, '' ) + Tabs.TAB_ID++;
|
|
4189
4493
|
tabEl.title = options.title ?? "";
|
|
@@ -4307,327 +4611,95 @@ class Tabs {
|
|
|
4307
4611
|
select( name ) {
|
|
4308
4612
|
|
|
4309
4613
|
if(!this.tabDOMs[ name ] )
|
|
4310
|
-
return;
|
|
4311
|
-
|
|
4312
|
-
this.tabDOMs[ name ].click();
|
|
4313
|
-
}
|
|
4314
|
-
|
|
4315
|
-
delete( name ) {
|
|
4316
|
-
|
|
4317
|
-
const tabEl = this.tabDOMs[ name ];
|
|
4318
|
-
|
|
4319
|
-
if( !tabEl || tabEl.fixed )
|
|
4320
|
-
{
|
|
4321
|
-
return;
|
|
4322
|
-
}
|
|
4323
|
-
|
|
4324
|
-
if( this.onclose )
|
|
4325
|
-
{
|
|
4326
|
-
this.onclose( name );
|
|
4327
|
-
}
|
|
4328
|
-
|
|
4329
|
-
// Delete tab element
|
|
4330
|
-
this.tabDOMs[ name ].remove();
|
|
4331
|
-
delete this.tabDOMs[ name ];
|
|
4332
|
-
|
|
4333
|
-
// Delete content
|
|
4334
|
-
this.tabs[ name ].remove();
|
|
4335
|
-
delete this.tabs[ name ];
|
|
4336
|
-
|
|
4337
|
-
// Select last tab
|
|
4338
|
-
const lastTab = this.root.lastChild;
|
|
4339
|
-
if( lastTab && !lastTab.fixed )
|
|
4340
|
-
{
|
|
4341
|
-
this.root.lastChild.click();
|
|
4342
|
-
}
|
|
4343
|
-
}
|
|
4344
|
-
}
|
|
4345
|
-
|
|
4346
|
-
LX.Tabs = Tabs;
|
|
4347
|
-
|
|
4348
|
-
/**
|
|
4349
|
-
* @class Menubar
|
|
4350
|
-
*/
|
|
4351
|
-
|
|
4352
|
-
class Menubar {
|
|
4353
|
-
|
|
4354
|
-
constructor( options = {} ) {
|
|
4355
|
-
|
|
4356
|
-
this.root = document.createElement( "div" );
|
|
4357
|
-
this.root.className = "lexmenubar";
|
|
4358
|
-
|
|
4359
|
-
if( options.float )
|
|
4360
|
-
{
|
|
4361
|
-
this.root.style.justifyContent = options.float;
|
|
4362
|
-
}
|
|
4363
|
-
|
|
4364
|
-
this.items = [ ];
|
|
4365
|
-
this.buttons = [ ];
|
|
4366
|
-
this.icons = { };
|
|
4367
|
-
this.shorts = { };
|
|
4368
|
-
}
|
|
4369
|
-
|
|
4370
|
-
_resetMenubar( focus ) {
|
|
4371
|
-
|
|
4372
|
-
// Menu entries are in the menubar..
|
|
4373
|
-
this.root.querySelectorAll(".lexmenuentry").forEach( _entry => {
|
|
4374
|
-
_entry.classList.remove( 'selected' );
|
|
4375
|
-
_entry.built = false;
|
|
4376
|
-
} );
|
|
4377
|
-
|
|
4378
|
-
// Menuboxes are in the root area!
|
|
4379
|
-
LX.root.querySelectorAll(".lexmenubox").forEach(e => e.remove());
|
|
4380
|
-
|
|
4381
|
-
// Next time we need to click again
|
|
4382
|
-
this.focused = focus ?? false;
|
|
4383
|
-
}
|
|
4384
|
-
|
|
4385
|
-
_createSubmenu( o, k, c, d ) {
|
|
4386
|
-
|
|
4387
|
-
let menuElement = document.createElement('div');
|
|
4388
|
-
menuElement.className = "lexmenubox";
|
|
4389
|
-
menuElement.tabIndex = "0";
|
|
4390
|
-
c.currentMenu = menuElement;
|
|
4391
|
-
menuElement.parentEntry = c;
|
|
4392
|
-
|
|
4393
|
-
const isSubMenu = c.classList.contains( "lexmenuboxentry" );
|
|
4394
|
-
if( isSubMenu )
|
|
4395
|
-
{
|
|
4396
|
-
menuElement.dataset[ "submenu" ] = true;
|
|
4397
|
-
}
|
|
4398
|
-
|
|
4399
|
-
menuElement._updatePosition = () => {
|
|
4400
|
-
// Remove transitions for this change..
|
|
4401
|
-
const transition = menuElement.style.transition;
|
|
4402
|
-
menuElement.style.transition = "none";
|
|
4403
|
-
flushCss( menuElement );
|
|
4404
|
-
|
|
4405
|
-
doAsync( () => {
|
|
4406
|
-
let rect = c.getBoundingClientRect();
|
|
4407
|
-
menuElement.style.left = ( isSubMenu ? ( rect.x + rect.width ) : rect.x ) + "px";
|
|
4408
|
-
menuElement.style.top = ( isSubMenu ? rect.y : ( ( rect.y + rect.height ) ) - 4 ) + "px";
|
|
4409
|
-
menuElement.style.transition = transition;
|
|
4410
|
-
} );
|
|
4411
|
-
};
|
|
4412
|
-
|
|
4413
|
-
menuElement._updatePosition();
|
|
4414
|
-
|
|
4415
|
-
doAsync( () => {
|
|
4416
|
-
menuElement.dataset[ "open" ] = true;
|
|
4417
|
-
}, 10 );
|
|
4418
|
-
|
|
4419
|
-
LX.root.appendChild( menuElement );
|
|
4420
|
-
|
|
4421
|
-
for( var i = 0; i < o[ k ].length; ++i )
|
|
4422
|
-
{
|
|
4423
|
-
const subitem = o[ k ][ i ];
|
|
4424
|
-
const subkey = Object.keys( subitem )[ 0 ];
|
|
4425
|
-
const hasSubmenu = subitem[ subkey ].length;
|
|
4426
|
-
const isCheckbox = subitem[ 'type' ] == 'checkbox';
|
|
4427
|
-
let subentry = document.createElement('div');
|
|
4428
|
-
subentry.tabIndex = "-1";
|
|
4429
|
-
subentry.className = "lexmenuboxentry";
|
|
4430
|
-
subentry.className += (i == o[k].length - 1 ? " last" : "") + ( subitem.disabled ? " disabled" : "" );
|
|
4431
|
-
|
|
4432
|
-
if( subkey == '' )
|
|
4433
|
-
{
|
|
4434
|
-
subentry.className = " lexseparator";
|
|
4435
|
-
}
|
|
4436
|
-
else
|
|
4437
|
-
{
|
|
4438
|
-
subentry.id = subkey;
|
|
4439
|
-
let subentrycont = document.createElement('div');
|
|
4440
|
-
subentrycont.innerHTML = "";
|
|
4441
|
-
subentrycont.classList = "lexmenuboxentrycontainer";
|
|
4442
|
-
subentry.appendChild(subentrycont);
|
|
4443
|
-
const icon = this.icons[ subkey ];
|
|
4444
|
-
if( isCheckbox )
|
|
4445
|
-
{
|
|
4446
|
-
subentrycont.innerHTML += "<input type='checkbox' >";
|
|
4447
|
-
}
|
|
4448
|
-
else if( icon )
|
|
4449
|
-
{
|
|
4450
|
-
subentrycont.innerHTML += "<a class='" + icon + " fa-sm'></a>";
|
|
4451
|
-
}
|
|
4452
|
-
else
|
|
4453
|
-
{
|
|
4454
|
-
subentrycont.innerHTML += "<a class='fa-solid fa-sm noicon'></a>";
|
|
4455
|
-
subentrycont.classList.add( "noicon" );
|
|
4456
|
-
|
|
4457
|
-
}
|
|
4458
|
-
subentrycont.innerHTML += "<div class='lexentryname'>" + subkey + "</div>";
|
|
4459
|
-
}
|
|
4460
|
-
|
|
4461
|
-
let checkboxInput = subentry.querySelector('input');
|
|
4462
|
-
if( checkboxInput )
|
|
4463
|
-
{
|
|
4464
|
-
checkboxInput.checked = subitem.checked ?? false;
|
|
4465
|
-
checkboxInput.addEventListener('change', e => {
|
|
4466
|
-
subitem.checked = checkboxInput.checked;
|
|
4467
|
-
const f = subitem[ 'callback' ];
|
|
4468
|
-
if( f )
|
|
4469
|
-
{
|
|
4470
|
-
f.call( this, subitem.checked, subkey, subentry );
|
|
4471
|
-
this._resetMenubar();
|
|
4472
|
-
}
|
|
4473
|
-
e.stopPropagation();
|
|
4474
|
-
e.stopImmediatePropagation();
|
|
4475
|
-
})
|
|
4476
|
-
}
|
|
4477
|
-
|
|
4478
|
-
menuElement.appendChild( subentry );
|
|
4479
|
-
|
|
4480
|
-
// Nothing more for separators
|
|
4481
|
-
if( subkey == '' )
|
|
4482
|
-
{
|
|
4483
|
-
continue;
|
|
4484
|
-
}
|
|
4485
|
-
|
|
4486
|
-
menuElement.addEventListener('keydown', e => {
|
|
4487
|
-
e.preventDefault();
|
|
4488
|
-
let short = this.shorts[ subkey ];
|
|
4489
|
-
if(!short) return;
|
|
4490
|
-
// check if it's a letter or other key
|
|
4491
|
-
short = short.length == 1 ? short.toLowerCase() : short;
|
|
4492
|
-
if( short == e.key )
|
|
4493
|
-
{
|
|
4494
|
-
subentry.click()
|
|
4495
|
-
}
|
|
4496
|
-
});
|
|
4497
|
-
|
|
4498
|
-
// Add callback
|
|
4499
|
-
subentry.addEventListener("click", e => {
|
|
4500
|
-
if( checkboxInput )
|
|
4501
|
-
{
|
|
4502
|
-
subitem.checked = !subitem.checked;
|
|
4503
|
-
}
|
|
4504
|
-
const f = subitem[ 'callback' ];
|
|
4505
|
-
if( f )
|
|
4506
|
-
{
|
|
4507
|
-
f.call( this, checkboxInput ? subitem.checked : subkey, checkboxInput ? subkey : subentry );
|
|
4508
|
-
this._resetMenubar();
|
|
4509
|
-
}
|
|
4510
|
-
e.stopPropagation();
|
|
4511
|
-
e.stopImmediatePropagation();
|
|
4512
|
-
});
|
|
4513
|
-
|
|
4514
|
-
subentry.addEventListener("blur", e => {
|
|
4515
|
-
if( e.relatedTarget && !e.relatedTarget.className.includes( "lexmenu" ) )
|
|
4516
|
-
{
|
|
4517
|
-
this._resetMenubar();
|
|
4518
|
-
}
|
|
4519
|
-
});
|
|
4614
|
+
return;
|
|
4520
4615
|
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
{
|
|
4524
|
-
if( this.shorts[ subkey ] )
|
|
4525
|
-
{
|
|
4526
|
-
let shortEl = document.createElement('div');
|
|
4527
|
-
shortEl.className = "lexentryshort";
|
|
4528
|
-
shortEl.innerText = this.shorts[ subkey ];
|
|
4529
|
-
subentry.appendChild( shortEl );
|
|
4530
|
-
}
|
|
4531
|
-
continue;
|
|
4532
|
-
}
|
|
4616
|
+
this.tabDOMs[ name ].click();
|
|
4617
|
+
}
|
|
4533
4618
|
|
|
4534
|
-
|
|
4535
|
-
submenuIcon.className = "fa-solid fa-angle-right fa-xs";
|
|
4536
|
-
subentry.appendChild( submenuIcon );
|
|
4619
|
+
delete( name ) {
|
|
4537
4620
|
|
|
4538
|
-
|
|
4539
|
-
if( subentry.built )
|
|
4540
|
-
{
|
|
4541
|
-
return;
|
|
4542
|
-
}
|
|
4543
|
-
subentry.built = true;
|
|
4544
|
-
this._createSubmenu( subitem, subkey, subentry, ++d );
|
|
4545
|
-
e.stopPropagation();
|
|
4546
|
-
});
|
|
4621
|
+
const tabEl = this.tabDOMs[ name ];
|
|
4547
4622
|
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
d = -1; // Reset depth
|
|
4552
|
-
delete subentry.built;
|
|
4553
|
-
subentry.currentMenu.remove();
|
|
4554
|
-
delete subentry.currentMenu;
|
|
4555
|
-
}
|
|
4556
|
-
});
|
|
4623
|
+
if( !tabEl || tabEl.fixed )
|
|
4624
|
+
{
|
|
4625
|
+
return;
|
|
4557
4626
|
}
|
|
4558
4627
|
|
|
4559
|
-
|
|
4560
|
-
|
|
4628
|
+
if( this.onclose )
|
|
4629
|
+
{
|
|
4630
|
+
this.onclose( name );
|
|
4631
|
+
}
|
|
4632
|
+
|
|
4633
|
+
// Delete tab element
|
|
4634
|
+
this.tabDOMs[ name ].remove();
|
|
4635
|
+
delete this.tabDOMs[ name ];
|
|
4636
|
+
|
|
4637
|
+
// Delete content
|
|
4638
|
+
this.tabs[ name ].remove();
|
|
4639
|
+
delete this.tabs[ name ];
|
|
4640
|
+
|
|
4641
|
+
// Select last tab
|
|
4642
|
+
const lastTab = this.root.lastChild;
|
|
4643
|
+
if( lastTab && !lastTab.fixed )
|
|
4644
|
+
{
|
|
4645
|
+
this.root.lastChild.click();
|
|
4646
|
+
}
|
|
4561
4647
|
}
|
|
4648
|
+
}
|
|
4562
4649
|
|
|
4563
|
-
|
|
4564
|
-
* @method add
|
|
4565
|
-
* @param {Object} options:
|
|
4566
|
-
* callback: Function to call on each item
|
|
4567
|
-
* icon: Entry icon
|
|
4568
|
-
* short: Entry shortcut name
|
|
4569
|
-
*/
|
|
4650
|
+
LX.Tabs = Tabs;
|
|
4570
4651
|
|
|
4571
|
-
|
|
4652
|
+
/**
|
|
4653
|
+
* @class Menubar
|
|
4654
|
+
*/
|
|
4572
4655
|
|
|
4573
|
-
|
|
4656
|
+
class Menubar {
|
|
4657
|
+
|
|
4658
|
+
constructor( items, options = {} ) {
|
|
4659
|
+
|
|
4660
|
+
this.root = document.createElement( "div" );
|
|
4661
|
+
this.root.className = "lexmenubar";
|
|
4662
|
+
|
|
4663
|
+
if( options.float )
|
|
4574
4664
|
{
|
|
4575
|
-
|
|
4665
|
+
this.root.style.justifyContent = options.float;
|
|
4576
4666
|
}
|
|
4577
4667
|
|
|
4578
|
-
|
|
4579
|
-
|
|
4668
|
+
this.buttons = [ ];
|
|
4669
|
+
this.icons = { };
|
|
4670
|
+
this.shorts = { };
|
|
4671
|
+
this.items = items ?? [];
|
|
4580
4672
|
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
this.icons[ lastPath ] = options.icon;
|
|
4584
|
-
this.shorts[ lastPath ] = options.short;
|
|
4673
|
+
this.createEntries();
|
|
4674
|
+
}
|
|
4585
4675
|
|
|
4586
|
-
|
|
4676
|
+
_resetMenubar( focus ) {
|
|
4587
4677
|
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
}
|
|
4678
|
+
this.root.querySelectorAll(".lexmenuentry").forEach( e => {
|
|
4679
|
+
e.classList.remove( 'selected' );
|
|
4680
|
+
delete e.dataset[ "built" ];
|
|
4681
|
+
} );
|
|
4593
4682
|
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
|
|
4599
|
-
} );
|
|
4683
|
+
if( this._currentDropdown )
|
|
4684
|
+
{
|
|
4685
|
+
this._currentDropdown.destroy();
|
|
4686
|
+
this._currentDropdown = null;
|
|
4687
|
+
}
|
|
4600
4688
|
|
|
4601
|
-
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
}
|
|
4605
|
-
else
|
|
4606
|
-
{
|
|
4607
|
-
let item = {};
|
|
4608
|
-
item[ token ] = [];
|
|
4609
|
-
const nextToken = tokens[ idx++ ];
|
|
4610
|
-
// Check if last token -> add callback
|
|
4611
|
-
if( !nextToken )
|
|
4612
|
-
{
|
|
4613
|
-
item[ 'callback' ] = options.callback;
|
|
4614
|
-
item[ 'disabled' ] = options.disabled;
|
|
4615
|
-
item[ 'type' ] = options.type;
|
|
4616
|
-
item[ 'checked' ] = options.checked;
|
|
4617
|
-
}
|
|
4618
|
-
list.push( item );
|
|
4619
|
-
_insertEntry( nextToken, item[ token ] );
|
|
4620
|
-
}
|
|
4621
|
-
};
|
|
4689
|
+
// Next time we need to click again
|
|
4690
|
+
this.focused = focus ?? false;
|
|
4691
|
+
}
|
|
4622
4692
|
|
|
4623
|
-
|
|
4693
|
+
/**
|
|
4694
|
+
* @method createEntries
|
|
4695
|
+
*/
|
|
4624
4696
|
|
|
4625
|
-
|
|
4697
|
+
createEntries() {
|
|
4626
4698
|
|
|
4627
4699
|
for( let item of this.items )
|
|
4628
4700
|
{
|
|
4629
|
-
let key =
|
|
4630
|
-
let pKey =
|
|
4701
|
+
let key = item.name;
|
|
4702
|
+
let pKey = LX.getSupportedDOMName( key );
|
|
4631
4703
|
|
|
4632
4704
|
// Item already created
|
|
4633
4705
|
if( this.root.querySelector( "#" + pKey ) )
|
|
@@ -4641,32 +4713,15 @@ class Menubar {
|
|
|
4641
4713
|
entry.innerHTML = "<span>" + key + "</span>";
|
|
4642
4714
|
entry.tabIndex = "1";
|
|
4643
4715
|
|
|
4644
|
-
|
|
4645
|
-
{
|
|
4646
|
-
this.root.prepend( entry );
|
|
4647
|
-
}
|
|
4648
|
-
else
|
|
4649
|
-
{
|
|
4650
|
-
if( options.position == "right" )
|
|
4651
|
-
{
|
|
4652
|
-
entry.right = true;
|
|
4653
|
-
}
|
|
4654
|
-
|
|
4655
|
-
if( this.root.lastChild && this.root.lastChild.right )
|
|
4656
|
-
{
|
|
4657
|
-
this.root.lastChild.before( entry );
|
|
4658
|
-
}
|
|
4659
|
-
else
|
|
4660
|
-
{
|
|
4661
|
-
this.root.appendChild( entry );
|
|
4662
|
-
}
|
|
4663
|
-
}
|
|
4716
|
+
this.root.appendChild( entry );
|
|
4664
4717
|
|
|
4665
4718
|
const _showEntry = () => {
|
|
4666
4719
|
this._resetMenubar(true);
|
|
4667
4720
|
entry.classList.add( "selected" );
|
|
4668
|
-
entry.built = true;
|
|
4669
|
-
this.
|
|
4721
|
+
entry.dataset["built"] = "true";
|
|
4722
|
+
this._currentDropdown = addDropdownMenu( entry, item.submenu ?? [], { side: "bottom", align: "start", onBlur: () => {
|
|
4723
|
+
this._resetMenubar();
|
|
4724
|
+
} });
|
|
4670
4725
|
};
|
|
4671
4726
|
|
|
4672
4727
|
entry.addEventListener("click", () => {
|
|
@@ -4684,21 +4739,11 @@ class Menubar {
|
|
|
4684
4739
|
|
|
4685
4740
|
entry.addEventListener( "mouseover", (e) => {
|
|
4686
4741
|
|
|
4687
|
-
if( this.focused && !entry.built )
|
|
4742
|
+
if( this.focused && !( entry.dataset[ "built" ] ?? false ) )
|
|
4688
4743
|
{
|
|
4689
4744
|
_showEntry();
|
|
4690
4745
|
}
|
|
4691
4746
|
});
|
|
4692
|
-
|
|
4693
|
-
entry.addEventListener("blur", e => {
|
|
4694
|
-
|
|
4695
|
-
if( e.relatedTarget && e.relatedTarget.className.includes( "lexmenubox" ) )
|
|
4696
|
-
{
|
|
4697
|
-
return;
|
|
4698
|
-
}
|
|
4699
|
-
|
|
4700
|
-
this._resetMenubar();
|
|
4701
|
-
});
|
|
4702
4747
|
}
|
|
4703
4748
|
}
|
|
4704
4749
|
|
|
@@ -4770,7 +4815,8 @@ class Menubar {
|
|
|
4770
4815
|
let button = this.buttons[ name ];
|
|
4771
4816
|
if( button )
|
|
4772
4817
|
{
|
|
4773
|
-
button.
|
|
4818
|
+
button.innerHTML = "";
|
|
4819
|
+
button.appendChild( LX.makeIcon( icon, { svgClass: "xl" } ) );
|
|
4774
4820
|
return;
|
|
4775
4821
|
}
|
|
4776
4822
|
|
|
@@ -4779,7 +4825,7 @@ class Menubar {
|
|
|
4779
4825
|
const disabled = options.disabled ?? false;
|
|
4780
4826
|
button.className = "lexmenubutton main" + (disabled ? " disabled" : "");
|
|
4781
4827
|
button.title = name;
|
|
4782
|
-
button.
|
|
4828
|
+
button.appendChild( LX.makeIcon( icon, { svgClass: "xl" } ) );
|
|
4783
4829
|
|
|
4784
4830
|
if( options.float == "right" )
|
|
4785
4831
|
{
|
|
@@ -4969,6 +5015,7 @@ class SideBar {
|
|
|
4969
5015
|
configurable: true
|
|
4970
5016
|
});
|
|
4971
5017
|
|
|
5018
|
+
this.side = options.side ?? "left";
|
|
4972
5019
|
this.collapsable = options.collapsable ?? true;
|
|
4973
5020
|
this._collapseWidth = ( options.collapseToIcons ?? true ) ? "58px" : "0px";
|
|
4974
5021
|
this.collapsed = false;
|
|
@@ -4999,7 +5046,7 @@ class SideBar {
|
|
|
4999
5046
|
|
|
5000
5047
|
if( this.collapsable )
|
|
5001
5048
|
{
|
|
5002
|
-
const icon = LX.makeIcon( "
|
|
5049
|
+
const icon = LX.makeIcon( this.side == "left" ? "PanelLeft" : "PanelRight", { title: "Toggle Sidebar", iconClass: "toggler" } );
|
|
5003
5050
|
this.header.appendChild( icon );
|
|
5004
5051
|
|
|
5005
5052
|
icon.addEventListener( "click", (e) => {
|
|
@@ -5016,7 +5063,7 @@ class SideBar {
|
|
|
5016
5063
|
const filterTextInput = new TextInput(null, "", (value, event) => {
|
|
5017
5064
|
this.filterString = value;
|
|
5018
5065
|
this.update();
|
|
5019
|
-
}, { inputClass: "outline", placeholder: "Search...", icon: "
|
|
5066
|
+
}, { inputClass: "outline", placeholder: "Search...", icon: "Search", className: "lexsidebarfilter" });
|
|
5020
5067
|
this.filter = filterTextInput.root;
|
|
5021
5068
|
this.root.appendChild( this.filter );
|
|
5022
5069
|
}
|
|
@@ -5144,7 +5191,7 @@ class SideBar {
|
|
|
5144
5191
|
info.appendChild( infoSubtext );
|
|
5145
5192
|
}
|
|
5146
5193
|
|
|
5147
|
-
const icon = LX.makeIcon( "
|
|
5194
|
+
const icon = LX.makeIcon( "MenuArrows" );
|
|
5148
5195
|
footer.appendChild( icon );
|
|
5149
5196
|
|
|
5150
5197
|
return footer;
|
|
@@ -5285,7 +5332,7 @@ class SideBar {
|
|
|
5285
5332
|
|
|
5286
5333
|
select( name ) {
|
|
5287
5334
|
|
|
5288
|
-
let pKey =
|
|
5335
|
+
let pKey = LX.getSupportedDOMName( name );
|
|
5289
5336
|
|
|
5290
5337
|
const entry = this.items.find( v => v.name === pKey );
|
|
5291
5338
|
|
|
@@ -5316,18 +5363,18 @@ class SideBar {
|
|
|
5316
5363
|
continue;
|
|
5317
5364
|
}
|
|
5318
5365
|
|
|
5319
|
-
let key = Object.keys( item )[ 0 ];
|
|
5366
|
+
let key = item.name = Object.keys( item )[ 0 ];
|
|
5320
5367
|
|
|
5321
5368
|
if( this.filterString.length && !key.toLowerCase().includes( this.filterString.toLowerCase() ) )
|
|
5322
5369
|
{
|
|
5323
5370
|
continue;
|
|
5324
5371
|
}
|
|
5325
5372
|
|
|
5326
|
-
let pKey =
|
|
5373
|
+
let pKey = LX.getSupportedDOMName( key );
|
|
5327
5374
|
let currentGroup = null;
|
|
5328
5375
|
|
|
5329
5376
|
let entry = document.createElement( 'div' );
|
|
5330
|
-
entry.id =
|
|
5377
|
+
entry.id = pKey;
|
|
5331
5378
|
entry.className = "lexsidebarentry " + ( options.className ?? "" );
|
|
5332
5379
|
|
|
5333
5380
|
if( this.displaySelected && options.selected )
|
|
@@ -5357,10 +5404,9 @@ class SideBar {
|
|
|
5357
5404
|
|
|
5358
5405
|
if( this.groups[ item.group ] != null )
|
|
5359
5406
|
{
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
groupAction.addEventListener( "click", (e) => {
|
|
5407
|
+
const groupActionIcon = LX.makeIcon( this.groups[ item.group ].icon, { svgClass: "sm" } )
|
|
5408
|
+
groupEntry.appendChild( groupActionIcon );
|
|
5409
|
+
groupActionIcon.addEventListener( "click", e => {
|
|
5364
5410
|
if( this.groups[ item.group ].callback )
|
|
5365
5411
|
{
|
|
5366
5412
|
this.groups[ item.group ].callback( item.group, e );
|
|
@@ -5424,20 +5470,7 @@ class SideBar {
|
|
|
5424
5470
|
{
|
|
5425
5471
|
if( options.icon )
|
|
5426
5472
|
{
|
|
5427
|
-
|
|
5428
|
-
|
|
5429
|
-
// @legacy
|
|
5430
|
-
if( options.icon.includes( "fa-" ) )
|
|
5431
|
-
{
|
|
5432
|
-
itemIcon = document.createElement( 'i' );
|
|
5433
|
-
itemIcon.className = options.icon;
|
|
5434
|
-
}
|
|
5435
|
-
else
|
|
5436
|
-
{
|
|
5437
|
-
itemIcon = LX.makeIcon( options.icon );
|
|
5438
|
-
}
|
|
5439
|
-
|
|
5440
|
-
itemIcon.classList.add( "lexsidebarentryicon" );
|
|
5473
|
+
const itemIcon = LX.makeIcon( options.icon, { iconClass: "lexsidebarentryicon" } );
|
|
5441
5474
|
itemDom.appendChild( itemIcon );
|
|
5442
5475
|
LX.asTooltip( itemDom, key, { side: "right", offset: 16, active: false } );
|
|
5443
5476
|
}
|
|
@@ -5486,7 +5519,7 @@ class SideBar {
|
|
|
5486
5519
|
|
|
5487
5520
|
if( options.action )
|
|
5488
5521
|
{
|
|
5489
|
-
const actionIcon = LX.makeIcon( options.action.icon ?? "
|
|
5522
|
+
const actionIcon = LX.makeIcon( options.action.icon ?? "Ellipsis", { title: options.action.name } );
|
|
5490
5523
|
itemDom.appendChild( actionIcon );
|
|
5491
5524
|
|
|
5492
5525
|
actionIcon.addEventListener( "click", (e) => {
|
|
@@ -5534,7 +5567,7 @@ class SideBar {
|
|
|
5534
5567
|
{
|
|
5535
5568
|
const subitem = item[ key ][ i ];
|
|
5536
5569
|
const suboptions = subitem.options ?? {};
|
|
5537
|
-
const subkey = Object.keys( subitem )[ 0 ];
|
|
5570
|
+
const subkey = subitem.name = Object.keys( subitem )[ 0 ];
|
|
5538
5571
|
|
|
5539
5572
|
if( this.filterString.length && !subkey.toLowerCase().includes( this.filterString.toLowerCase() ) )
|
|
5540
5573
|
{
|
|
@@ -5546,7 +5579,7 @@ class SideBar {
|
|
|
5546
5579
|
|
|
5547
5580
|
if( suboptions.action )
|
|
5548
5581
|
{
|
|
5549
|
-
const actionIcon = LX.makeIcon( suboptions.action.icon ?? "
|
|
5582
|
+
const actionIcon = LX.makeIcon( suboptions.action.icon ?? "Ellipsis", { title: suboptions.action.name } );
|
|
5550
5583
|
subentry.appendChild( actionIcon );
|
|
5551
5584
|
|
|
5552
5585
|
actionIcon.addEventListener( "click", (e) => {
|
|
@@ -5739,11 +5772,8 @@ class Widget {
|
|
|
5739
5772
|
|
|
5740
5773
|
_addResetProperty( container, callback ) {
|
|
5741
5774
|
|
|
5742
|
-
const domEl = LX.makeIcon( "
|
|
5775
|
+
const domEl = LX.makeIcon( "Undo2", { iconClass: "ml-0 mr-1 px-1", title: "Reset" } )
|
|
5743
5776
|
domEl.style.display = "none";
|
|
5744
|
-
domEl.style.marginRight = "6px";
|
|
5745
|
-
domEl.style.marginLeft = "0";
|
|
5746
|
-
domEl.style.paddingInline = "6px";
|
|
5747
5777
|
domEl.addEventListener( "click", callback );
|
|
5748
5778
|
container.appendChild( domEl );
|
|
5749
5779
|
return domEl;
|
|
@@ -5929,11 +5959,10 @@ function ADD_CUSTOM_WIDGET( customWidgetName, options = {} )
|
|
|
5929
5959
|
element.appendChild( container );
|
|
5930
5960
|
element.dataset["opened"] = false;
|
|
5931
5961
|
|
|
5932
|
-
|
|
5933
|
-
|
|
5934
|
-
// Add always icon to keep spacing right
|
|
5935
|
-
buttonName += "<a class='fa-solid " + (instance ? "fa-bars-staggered" : " ") + " menu'></a>";
|
|
5962
|
+
const customIcon = LX.makeIcon( options.icon ?? "Box" );
|
|
5963
|
+
const menuIcon = LX.makeIcon( "Menu" );
|
|
5936
5964
|
|
|
5965
|
+
let buttonName = customWidgetName + (!instance ? " [empty]" : "");
|
|
5937
5966
|
let buttonEl = this.addButton(null, buttonName, (value, event) => {
|
|
5938
5967
|
if( instance )
|
|
5939
5968
|
{
|
|
@@ -5953,11 +5982,15 @@ function ADD_CUSTOM_WIDGET( customWidgetName, options = {} )
|
|
|
5953
5982
|
}
|
|
5954
5983
|
|
|
5955
5984
|
}, { buttonClass: 'custom' });
|
|
5985
|
+
|
|
5986
|
+
const buttonSpan = buttonEl.root.querySelector( "span" );
|
|
5987
|
+
buttonSpan.prepend( customIcon );
|
|
5988
|
+
buttonSpan.appendChild( menuIcon );
|
|
5956
5989
|
container.appendChild( buttonEl.root );
|
|
5957
5990
|
|
|
5958
5991
|
if( instance )
|
|
5959
5992
|
{
|
|
5960
|
-
|
|
5993
|
+
menuIcon.addEventListener( "click", e => {
|
|
5961
5994
|
e.stopImmediatePropagation();
|
|
5962
5995
|
e.stopPropagation();
|
|
5963
5996
|
addContextMenu(null, e, c => {
|
|
@@ -6062,7 +6095,7 @@ class NodeTree {
|
|
|
6062
6095
|
_createItem( parent, node, level = 0, selectedId ) {
|
|
6063
6096
|
|
|
6064
6097
|
const that = this;
|
|
6065
|
-
const nodeFilterInput = this.domEl.querySelector( ".
|
|
6098
|
+
const nodeFilterInput = this.domEl.querySelector( ".lexnodetreefilter" );
|
|
6066
6099
|
|
|
6067
6100
|
node.children = node.children ?? [];
|
|
6068
6101
|
if( nodeFilterInput && nodeFilterInput.value != "" && !node.id.includes( nodeFilterInput.value ) )
|
|
@@ -6095,21 +6128,29 @@ class NodeTree {
|
|
|
6095
6128
|
item.treeData = node;
|
|
6096
6129
|
|
|
6097
6130
|
// Select hierarchy icon
|
|
6098
|
-
let icon = (this.options.
|
|
6131
|
+
let icon = (this.options.skipDefaultIcon ?? true) ? null : "Dot"; // Default: no childs
|
|
6099
6132
|
if( isParent )
|
|
6100
6133
|
{
|
|
6101
|
-
icon = node.closed ? "
|
|
6102
|
-
|
|
6134
|
+
icon = node.closed ? "Right" : "Down";
|
|
6135
|
+
}
|
|
6136
|
+
|
|
6137
|
+
if( icon )
|
|
6138
|
+
{
|
|
6139
|
+
item.appendChild( LX.makeIcon( icon, { iconClass: "hierarchy", svgClass: "xs" } ) );
|
|
6103
6140
|
}
|
|
6104
6141
|
|
|
6105
6142
|
// Add display icon
|
|
6106
6143
|
icon = node.icon;
|
|
6107
6144
|
|
|
6108
6145
|
// Process icon
|
|
6109
|
-
if(
|
|
6146
|
+
if( icon )
|
|
6110
6147
|
{
|
|
6111
|
-
if( node.icon.includes( '
|
|
6112
|
-
|
|
6148
|
+
if( !node.icon.includes( '.' ) ) // Not a file
|
|
6149
|
+
{
|
|
6150
|
+
const classes = node.icon.split( ' ' );
|
|
6151
|
+
const nodeIcon = LX.makeIcon( classes[ 0 ], { iconClass: "tree-item-icon mr-2", svgClass: "md" + ( classes.length > 1 ? ` ${ classes.slice( 0 ).join( ' ' ) }` : '' ) } );
|
|
6152
|
+
item.appendChild( nodeIcon );
|
|
6153
|
+
}
|
|
6113
6154
|
else // an image..
|
|
6114
6155
|
{
|
|
6115
6156
|
const rootPath = "https://raw.githubusercontent.com/jxarco/lexgui.js/master/";
|
|
@@ -6458,40 +6499,33 @@ class NodeTree {
|
|
|
6458
6499
|
{
|
|
6459
6500
|
for( let i = 0; i < node.actions.length; ++i )
|
|
6460
6501
|
{
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
actionEl.addEventListener("click", function( e ) {
|
|
6466
|
-
if( a.callback )
|
|
6502
|
+
const action = node.actions[ i ];
|
|
6503
|
+
const actionIcon = LX.makeIcon( action.icon, { title: action.name } );
|
|
6504
|
+
actionIcon.addEventListener("click", function( e ) {
|
|
6505
|
+
if( action.callback )
|
|
6467
6506
|
{
|
|
6468
|
-
|
|
6507
|
+
action.callback( node, actionIcon );
|
|
6469
6508
|
e.stopPropagation();
|
|
6470
6509
|
}
|
|
6471
6510
|
});
|
|
6472
6511
|
|
|
6473
|
-
inputContainer.appendChild(
|
|
6512
|
+
inputContainer.appendChild( actionIcon );
|
|
6474
6513
|
}
|
|
6475
6514
|
}
|
|
6476
6515
|
|
|
6477
6516
|
if( !node.skipVisibility ?? false )
|
|
6478
6517
|
{
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
visibility.title = "Toggle visible";
|
|
6482
|
-
visibility.addEventListener("click", function( e ) {
|
|
6483
|
-
e.stopPropagation();
|
|
6518
|
+
const visibilityBtn = new Button( null, "", ( swapValue, event ) => {
|
|
6519
|
+
event.stopPropagation();
|
|
6484
6520
|
node.visible = node.visible === undefined ? false : !node.visible;
|
|
6485
|
-
this.className = "lexicon fa-solid fa-eye" + ( !node.visible ? "-slash" : "" );
|
|
6486
6521
|
// Trigger visibility event
|
|
6487
6522
|
if( that.onevent )
|
|
6488
6523
|
{
|
|
6489
6524
|
const event = new TreeEvent( TreeEvent.NODE_VISIBILITY, node, node.visible );
|
|
6490
6525
|
that.onevent( event );
|
|
6491
6526
|
}
|
|
6492
|
-
});
|
|
6493
|
-
|
|
6494
|
-
inputContainer.appendChild( visibility );
|
|
6527
|
+
}, { icon: node.visible ? "Eye" : "EyeOff", swap: node.visible ? "EyeOff" : "Eye", title: "Toggle visible", className: "p-0 m-0", buttonClass: "bg-none" } );
|
|
6528
|
+
inputContainer.appendChild( visibilityBtn.root );
|
|
6495
6529
|
}
|
|
6496
6530
|
|
|
6497
6531
|
const _hasChild = function( parent, id ) {
|
|
@@ -6606,9 +6640,8 @@ class Title extends Widget {
|
|
|
6606
6640
|
|
|
6607
6641
|
if( options.icon )
|
|
6608
6642
|
{
|
|
6609
|
-
let icon =
|
|
6610
|
-
icon.
|
|
6611
|
-
icon.style.color = options.iconColor || "";
|
|
6643
|
+
let icon = LX.makeIcon( options.icon, { iconClass: "mr-2" } );
|
|
6644
|
+
icon.querySelector( "svg" ).style.color = options.iconColor || "";
|
|
6612
6645
|
this.root.appendChild( icon );
|
|
6613
6646
|
}
|
|
6614
6647
|
|
|
@@ -6736,8 +6769,7 @@ class TextInput extends Widget {
|
|
|
6736
6769
|
if( options.icon )
|
|
6737
6770
|
{
|
|
6738
6771
|
wValue.style.paddingLeft = "1.75rem";
|
|
6739
|
-
|
|
6740
|
-
icon.className = "inputicon " + options.icon;
|
|
6772
|
+
const icon = LX.makeIcon( options.icon, { iconClass: "absolute z-1 ml-2", svgClass: "sm" } );
|
|
6741
6773
|
container.appendChild( icon );
|
|
6742
6774
|
}
|
|
6743
6775
|
|
|
@@ -6747,19 +6779,14 @@ class TextInput extends Widget {
|
|
|
6747
6779
|
wValue = document.createElement( 'a' );
|
|
6748
6780
|
wValue.href = options.url;
|
|
6749
6781
|
wValue.target = "_blank";
|
|
6750
|
-
|
|
6751
|
-
const icon = options.warning ? '<i class="fa-solid fa-triangle-exclamation"></i>' : '';
|
|
6752
|
-
wValue.innerHTML = ( icon + value ) || "";
|
|
6782
|
+
wValue.innerHTML = value ?? "";
|
|
6753
6783
|
wValue.style.textAlign = options.float ?? "";
|
|
6754
6784
|
wValue.className = "lextext ellipsis-overflow";
|
|
6755
6785
|
}
|
|
6756
6786
|
else
|
|
6757
6787
|
{
|
|
6758
6788
|
wValue = document.createElement( 'input' );
|
|
6759
|
-
|
|
6760
|
-
const icon = options.warning ? '<i class="fa-solid fa-triangle-exclamation"></i>' : '';
|
|
6761
6789
|
wValue.disabled = true;
|
|
6762
|
-
wValue.innerHTML = icon;
|
|
6763
6790
|
wValue.value = value;
|
|
6764
6791
|
wValue.style.textAlign = options.float ?? "";
|
|
6765
6792
|
wValue.className = "lextext ellipsis-overflow " + ( options.inputClass ?? "" );
|
|
@@ -6820,7 +6847,7 @@ class TextArea extends Widget {
|
|
|
6820
6847
|
wValue.style.textAlign = options.float ?? "";
|
|
6821
6848
|
Object.assign( wValue.style, options.style ?? {} );
|
|
6822
6849
|
|
|
6823
|
-
if( options.fitHeight )
|
|
6850
|
+
if( options.fitHeight ?? false )
|
|
6824
6851
|
{
|
|
6825
6852
|
wValue.classList.add( "size-content" );
|
|
6826
6853
|
}
|
|
@@ -6859,8 +6886,7 @@ class TextArea extends Widget {
|
|
|
6859
6886
|
|
|
6860
6887
|
if( options.icon )
|
|
6861
6888
|
{
|
|
6862
|
-
|
|
6863
|
-
icon.className = "inputicon " + options.icon;
|
|
6889
|
+
const icon = LX.makeIcon( options.icon, { iconClass: "absolute z-1 ml-2", svgClass: "sm" } );
|
|
6864
6890
|
container.appendChild( icon );
|
|
6865
6891
|
}
|
|
6866
6892
|
|
|
@@ -6890,12 +6916,31 @@ class Button extends Widget {
|
|
|
6890
6916
|
|
|
6891
6917
|
this.onSetValue = ( newValue, skipCallback, event ) => {
|
|
6892
6918
|
|
|
6893
|
-
if(
|
|
6919
|
+
if( ( options.swap ?? false ) )
|
|
6894
6920
|
{
|
|
6921
|
+
this.root.setState( newValue, skipCallback );
|
|
6895
6922
|
return;
|
|
6896
6923
|
}
|
|
6897
6924
|
|
|
6898
|
-
|
|
6925
|
+
// No-swap buttons
|
|
6926
|
+
|
|
6927
|
+
wValue.innerHTML = "";
|
|
6928
|
+
|
|
6929
|
+
if( options.icon )
|
|
6930
|
+
{
|
|
6931
|
+
const icon = LX.makeIcon( options.icon );
|
|
6932
|
+
wValue.prepend( icon );
|
|
6933
|
+
}
|
|
6934
|
+
else if( options.img )
|
|
6935
|
+
{
|
|
6936
|
+
let img = document.createElement( 'img' );
|
|
6937
|
+
img.src = options.img;
|
|
6938
|
+
wValue.prepend( img );
|
|
6939
|
+
}
|
|
6940
|
+
else
|
|
6941
|
+
{
|
|
6942
|
+
wValue.innerHTML = `<span>${ ( newValue ?? "" ) }</span>`;
|
|
6943
|
+
}
|
|
6899
6944
|
};
|
|
6900
6945
|
|
|
6901
6946
|
this.onResize = ( rect ) => {
|
|
@@ -6907,11 +6952,6 @@ class Button extends Widget {
|
|
|
6907
6952
|
wValue.title = options.tooltip ? "" : ( options.title ?? "" );
|
|
6908
6953
|
wValue.className = "lexbutton " + ( options.buttonClass ?? "" );
|
|
6909
6954
|
|
|
6910
|
-
if( options.icon )
|
|
6911
|
-
{
|
|
6912
|
-
wValue.classList.add( "justify-center" );
|
|
6913
|
-
}
|
|
6914
|
-
|
|
6915
6955
|
this.root.appendChild( wValue );
|
|
6916
6956
|
|
|
6917
6957
|
if( options.selected )
|
|
@@ -6921,20 +6961,9 @@ class Button extends Widget {
|
|
|
6921
6961
|
|
|
6922
6962
|
if( options.icon )
|
|
6923
6963
|
{
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
// @legacy
|
|
6927
|
-
if( options.icon.includes( "fa-" ) )
|
|
6928
|
-
{
|
|
6929
|
-
icon = document.createElement( 'a' );
|
|
6930
|
-
icon.className = options.icon + " lexicon";
|
|
6931
|
-
}
|
|
6932
|
-
else
|
|
6933
|
-
{
|
|
6934
|
-
icon = LX.makeIcon( options.icon );
|
|
6935
|
-
}
|
|
6936
|
-
|
|
6964
|
+
const icon = LX.makeIcon( options.icon );
|
|
6937
6965
|
wValue.prepend( icon );
|
|
6966
|
+
wValue.classList.add( "justify-center" );
|
|
6938
6967
|
}
|
|
6939
6968
|
else if( options.img )
|
|
6940
6969
|
{
|
|
@@ -6964,19 +6993,7 @@ class Button extends Widget {
|
|
|
6964
6993
|
input.type = "checkbox";
|
|
6965
6994
|
wValue.prepend( input );
|
|
6966
6995
|
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
// @legacy
|
|
6970
|
-
if( options.swap.includes( "fa-" ) )
|
|
6971
|
-
{
|
|
6972
|
-
swapIcon = document.createElement( 'a' );
|
|
6973
|
-
swapIcon.className = options.swap + " swap-on lexicon";
|
|
6974
|
-
}
|
|
6975
|
-
else
|
|
6976
|
-
{
|
|
6977
|
-
swapIcon = LX.makeIcon( options.swap, { iconClass: "swap-on" } );
|
|
6978
|
-
}
|
|
6979
|
-
|
|
6996
|
+
const swapIcon = LX.makeIcon( options.swap, { iconClass: "swap-on" } );
|
|
6980
6997
|
wValue.appendChild( swapIcon );
|
|
6981
6998
|
|
|
6982
6999
|
this.root.swap = function( skipCallback ) {
|
|
@@ -7070,13 +7087,21 @@ class ComboButtons extends Widget {
|
|
|
7070
7087
|
buttonEl.classList.add( options.buttonClass );
|
|
7071
7088
|
}
|
|
7072
7089
|
|
|
7073
|
-
if( shouldSelect && ( b.selected || options.selected
|
|
7090
|
+
if( shouldSelect && ( b.selected || options.selected?.includes( b.value ) ) )
|
|
7074
7091
|
{
|
|
7075
7092
|
buttonEl.classList.add("selected");
|
|
7076
7093
|
currentValue = ( currentValue ).concat( [ b.value ] );
|
|
7077
7094
|
}
|
|
7078
7095
|
|
|
7079
|
-
|
|
7096
|
+
if( b.icon )
|
|
7097
|
+
{
|
|
7098
|
+
const icon = LX.makeIcon( b.icon );
|
|
7099
|
+
buttonEl.appendChild( icon );
|
|
7100
|
+
}
|
|
7101
|
+
else
|
|
7102
|
+
{
|
|
7103
|
+
buttonEl.innerHTML = `<span>${ b.value }</span>`;
|
|
7104
|
+
}
|
|
7080
7105
|
|
|
7081
7106
|
if( b.disabled )
|
|
7082
7107
|
{
|
|
@@ -7111,7 +7136,7 @@ class ComboButtons extends Widget {
|
|
|
7111
7136
|
|
|
7112
7137
|
if( !shouldToggle && currentValue.length > 1 )
|
|
7113
7138
|
{
|
|
7114
|
-
console.error( `Enable _options.toggle_ to allow selecting multiple options in ComboButtons.` )
|
|
7139
|
+
console.error( `Enable _options.toggle_ to allow selecting multiple options in ComboButtons.` );
|
|
7115
7140
|
return;
|
|
7116
7141
|
}
|
|
7117
7142
|
|
|
@@ -7125,9 +7150,12 @@ class ComboButtons extends Widget {
|
|
|
7125
7150
|
|
|
7126
7151
|
if( currentValue.length > 1 )
|
|
7127
7152
|
{
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7153
|
+
if( !shouldToggle )
|
|
7154
|
+
{
|
|
7155
|
+
options.toggle = true;
|
|
7156
|
+
shouldToggle = shouldSelect;
|
|
7157
|
+
console.warn( `Multiple options selected in '${ name }' ComboButtons. Enabling _toggle_ mode.` );
|
|
7158
|
+
}
|
|
7131
7159
|
}
|
|
7132
7160
|
else
|
|
7133
7161
|
{
|
|
@@ -7410,10 +7438,6 @@ class Select extends Widget {
|
|
|
7410
7438
|
wValue.name = name;
|
|
7411
7439
|
wValue.iValue = value;
|
|
7412
7440
|
|
|
7413
|
-
// Add select widget button
|
|
7414
|
-
let buttonName = value;
|
|
7415
|
-
buttonName += "<a class='fa-solid fa-angle-down'></a>";
|
|
7416
|
-
|
|
7417
7441
|
if( options.overflowContainer )
|
|
7418
7442
|
{
|
|
7419
7443
|
options.overflowContainerX = options.overflowContainerY = options.overflowContainer;
|
|
@@ -7488,7 +7512,7 @@ class Select extends Widget {
|
|
|
7488
7512
|
}
|
|
7489
7513
|
};
|
|
7490
7514
|
|
|
7491
|
-
let selectedOption = new Button( null,
|
|
7515
|
+
let selectedOption = new Button( null, value, ( value, event ) => {
|
|
7492
7516
|
if( list.unfocus_event )
|
|
7493
7517
|
{
|
|
7494
7518
|
delete list.unfocus_event;
|
|
@@ -7515,9 +7539,10 @@ class Select extends Widget {
|
|
|
7515
7539
|
|
|
7516
7540
|
}, { buttonClass: "array", skipInlineCount: true, disabled: options.disabled } );
|
|
7517
7541
|
|
|
7518
|
-
container.appendChild( selectedOption.root );
|
|
7519
|
-
|
|
7520
7542
|
selectedOption.root.style.width = "100%";
|
|
7543
|
+
selectedOption.root.querySelector( "span" ).appendChild( LX.makeIcon( "Down", { svgClass: "sm" } ) );
|
|
7544
|
+
|
|
7545
|
+
container.appendChild( selectedOption.root );
|
|
7521
7546
|
|
|
7522
7547
|
selectedOption.refresh = (v) => {
|
|
7523
7548
|
const buttonSpan = selectedOption.root.querySelector("span");
|
|
@@ -7568,7 +7593,7 @@ class Select extends Widget {
|
|
|
7568
7593
|
filterOptions.placeholder = filterOptions.placeholder ?? "Search...";
|
|
7569
7594
|
filterOptions.skipWidget = filterOptions.skipWidget ?? true;
|
|
7570
7595
|
filterOptions.trigger = "input";
|
|
7571
|
-
filterOptions.icon = "
|
|
7596
|
+
filterOptions.icon = "Search";
|
|
7572
7597
|
filterOptions.className = "lexfilter";
|
|
7573
7598
|
filterOptions.inputClass = "outline";
|
|
7574
7599
|
|
|
@@ -7640,7 +7665,8 @@ class Select extends Widget {
|
|
|
7640
7665
|
|
|
7641
7666
|
if( !asLabel )
|
|
7642
7667
|
{
|
|
7643
|
-
option.innerHTML =
|
|
7668
|
+
option.innerHTML = `<span>${ iValue }</span>`;
|
|
7669
|
+
option.appendChild( LX.makeIcon( "Check" ) )
|
|
7644
7670
|
option.value = iValue;
|
|
7645
7671
|
li.setAttribute( "value", iValue );
|
|
7646
7672
|
|
|
@@ -7946,23 +7972,19 @@ class ItemArray extends Widget {
|
|
|
7946
7972
|
|
|
7947
7973
|
// Add open array button
|
|
7948
7974
|
|
|
7949
|
-
|
|
7950
|
-
|
|
7951
|
-
var container = document.createElement('div');
|
|
7975
|
+
let container = document.createElement( "div" );
|
|
7952
7976
|
container.className = "lexarray";
|
|
7953
7977
|
container.style.width = "100%";
|
|
7954
7978
|
this.root.appendChild( container );
|
|
7955
7979
|
this.root.dataset["opened"] = false;
|
|
7956
7980
|
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
let buttonName = "Array (size " + values.length + ")";
|
|
7960
|
-
buttonName += angleDown;
|
|
7981
|
+
let buttonName = `Array (size ${ values.length })`;
|
|
7961
7982
|
|
|
7962
7983
|
const toggleButton = new Button(null, buttonName, () => {
|
|
7963
7984
|
this.root.dataset["opened"] = this.root.dataset["opened"] == "true" ? false : true;
|
|
7964
|
-
this.root.querySelector(".lexarrayitems").toggleAttribute(
|
|
7965
|
-
}, { buttonClass:
|
|
7985
|
+
this.root.querySelector(".lexarrayitems").toggleAttribute( "hidden" );
|
|
7986
|
+
}, { buttonClass: "array" });
|
|
7987
|
+
toggleButton.root.querySelector( "span" ).appendChild( LX.makeIcon( "Down", { svgClass: "sm" } ) );
|
|
7966
7988
|
container.appendChild( toggleButton.root );
|
|
7967
7989
|
|
|
7968
7990
|
// Show elements
|
|
@@ -7975,9 +7997,11 @@ class ItemArray extends Widget {
|
|
|
7975
7997
|
this._updateItems = () => {
|
|
7976
7998
|
|
|
7977
7999
|
// Update num items
|
|
7978
|
-
let
|
|
7979
|
-
|
|
7980
|
-
|
|
8000
|
+
let buttonSpan = this.root.querySelector(".lexbutton.array span");
|
|
8001
|
+
for( let node of buttonSpan.childNodes )
|
|
8002
|
+
{
|
|
8003
|
+
if ( node.nodeType === Node.TEXT_NODE ) { node.textContent = `Array (size ${ values.length })`; break; }
|
|
8004
|
+
}
|
|
7981
8005
|
|
|
7982
8006
|
// Update inputs
|
|
7983
8007
|
arrayItems.innerHTML = "";
|
|
@@ -7994,19 +8018,19 @@ class ItemArray extends Widget {
|
|
|
7994
8018
|
widget = new TextInput(i + "", value, function(value, event) {
|
|
7995
8019
|
values[ i ] = value;
|
|
7996
8020
|
callback( values );
|
|
7997
|
-
}, { nameWidth:
|
|
8021
|
+
}, { nameWidth: "12px", className: "p-0", skipReset: true });
|
|
7998
8022
|
break;
|
|
7999
8023
|
case Number:
|
|
8000
8024
|
widget = new NumberInput(i + "", value, function(value, event) {
|
|
8001
8025
|
values[ i ] = value;
|
|
8002
8026
|
callback( values );
|
|
8003
|
-
}, { nameWidth:
|
|
8027
|
+
}, { nameWidth: "12px", className: "p-0", skipReset: true });
|
|
8004
8028
|
break;
|
|
8005
8029
|
case 'select':
|
|
8006
8030
|
widget = new Select(i + "", options.innerValues, value, function(value, event) {
|
|
8007
8031
|
values[ i ] = value;
|
|
8008
8032
|
callback( values );
|
|
8009
|
-
}, { nameWidth:
|
|
8033
|
+
}, { nameWidth: "12px", className: "p-0", skipReset: true });
|
|
8010
8034
|
break;
|
|
8011
8035
|
}
|
|
8012
8036
|
|
|
@@ -8014,19 +8038,16 @@ class ItemArray extends Widget {
|
|
|
8014
8038
|
|
|
8015
8039
|
arrayItems.appendChild( widget.root );
|
|
8016
8040
|
|
|
8017
|
-
const removeWidget = new Button( null, "
|
|
8041
|
+
const removeWidget = new Button( null, "", ( v, event) => {
|
|
8018
8042
|
values.splice( values.indexOf( value ), 1 );
|
|
8019
8043
|
this._updateItems();
|
|
8020
8044
|
this._trigger( new IEvent(name, values, event), callback );
|
|
8021
|
-
}, { title: "Remove item",
|
|
8045
|
+
}, { title: "Remove item", icon: "Trash3"} );
|
|
8022
8046
|
|
|
8023
8047
|
widget.root.appendChild( removeWidget.root );
|
|
8024
8048
|
}
|
|
8025
8049
|
|
|
8026
|
-
|
|
8027
|
-
buttonName += "<a class='fa-solid fa-plus'></a>";
|
|
8028
|
-
|
|
8029
|
-
const addButton = new Button(null, buttonName, (v, event) => {
|
|
8050
|
+
const addButton = new Button(null, LX.makeIcon( "Plus", { svgClass: "sm" } ).innerHTML + "Add item", (v, event) => {
|
|
8030
8051
|
values.push( options.innerValues ? options.innerValues[ 0 ] : "" );
|
|
8031
8052
|
this._updateItems();
|
|
8032
8053
|
this._trigger( new IEvent(name, values, event), callback );
|
|
@@ -8108,7 +8129,13 @@ class List extends Widget {
|
|
|
8108
8129
|
|
|
8109
8130
|
let listElement = document.createElement( 'div' );
|
|
8110
8131
|
listElement.className = "lexlistitem" + ( value == itemValue ? " selected" : "" );
|
|
8111
|
-
|
|
8132
|
+
|
|
8133
|
+
if( icon )
|
|
8134
|
+
{
|
|
8135
|
+
listElement.appendChild( LX.makeIcon( icon ) );
|
|
8136
|
+
}
|
|
8137
|
+
|
|
8138
|
+
listElement.innerHTML += `<span>${ itemValue }</span>`;
|
|
8112
8139
|
|
|
8113
8140
|
listElement.addEventListener( 'click', e => {
|
|
8114
8141
|
listContainer.querySelectorAll( '.lexlistitem' ).forEach( e => e.classList.remove( 'selected' ) );
|
|
@@ -8184,8 +8211,7 @@ class Tags extends Widget {
|
|
|
8184
8211
|
tag.className = "lextag";
|
|
8185
8212
|
tag.innerHTML = tagName;
|
|
8186
8213
|
|
|
8187
|
-
const removeButton =
|
|
8188
|
-
removeButton.className = "lextagrmb fa-solid fa-xmark lexicon";
|
|
8214
|
+
const removeButton = LX.makeIcon( "X", { svgClass: "sm" } );
|
|
8189
8215
|
tag.appendChild( removeButton );
|
|
8190
8216
|
|
|
8191
8217
|
removeButton.addEventListener( 'click', e => {
|
|
@@ -8480,6 +8506,8 @@ class ColorInput extends Widget {
|
|
|
8480
8506
|
|
|
8481
8507
|
constructor( name, value, callback, options = {} ) {
|
|
8482
8508
|
|
|
8509
|
+
value = value ?? "#000000";
|
|
8510
|
+
|
|
8483
8511
|
const useAlpha = options.useAlpha ??
|
|
8484
8512
|
( ( value.constructor === Object && 'a' in value ) || ( value.constructor === String && [ 5, 9 ].includes( value.length ) ) );
|
|
8485
8513
|
|
|
@@ -8726,11 +8754,6 @@ class NumberInput extends Widget {
|
|
|
8726
8754
|
box.querySelector( ".lexinputslider" ).value = value;
|
|
8727
8755
|
}
|
|
8728
8756
|
|
|
8729
|
-
if( options.units )
|
|
8730
|
-
{
|
|
8731
|
-
vecinput.unitSpan.style.left = measureRealWidth( value ) + "px";
|
|
8732
|
-
}
|
|
8733
|
-
|
|
8734
8757
|
if( !skipCallback )
|
|
8735
8758
|
{
|
|
8736
8759
|
this._trigger( new IEvent( name, value, event ), callback );
|
|
@@ -8750,6 +8773,8 @@ class NumberInput extends Widget {
|
|
|
8750
8773
|
box.className = "numberbox";
|
|
8751
8774
|
container.appendChild( box );
|
|
8752
8775
|
|
|
8776
|
+
let valueBox = LX.makeContainer( [ "auto", "100%" ], "relative flex flex-row", "", box );
|
|
8777
|
+
|
|
8753
8778
|
let vecinput = document.createElement( 'input' );
|
|
8754
8779
|
vecinput.id = "number_" + simple_guidGenerator();
|
|
8755
8780
|
vecinput.className = "vecinput";
|
|
@@ -8765,22 +8790,17 @@ class NumberInput extends Widget {
|
|
|
8765
8790
|
}
|
|
8766
8791
|
|
|
8767
8792
|
vecinput.value = vecinput.iValue = value;
|
|
8768
|
-
|
|
8793
|
+
valueBox.appendChild( vecinput );
|
|
8794
|
+
|
|
8795
|
+
const dragIcon = LX.makeIcon( "MoveVertical", { iconClass: "drag-icon hidden-opacity", svgClass: "sm" } );
|
|
8796
|
+
valueBox.appendChild( dragIcon );
|
|
8769
8797
|
|
|
8770
8798
|
if( options.units )
|
|
8771
8799
|
{
|
|
8772
|
-
let
|
|
8773
|
-
|
|
8774
|
-
unitSpan.innerText = options.units;
|
|
8775
|
-
unitSpan.style.left = measureRealWidth( vecinput.value ) + "px";
|
|
8776
|
-
vecinput.unitSpan = unitSpan;
|
|
8777
|
-
box.appendChild( unitSpan );
|
|
8800
|
+
let unitBox = LX.makeContainer( [ "auto", "auto" ], "px-2 bg-secondary content-center", options.units, valueBox );
|
|
8801
|
+
vecinput.unitBox = unitBox;
|
|
8778
8802
|
}
|
|
8779
8803
|
|
|
8780
|
-
let dragIcon = document.createElement( 'a' );
|
|
8781
|
-
dragIcon.className = "fa-solid fa-arrows-up-down drag-icon hidden";
|
|
8782
|
-
box.appendChild( dragIcon );
|
|
8783
|
-
|
|
8784
8804
|
if( options.disabled )
|
|
8785
8805
|
{
|
|
8786
8806
|
vecinput.disabled = true;
|
|
@@ -8789,6 +8809,7 @@ class NumberInput extends Widget {
|
|
|
8789
8809
|
// Add slider below
|
|
8790
8810
|
if( !options.skipSlider && options.min !== undefined && options.max !== undefined )
|
|
8791
8811
|
{
|
|
8812
|
+
let sliderBox = LX.makeContainer( [ "100%", "auto" ], "", "", box );
|
|
8792
8813
|
let slider = document.createElement( 'input' );
|
|
8793
8814
|
slider.className = "lexinputslider";
|
|
8794
8815
|
slider.min = options.min;
|
|
@@ -8815,7 +8836,7 @@ class NumberInput extends Widget {
|
|
|
8815
8836
|
}
|
|
8816
8837
|
}, false );
|
|
8817
8838
|
|
|
8818
|
-
|
|
8839
|
+
sliderBox.appendChild( slider );
|
|
8819
8840
|
|
|
8820
8841
|
// Method to change min, max, step parameters
|
|
8821
8842
|
this.setLimits = ( newMin, newMax, newStep ) => {
|
|
@@ -8830,10 +8851,6 @@ class NumberInput extends Widget {
|
|
|
8830
8851
|
vecinput.addEventListener( "input", function( e ) {
|
|
8831
8852
|
value = +this.valueAsNumber;
|
|
8832
8853
|
value = round( value, options.precision );
|
|
8833
|
-
if( options.units )
|
|
8834
|
-
{
|
|
8835
|
-
vecinput.unitSpan.style.left = measureRealWidth( vecinput.value ) + "px";
|
|
8836
|
-
}
|
|
8837
8854
|
}, false );
|
|
8838
8855
|
|
|
8839
8856
|
vecinput.addEventListener( "wheel", e => {
|
|
@@ -8868,7 +8885,7 @@ class NumberInput extends Widget {
|
|
|
8868
8885
|
doc.addEventListener( 'mousemove', innerMouseMove );
|
|
8869
8886
|
doc.addEventListener( 'mouseup', innerMouseUp );
|
|
8870
8887
|
document.body.classList.add( 'noevents' );
|
|
8871
|
-
dragIcon.classList.remove( 'hidden' );
|
|
8888
|
+
dragIcon.classList.remove( 'hidden-opacity' );
|
|
8872
8889
|
e.stopImmediatePropagation();
|
|
8873
8890
|
e.stopPropagation();
|
|
8874
8891
|
|
|
@@ -8906,7 +8923,7 @@ class NumberInput extends Widget {
|
|
|
8906
8923
|
doc.removeEventListener( 'mousemove', innerMouseMove );
|
|
8907
8924
|
doc.removeEventListener( 'mouseup', innerMouseUp );
|
|
8908
8925
|
document.body.classList.remove( 'noevents' );
|
|
8909
|
-
dragIcon.classList.add( 'hidden' );
|
|
8926
|
+
dragIcon.classList.add( 'hidden-opacity' );
|
|
8910
8927
|
|
|
8911
8928
|
if( document.pointerLockElement )
|
|
8912
8929
|
{
|
|
@@ -9001,6 +9018,7 @@ class Vector extends Widget {
|
|
|
9001
9018
|
vecinput.id = "vec" + numComponents + "_" + simple_guidGenerator();
|
|
9002
9019
|
vecinput.idx = i;
|
|
9003
9020
|
vectorInputs[ i ] = vecinput;
|
|
9021
|
+
box.appendChild( vecinput );
|
|
9004
9022
|
|
|
9005
9023
|
if( value[ i ].constructor == Number )
|
|
9006
9024
|
{
|
|
@@ -9010,8 +9028,7 @@ class Vector extends Widget {
|
|
|
9010
9028
|
|
|
9011
9029
|
vecinput.value = vecinput.iValue = value[ i ];
|
|
9012
9030
|
|
|
9013
|
-
|
|
9014
|
-
dragIcon.className = "fa-solid fa-arrows-up-down drag-icon hidden";
|
|
9031
|
+
const dragIcon = LX.makeIcon( "MoveVertical", { iconClass: "drag-icon hidden-opacity", svgClass: "sm" } );
|
|
9015
9032
|
box.appendChild( dragIcon );
|
|
9016
9033
|
|
|
9017
9034
|
if( options.disabled )
|
|
@@ -9028,7 +9045,7 @@ class Vector extends Widget {
|
|
|
9028
9045
|
if( e.shiftKey ) mult = 10;
|
|
9029
9046
|
else if( e.altKey ) mult = 0.1;
|
|
9030
9047
|
|
|
9031
|
-
if(
|
|
9048
|
+
if( lockerButton.locked )
|
|
9032
9049
|
{
|
|
9033
9050
|
for( let v of that.querySelectorAll(".vecinput") )
|
|
9034
9051
|
{
|
|
@@ -9053,7 +9070,7 @@ class Vector extends Widget {
|
|
|
9053
9070
|
let val = clamp( e.target.value, +vecinput.min, +vecinput.max );
|
|
9054
9071
|
val = round( val, options.precision );
|
|
9055
9072
|
|
|
9056
|
-
if(
|
|
9073
|
+
if( lockerButton.locked )
|
|
9057
9074
|
{
|
|
9058
9075
|
for( let v of vectorInputs )
|
|
9059
9076
|
{
|
|
@@ -9083,7 +9100,7 @@ class Vector extends Widget {
|
|
|
9083
9100
|
doc.addEventListener( 'mousemove', innerMouseMove );
|
|
9084
9101
|
doc.addEventListener( 'mouseup', innerMouseUp );
|
|
9085
9102
|
document.body.classList.add( 'noevents' );
|
|
9086
|
-
dragIcon.classList.remove( 'hidden' );
|
|
9103
|
+
dragIcon.classList.remove( 'hidden-opacity' );
|
|
9087
9104
|
e.stopImmediatePropagation();
|
|
9088
9105
|
e.stopPropagation();
|
|
9089
9106
|
|
|
@@ -9108,9 +9125,9 @@ class Vector extends Widget {
|
|
|
9108
9125
|
if( e.shiftKey ) mult = 10;
|
|
9109
9126
|
else if( e.altKey ) mult = 0.1;
|
|
9110
9127
|
|
|
9111
|
-
if(
|
|
9128
|
+
if( lockerButton.locked )
|
|
9112
9129
|
{
|
|
9113
|
-
for( let v of
|
|
9130
|
+
for( let v of that.root.querySelectorAll( ".vecinput" ) )
|
|
9114
9131
|
{
|
|
9115
9132
|
v.value = round( +v.valueAsNumber + mult * dt, options.precision );
|
|
9116
9133
|
Widget._dispatchEvent( v, "change" );
|
|
@@ -9133,7 +9150,7 @@ class Vector extends Widget {
|
|
|
9133
9150
|
doc.removeEventListener( 'mousemove', innerMouseMove );
|
|
9134
9151
|
doc.removeEventListener( 'mouseup', innerMouseUp );
|
|
9135
9152
|
document.body.classList.remove( 'noevents' );
|
|
9136
|
-
dragIcon.classList.add('hidden');
|
|
9153
|
+
dragIcon.classList.add('hidden-opacity');
|
|
9137
9154
|
|
|
9138
9155
|
if( document.pointerLockElement )
|
|
9139
9156
|
{
|
|
@@ -9147,8 +9164,6 @@ class Vector extends Widget {
|
|
|
9147
9164
|
}
|
|
9148
9165
|
|
|
9149
9166
|
vecinput.addEventListener( "mousedown", innerMouseDown );
|
|
9150
|
-
|
|
9151
|
-
box.appendChild( vecinput );
|
|
9152
9167
|
container.appendChild( box );
|
|
9153
9168
|
}
|
|
9154
9169
|
|
|
@@ -9167,23 +9182,10 @@ class Vector extends Widget {
|
|
|
9167
9182
|
};
|
|
9168
9183
|
}
|
|
9169
9184
|
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
container.appendChild(
|
|
9174
|
-
locker.addEventListener( "click", function( e ) {
|
|
9175
|
-
this.locked = !this.locked;
|
|
9176
|
-
if( this.locked )
|
|
9177
|
-
{
|
|
9178
|
-
this.classList.add( "fa-lock" );
|
|
9179
|
-
this.classList.remove( "fa-lock-open" );
|
|
9180
|
-
}
|
|
9181
|
-
else
|
|
9182
|
-
{
|
|
9183
|
-
this.classList.add( "fa-lock-open" );
|
|
9184
|
-
this.classList.remove( "fa-lock" );
|
|
9185
|
-
}
|
|
9186
|
-
}, false );
|
|
9185
|
+
const lockerButton = new Button( null, "", (swapValue) => {
|
|
9186
|
+
lockerButton.locked = swapValue;
|
|
9187
|
+
}, { title: "Lock", icon: "LockOpen", swap: "Lock", buttonClass: "bg-none p-0" } );
|
|
9188
|
+
container.appendChild( lockerButton.root );
|
|
9187
9189
|
|
|
9188
9190
|
doAsync( this.onResize.bind( this ) );
|
|
9189
9191
|
}
|
|
@@ -9241,22 +9243,21 @@ class SizeInput extends Widget {
|
|
|
9241
9243
|
callback( value );
|
|
9242
9244
|
}
|
|
9243
9245
|
|
|
9244
|
-
}, { min: 0, disabled: options.disabled, precision: options.precision } );
|
|
9246
|
+
}, { min: 0, disabled: options.disabled, precision: options.precision, className: "flex-fill" } );
|
|
9245
9247
|
|
|
9246
9248
|
this.root.appendChild( this.root.dimensions[ i ].root );
|
|
9247
9249
|
|
|
9248
9250
|
if( ( i + 1 ) != value.length )
|
|
9249
9251
|
{
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
this.root.appendChild( cross );
|
|
9252
|
+
const xIcon = LX.makeIcon( "X", { svgClass: "fg-accent font-bold" } );
|
|
9253
|
+
this.root.appendChild( xIcon );
|
|
9253
9254
|
}
|
|
9254
9255
|
}
|
|
9255
9256
|
|
|
9256
9257
|
if( options.units )
|
|
9257
9258
|
{
|
|
9258
9259
|
let unitSpan = document.createElement( 'span' );
|
|
9259
|
-
unitSpan.className = "
|
|
9260
|
+
unitSpan.className = "select-none fg-tertiary font-medium";
|
|
9260
9261
|
unitSpan.innerText = options.units;
|
|
9261
9262
|
this.root.appendChild( unitSpan );
|
|
9262
9263
|
}
|
|
@@ -9264,27 +9265,16 @@ class SizeInput extends Widget {
|
|
|
9264
9265
|
// Lock aspect ratio
|
|
9265
9266
|
if( this.root.aspectRatio )
|
|
9266
9267
|
{
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
this.root.appendChild( locker );
|
|
9271
|
-
locker.addEventListener( "click", e => {
|
|
9272
|
-
this.root.locked = !this.root.locked;
|
|
9273
|
-
if( this.root.locked )
|
|
9268
|
+
const lockerButton = new Button( null, "", (swapValue) => {
|
|
9269
|
+
this.root.locked = swapValue;
|
|
9270
|
+
if( swapValue )
|
|
9274
9271
|
{
|
|
9275
|
-
locker.classList.add( "fa-lock" );
|
|
9276
|
-
locker.classList.remove( "fa-lock-open" );
|
|
9277
|
-
|
|
9278
9272
|
// Recompute ratio
|
|
9279
9273
|
const value = this.value();
|
|
9280
9274
|
this.root.aspectRatio = value[ 0 ] / value[ 1 ];
|
|
9281
9275
|
}
|
|
9282
|
-
|
|
9283
|
-
|
|
9284
|
-
locker.classList.add( "fa-lock-open" );
|
|
9285
|
-
locker.classList.remove( "fa-lock" );
|
|
9286
|
-
}
|
|
9287
|
-
}, false );
|
|
9276
|
+
}, { title: "Lock Aspect Ratio", icon: "LockOpen", swap: "Lock", buttonClass: "bg-none p-0" } );
|
|
9277
|
+
this.root.appendChild( lockerButton.root );
|
|
9288
9278
|
}
|
|
9289
9279
|
}
|
|
9290
9280
|
}
|
|
@@ -9646,7 +9636,7 @@ class Progress extends Widget {
|
|
|
9646
9636
|
container.appendChild( span );
|
|
9647
9637
|
}
|
|
9648
9638
|
|
|
9649
|
-
if( options.editable )
|
|
9639
|
+
if( options.editable ?? false )
|
|
9650
9640
|
{
|
|
9651
9641
|
progress.classList.add( "editable" );
|
|
9652
9642
|
|
|
@@ -9779,7 +9769,7 @@ class FileInput extends Widget {
|
|
|
9779
9769
|
p.addButton( null, "Reload", v => { input.dispatchEvent( new Event( 'change' ) ) } );
|
|
9780
9770
|
}, { onclose: ( root ) => { root.remove(); settingsDialog = null; } } );
|
|
9781
9771
|
|
|
9782
|
-
}, { skipInlineCount: true, title: "Settings", disabled: options.disabled, icon: "
|
|
9772
|
+
}, { skipInlineCount: true, title: "Settings", disabled: options.disabled, icon: "Settings" });
|
|
9783
9773
|
|
|
9784
9774
|
this.root.appendChild( settingButton.root );
|
|
9785
9775
|
}
|
|
@@ -9826,10 +9816,8 @@ class Tree extends Widget {
|
|
|
9826
9816
|
{
|
|
9827
9817
|
for( let data of options.icons )
|
|
9828
9818
|
{
|
|
9829
|
-
|
|
9830
|
-
iconEl.
|
|
9831
|
-
iconEl.className = "lexicon " + data.icon;
|
|
9832
|
-
iconEl.addEventListener("click", data.callback);
|
|
9819
|
+
const iconEl = LX.makeIcon( data.icon, { title: data.name } );
|
|
9820
|
+
iconEl.addEventListener( "click", data.callback );
|
|
9833
9821
|
toolsDiv.appendChild( iconEl );
|
|
9834
9822
|
}
|
|
9835
9823
|
}
|
|
@@ -9841,16 +9829,15 @@ class Tree extends Widget {
|
|
|
9841
9829
|
let nodeFilterInput = null;
|
|
9842
9830
|
if( options.filter )
|
|
9843
9831
|
{
|
|
9844
|
-
nodeFilterInput = document.createElement(
|
|
9845
|
-
nodeFilterInput.className = "
|
|
9832
|
+
nodeFilterInput = document.createElement( "input" );
|
|
9833
|
+
nodeFilterInput.className = "lexnodetreefilter";
|
|
9846
9834
|
nodeFilterInput.setAttribute("placeholder", "Filter..");
|
|
9847
9835
|
nodeFilterInput.style.width = "100%";
|
|
9848
9836
|
nodeFilterInput.addEventListener('input', () => {
|
|
9849
9837
|
this.innerTree.refresh();
|
|
9850
9838
|
});
|
|
9851
9839
|
|
|
9852
|
-
let searchIcon =
|
|
9853
|
-
searchIcon.className = "lexicon fa-solid fa-magnifying-glass";
|
|
9840
|
+
let searchIcon = LX.makeIcon( "Search" );
|
|
9854
9841
|
toolsDiv.appendChild( nodeFilterInput );
|
|
9855
9842
|
toolsDiv.appendChild( searchIcon );
|
|
9856
9843
|
}
|
|
@@ -9915,8 +9902,8 @@ class TabSections extends Widget {
|
|
|
9915
9902
|
const isSelected = ( i == 0 );
|
|
9916
9903
|
let tabEl = document.createElement( "div" );
|
|
9917
9904
|
tabEl.className = "lextab " + (i == tabs.length - 1 ? "last" : "") + ( isSelected ? "selected" : "" );
|
|
9918
|
-
tabEl.innerHTML = ( showNames ? tab.name : "" )
|
|
9919
|
-
tabEl.
|
|
9905
|
+
tabEl.innerHTML = ( showNames ? tab.name : "" );
|
|
9906
|
+
tabEl.appendChild( LX.makeIcon( tab.icon ?? "Hash", { title: tab.name } ) );
|
|
9920
9907
|
|
|
9921
9908
|
let infoContainer = document.createElement( "div" );
|
|
9922
9909
|
infoContainer.id = tab.name.replace( /\s/g, '' );
|
|
@@ -9998,7 +9985,7 @@ class Counter extends Widget {
|
|
|
9998
9985
|
let mult = step ?? 1;
|
|
9999
9986
|
if( e.shiftKey ) mult *= 10;
|
|
10000
9987
|
this.set( counterText.count - mult, false, e );
|
|
10001
|
-
}, { skipInlineCount: true, title: "Minus", icon: "
|
|
9988
|
+
}, { skipInlineCount: true, title: "Minus", icon: "Minus" });
|
|
10002
9989
|
|
|
10003
9990
|
container.appendChild( substrButton.root );
|
|
10004
9991
|
|
|
@@ -10024,7 +10011,7 @@ class Counter extends Widget {
|
|
|
10024
10011
|
let mult = step ?? 1;
|
|
10025
10012
|
if( e.shiftKey ) mult *= 10;
|
|
10026
10013
|
this.set( counterText.count + mult, false, e );
|
|
10027
|
-
}, { skipInlineCount: true, title: "Plus", icon: "
|
|
10014
|
+
}, { skipInlineCount: true, title: "Plus", icon: "Plus" });
|
|
10028
10015
|
container.appendChild( addButton.root );
|
|
10029
10016
|
}
|
|
10030
10017
|
}
|
|
@@ -10108,7 +10095,7 @@ class Table extends Widget {
|
|
|
10108
10095
|
|
|
10109
10096
|
if( this.customFilters )
|
|
10110
10097
|
{
|
|
10111
|
-
const icon = LX.makeIcon( "
|
|
10098
|
+
const icon = LX.makeIcon( "CirclePlus", { svgClass: "sm" } );
|
|
10112
10099
|
|
|
10113
10100
|
for( let f of this.customFilters )
|
|
10114
10101
|
{
|
|
@@ -10118,7 +10105,7 @@ class Table extends Widget {
|
|
|
10118
10105
|
const item = {
|
|
10119
10106
|
name: colName,
|
|
10120
10107
|
checked: !!this.activeCustomFilters[ colName ],
|
|
10121
|
-
callback: (key,
|
|
10108
|
+
callback: (key, v, dom) => {
|
|
10122
10109
|
if( v ) { this.activeCustomFilters[ key ] = f.name; }
|
|
10123
10110
|
else {
|
|
10124
10111
|
delete this.activeCustomFilters[ key ];
|
|
@@ -10137,19 +10124,19 @@ class Table extends Widget {
|
|
|
10137
10124
|
this.activeCustomFilters = {};
|
|
10138
10125
|
this.refresh();
|
|
10139
10126
|
this._resetCustomFiltersBtn.root.classList.add( "hidden" );
|
|
10140
|
-
}, { title: "Reset filters", icon: "
|
|
10127
|
+
}, { title: "Reset filters", icon: "X" } );
|
|
10141
10128
|
headerContainer.appendChild( this._resetCustomFiltersBtn.root );
|
|
10142
10129
|
this._resetCustomFiltersBtn.root.classList.add( "hidden" );
|
|
10143
10130
|
}
|
|
10144
10131
|
|
|
10145
10132
|
if( this.toggleColumns )
|
|
10146
10133
|
{
|
|
10147
|
-
const icon = LX.makeIcon( "
|
|
10134
|
+
const icon = LX.makeIcon( "Settings2" );
|
|
10148
10135
|
const toggleColumnsBtn = new Button( "toggleColumnsBtn", icon.innerHTML + "View", (value, e) => {
|
|
10149
10136
|
const menuOptions = data.head.map( ( colName, idx ) => {
|
|
10150
10137
|
const item = {
|
|
10151
10138
|
name: colName,
|
|
10152
|
-
icon: "
|
|
10139
|
+
icon: "Check",
|
|
10153
10140
|
callback: () => {
|
|
10154
10141
|
data.colVisibilityMap[ idx ] = !data.colVisibilityMap[ idx ];
|
|
10155
10142
|
const cells = table.querySelectorAll(`tr > *:nth-child(${idx + this.rowOffsetCount + 1})`);
|
|
@@ -10189,7 +10176,7 @@ class Table extends Widget {
|
|
|
10189
10176
|
|
|
10190
10177
|
const hrow = document.createElement( 'tr' );
|
|
10191
10178
|
|
|
10192
|
-
if( options.sortable )
|
|
10179
|
+
if( options.sortable ?? false )
|
|
10193
10180
|
{
|
|
10194
10181
|
const th = document.createElement( 'th' );
|
|
10195
10182
|
th.style.width = "0px";
|
|
@@ -10197,7 +10184,7 @@ class Table extends Widget {
|
|
|
10197
10184
|
this.rowOffsetCount++;
|
|
10198
10185
|
}
|
|
10199
10186
|
|
|
10200
|
-
if( options.selectable )
|
|
10187
|
+
if( options.selectable ?? false )
|
|
10201
10188
|
{
|
|
10202
10189
|
const th = document.createElement( 'th' );
|
|
10203
10190
|
th.style.width = "0px";
|
|
@@ -10227,7 +10214,7 @@ class Table extends Widget {
|
|
|
10227
10214
|
{
|
|
10228
10215
|
const th = document.createElement( 'th' );
|
|
10229
10216
|
th.innerHTML = `<span>${ headData }</span>`;
|
|
10230
|
-
th.querySelector( "span" ).appendChild( LX.makeIcon( "
|
|
10217
|
+
th.querySelector( "span" ).appendChild( LX.makeIcon( "MenuArrows", { svgClass: "sm" } ) );
|
|
10231
10218
|
|
|
10232
10219
|
const idx = data.head.indexOf( headData );
|
|
10233
10220
|
if( this.centered && this.centered.indexOf( idx ) > -1 )
|
|
@@ -10236,8 +10223,8 @@ class Table extends Widget {
|
|
|
10236
10223
|
}
|
|
10237
10224
|
|
|
10238
10225
|
const menuOptions = [
|
|
10239
|
-
{ name: "Asc", icon: "
|
|
10240
|
-
{ name: "Desc", icon: "
|
|
10226
|
+
{ name: "Asc", icon: "ArrowUpAZ", callback: sortFn.bind( this, idx, 1 ) },
|
|
10227
|
+
{ name: "Desc", icon: "ArrowDownAZ", callback: sortFn.bind( this, idx, -1 ) }
|
|
10241
10228
|
];
|
|
10242
10229
|
|
|
10243
10230
|
if( this.toggleColumns )
|
|
@@ -10245,7 +10232,7 @@ class Table extends Widget {
|
|
|
10245
10232
|
menuOptions.push(
|
|
10246
10233
|
null,
|
|
10247
10234
|
{
|
|
10248
|
-
name: "Hide", icon: "
|
|
10235
|
+
name: "Hide", icon: "EyeOff", callback: () => {
|
|
10249
10236
|
data.colVisibilityMap[ idx ] = false;
|
|
10250
10237
|
const cells = table.querySelectorAll(`tr > *:nth-child(${idx + this.rowOffsetCount + 1})`);
|
|
10251
10238
|
cells.forEach(cell => {
|
|
@@ -10373,11 +10360,11 @@ class Table extends Widget {
|
|
|
10373
10360
|
const rowId = LX.getSupportedDOMName( bodyData.join( '-' ) );
|
|
10374
10361
|
row.setAttribute( "rowId", rowId.substr(0, 32) );
|
|
10375
10362
|
|
|
10376
|
-
if( options.sortable )
|
|
10363
|
+
if( options.sortable ?? false )
|
|
10377
10364
|
{
|
|
10378
10365
|
const td = document.createElement( 'td' );
|
|
10379
10366
|
td.style.width = "0px";
|
|
10380
|
-
const icon = LX.makeIcon( "
|
|
10367
|
+
const icon = LX.makeIcon( "GripVertical" );
|
|
10381
10368
|
td.appendChild( icon );
|
|
10382
10369
|
|
|
10383
10370
|
icon.draggable = true;
|
|
@@ -10417,7 +10404,7 @@ class Table extends Widget {
|
|
|
10417
10404
|
row.appendChild( td );
|
|
10418
10405
|
}
|
|
10419
10406
|
|
|
10420
|
-
if( options.selectable )
|
|
10407
|
+
if( options.selectable ?? false )
|
|
10421
10408
|
{
|
|
10422
10409
|
const td = document.createElement( 'td' );
|
|
10423
10410
|
const input = document.createElement( 'input' );
|
|
@@ -10478,7 +10465,7 @@ class Table extends Widget {
|
|
|
10478
10465
|
|
|
10479
10466
|
if( action == "delete" )
|
|
10480
10467
|
{
|
|
10481
|
-
button = LX.makeIcon( "
|
|
10468
|
+
button = LX.makeIcon( "Trash3", { title: "Delete Row" } );
|
|
10482
10469
|
button.addEventListener( 'click', function() {
|
|
10483
10470
|
// Don't need to refresh table..
|
|
10484
10471
|
data.body.splice( r, 1 );
|
|
@@ -10487,7 +10474,7 @@ class Table extends Widget {
|
|
|
10487
10474
|
}
|
|
10488
10475
|
else if( action == "menu" )
|
|
10489
10476
|
{
|
|
10490
|
-
button = LX.makeIcon( "
|
|
10477
|
+
button = LX.makeIcon( "Ellipsis", { title: "Menu" } );
|
|
10491
10478
|
button.addEventListener( 'click', function( event ) {
|
|
10492
10479
|
if( !options.onMenuAction )
|
|
10493
10480
|
{
|
|
@@ -10599,7 +10586,7 @@ class DatePicker extends Widget {
|
|
|
10599
10586
|
|
|
10600
10587
|
const refresh = ( currentDate ) => {
|
|
10601
10588
|
container.innerHTML = "";
|
|
10602
|
-
const calendarIcon = LX.makeIcon( "
|
|
10589
|
+
const calendarIcon = LX.makeIcon( "Calendar" );
|
|
10603
10590
|
const calendarButton = new Button( null, currentDate ?? "Pick a date", () => {
|
|
10604
10591
|
this._popover = new Popover( calendarButton.root, [ this.calendar ] );
|
|
10605
10592
|
}, { buttonClass: `flex flex-row px-3 ${ currentDate ? "" : "fg-tertiary" } justify-between` } );
|
|
@@ -10750,13 +10737,15 @@ class Panel {
|
|
|
10750
10737
|
/**
|
|
10751
10738
|
* @method sameLine
|
|
10752
10739
|
* @param {Number} number Of widgets that will be placed in the same line
|
|
10740
|
+
* @param {String} className Extra class to customize inline widgets parent container
|
|
10753
10741
|
* @description Next N widgets will be in the same line. If no number, it will inline all until calling nextLine()
|
|
10754
10742
|
*/
|
|
10755
10743
|
|
|
10756
|
-
sameLine( number ) {
|
|
10744
|
+
sameLine( number, className ) {
|
|
10757
10745
|
|
|
10758
10746
|
this._inline_queued_container = this.queuedContainer;
|
|
10759
|
-
this._inlineWidgetsLeft = ( number
|
|
10747
|
+
this._inlineWidgetsLeft = ( number ?? Infinity );
|
|
10748
|
+
this._inlineExtraClass = className ?? null;
|
|
10760
10749
|
}
|
|
10761
10750
|
|
|
10762
10751
|
/**
|
|
@@ -10767,6 +10756,8 @@ class Panel {
|
|
|
10767
10756
|
|
|
10768
10757
|
endLine( className ) {
|
|
10769
10758
|
|
|
10759
|
+
className = className ?? this._inlineExtraClass;
|
|
10760
|
+
|
|
10770
10761
|
if( this._inlineWidgetsLeft == -1 )
|
|
10771
10762
|
{
|
|
10772
10763
|
console.warn("No pending widgets to be inlined!");
|
|
@@ -10828,6 +10819,7 @@ class Panel {
|
|
|
10828
10819
|
|
|
10829
10820
|
delete this._inlineWidgets;
|
|
10830
10821
|
delete this._inlineContainer;
|
|
10822
|
+
delete this._inlineExtraClass;
|
|
10831
10823
|
}
|
|
10832
10824
|
|
|
10833
10825
|
/**
|
|
@@ -10837,7 +10829,7 @@ class Panel {
|
|
|
10837
10829
|
* id: Id of the branch
|
|
10838
10830
|
* className: Add class to the branch
|
|
10839
10831
|
* closed: Set branch collapsed/opened [false]
|
|
10840
|
-
* icon: Set branch icon (
|
|
10832
|
+
* icon: Set branch icon (LX.ICONS)
|
|
10841
10833
|
* filter: Allow filter widgets in branch by name [false]
|
|
10842
10834
|
*/
|
|
10843
10835
|
|
|
@@ -10992,8 +10984,7 @@ class Panel {
|
|
|
10992
10984
|
input.style.width = "100%";
|
|
10993
10985
|
input.value = options.filterValue || "";
|
|
10994
10986
|
|
|
10995
|
-
let searchIcon =
|
|
10996
|
-
searchIcon.className = "fa-solid fa-magnifying-glass";
|
|
10987
|
+
let searchIcon = LX.makeIcon( "Search" );
|
|
10997
10988
|
element.appendChild( searchIcon );
|
|
10998
10989
|
element.appendChild( input );
|
|
10999
10990
|
|
|
@@ -11144,7 +11135,7 @@ class Panel {
|
|
|
11144
11135
|
* @param {Object} options:
|
|
11145
11136
|
* link: Href in case title is an hyperlink
|
|
11146
11137
|
* target: Target name of the iframe (if any)
|
|
11147
|
-
* icon:
|
|
11138
|
+
* icon: Name of the icon (if any)
|
|
11148
11139
|
* iconColor: Color of title icon (if any)
|
|
11149
11140
|
* style: CSS to override
|
|
11150
11141
|
*/
|
|
@@ -11242,7 +11233,7 @@ class Panel {
|
|
|
11242
11233
|
* @param {Object} options:
|
|
11243
11234
|
* hideName: Don't use name as label [false]
|
|
11244
11235
|
* float: Justify content (left, center, right) [center]
|
|
11245
|
-
*
|
|
11236
|
+
* selected: Selected button by default (String|Array)
|
|
11246
11237
|
* noSelection: Buttons can be clicked, but they are not selectable
|
|
11247
11238
|
* toggle: Buttons can be toggled insted of selecting only one
|
|
11248
11239
|
*/
|
|
@@ -11816,18 +11807,20 @@ class Branch {
|
|
|
11816
11807
|
this.root = root;
|
|
11817
11808
|
this.widgets = [];
|
|
11818
11809
|
|
|
11819
|
-
//
|
|
11810
|
+
// Create element
|
|
11820
11811
|
var title = document.createElement( 'div' );
|
|
11821
11812
|
title.className = "lexbranchtitle";
|
|
11822
11813
|
|
|
11823
11814
|
if( options.icon )
|
|
11824
11815
|
{
|
|
11825
|
-
|
|
11816
|
+
const branchIcon = LX.makeIcon( options.icon, { iconClass: "mr-2" } );
|
|
11817
|
+
title.appendChild( branchIcon );
|
|
11826
11818
|
}
|
|
11827
11819
|
|
|
11828
11820
|
title.innerHTML += ( name || "Branch" );
|
|
11829
11821
|
|
|
11830
|
-
|
|
11822
|
+
const collapseIcon = LX.makeIcon( "Right", { iconClass: "switch-branch-button", svgClass: "sm" } );
|
|
11823
|
+
title.appendChild( collapseIcon );
|
|
11831
11824
|
|
|
11832
11825
|
root.appendChild( title );
|
|
11833
11826
|
|
|
@@ -11872,12 +11865,8 @@ class Branch {
|
|
|
11872
11865
|
|
|
11873
11866
|
addContextMenu("Dock", e, p => {
|
|
11874
11867
|
e.preventDefault();
|
|
11875
|
-
// p.add('<i class="fa-regular fa-window-maximize">', {id: 'dock_options0'});
|
|
11876
|
-
// p.add('<i class="fa-regular fa-window-maximize fa-rotate-180">', {id: 'dock_options1'});
|
|
11877
|
-
// p.add('<i class="fa-regular fa-window-maximize fa-rotate-90">', {id: 'dock_options2'});
|
|
11878
|
-
// p.add('<i class="fa-regular fa-window-maximize fa-rotate-270">', {id: 'dock_options3'});
|
|
11879
11868
|
p.add( 'Floating', that._onMakeFloating.bind( that ) );
|
|
11880
|
-
}, { icon: "
|
|
11869
|
+
}, { icon: "WindowRestore" });
|
|
11881
11870
|
};
|
|
11882
11871
|
|
|
11883
11872
|
title.addEventListener( 'click', this.onclick );
|
|
@@ -12023,7 +12012,7 @@ class Footer {
|
|
|
12023
12012
|
* @param {Object} options:
|
|
12024
12013
|
* columns: Array with data per column { title, items: [ { title, link } ] }
|
|
12025
12014
|
* credits: html string
|
|
12026
|
-
* socials: Array with data per item { title, link,
|
|
12015
|
+
* socials: Array with data per item { title, link, icon }
|
|
12027
12016
|
* className: Extra class to customize
|
|
12028
12017
|
*/
|
|
12029
12018
|
constructor( options = {} ) {
|
|
@@ -12089,16 +12078,14 @@ class Footer {
|
|
|
12089
12078
|
if( options.socials )
|
|
12090
12079
|
{
|
|
12091
12080
|
const socials = document.createElement( "div" );
|
|
12092
|
-
socials.className = "
|
|
12081
|
+
socials.className = "socials flex flex-row gap-1 my-2 justify-end";
|
|
12093
12082
|
|
|
12094
12083
|
for( let social of options.socials )
|
|
12095
12084
|
{
|
|
12096
|
-
const
|
|
12097
|
-
|
|
12098
|
-
|
|
12099
|
-
|
|
12100
|
-
itemDom.target = "_blank";
|
|
12101
|
-
socials.appendChild( itemDom );
|
|
12085
|
+
const socialIcon = LX.makeIcon( social.icon, { title: social.title, svgClass: "xl" } );
|
|
12086
|
+
socialIcon.href = social.link;
|
|
12087
|
+
socialIcon.target = "_blank";
|
|
12088
|
+
socials.appendChild( socialIcon );
|
|
12102
12089
|
}
|
|
12103
12090
|
|
|
12104
12091
|
creditsSocials.appendChild( socials );
|
|
@@ -12206,15 +12193,15 @@ class Dialog {
|
|
|
12206
12193
|
|
|
12207
12194
|
// Right
|
|
12208
12195
|
let rpanel = _getNextPanel(LX.main_area.sections[ 1 ]);
|
|
12209
|
-
p.add('<i class="
|
|
12196
|
+
p.add('<i class="This goes to the right">', { icon: "PanelRightDashed", disabled: !rpanel, id: 'dock_options0', callback: () => {
|
|
12210
12197
|
_appendBranch(rpanel);
|
|
12211
12198
|
}});
|
|
12212
12199
|
// Left
|
|
12213
12200
|
let lpanel = _getNextPanel(LX.main_area.sections[ 0 ]);
|
|
12214
|
-
p.add('<i class="
|
|
12201
|
+
p.add('<i class="This goes to the left">', { icon: "PanelLeftDashed", disabled: !lpanel, id: 'dock_options1', callback: () => {
|
|
12215
12202
|
_appendBranch(lpanel);
|
|
12216
12203
|
}});
|
|
12217
|
-
}, { icon: "
|
|
12204
|
+
}, { icon: "WindowRestore" });
|
|
12218
12205
|
};
|
|
12219
12206
|
|
|
12220
12207
|
root.appendChild( titleDiv );
|
|
@@ -12244,9 +12231,7 @@ class Dialog {
|
|
|
12244
12231
|
}
|
|
12245
12232
|
};
|
|
12246
12233
|
|
|
12247
|
-
|
|
12248
|
-
closeButton.className = "lexdialogcloser fa-solid fa-xmark";
|
|
12249
|
-
closeButton.title = "Close";
|
|
12234
|
+
const closeButton = LX.makeIcon( "X", { title: "Close", iconClass: "lexdialogcloser" } );
|
|
12250
12235
|
closeButton.addEventListener( "click", this.close );
|
|
12251
12236
|
|
|
12252
12237
|
if( title )
|
|
@@ -12573,7 +12558,7 @@ class ContextMenu {
|
|
|
12573
12558
|
const icon = o[ 'icon' ];
|
|
12574
12559
|
if( icon )
|
|
12575
12560
|
{
|
|
12576
|
-
entry.
|
|
12561
|
+
entry.appendChild( LX.makeIcon( icon, { svgClass: "sm" } ) );
|
|
12577
12562
|
}
|
|
12578
12563
|
const disabled = o['disabled'];
|
|
12579
12564
|
entry.innerHTML += "<div class='lexentryname" + (disabled ? " disabled" : "") + "'>" + k + "</div>";
|
|
@@ -12595,7 +12580,10 @@ class ContextMenu {
|
|
|
12595
12580
|
e.stopPropagation();
|
|
12596
12581
|
e.stopImmediatePropagation();
|
|
12597
12582
|
|
|
12598
|
-
if(disabled)
|
|
12583
|
+
if( disabled )
|
|
12584
|
+
{
|
|
12585
|
+
return;
|
|
12586
|
+
}
|
|
12599
12587
|
|
|
12600
12588
|
const f = o[ 'callback' ];
|
|
12601
12589
|
if( f )
|
|
@@ -12605,17 +12593,20 @@ class ContextMenu {
|
|
|
12605
12593
|
}
|
|
12606
12594
|
|
|
12607
12595
|
if( !hasSubmenu )
|
|
12608
|
-
|
|
12596
|
+
{
|
|
12597
|
+
return;
|
|
12598
|
+
}
|
|
12609
12599
|
|
|
12610
12600
|
if( LX.OPEN_CONTEXTMENU_ENTRY == 'click' )
|
|
12611
12601
|
this._createSubmenu( o, k, entry, ++d );
|
|
12612
12602
|
});
|
|
12613
12603
|
|
|
12614
12604
|
if( !hasSubmenu )
|
|
12605
|
+
{
|
|
12615
12606
|
return;
|
|
12607
|
+
}
|
|
12616
12608
|
|
|
12617
|
-
|
|
12618
|
-
submenuIcon.className = "fa-solid fa-bars-staggered fa-xs";
|
|
12609
|
+
const submenuIcon = LX.makeIcon( "Menu", { svgClass: "sm" } )
|
|
12619
12610
|
entry.appendChild( submenuIcon );
|
|
12620
12611
|
|
|
12621
12612
|
if( LX.OPEN_CONTEXTMENU_ENTRY == 'mouseover' )
|
|
@@ -12677,6 +12668,7 @@ class ContextMenu {
|
|
|
12677
12668
|
if( !nextToken )
|
|
12678
12669
|
{
|
|
12679
12670
|
item[ 'id' ] = options.id;
|
|
12671
|
+
item[ 'icon' ] = options.icon;
|
|
12680
12672
|
item[ 'callback' ] = options.callback;
|
|
12681
12673
|
item[ 'disabled' ] = options.disabled ?? false;
|
|
12682
12674
|
}
|
|
@@ -13524,7 +13516,7 @@ class AssetView {
|
|
|
13524
13516
|
|
|
13525
13517
|
if( !this.skipBrowser )
|
|
13526
13518
|
{
|
|
13527
|
-
[left, right] = area.split({ type: "horizontal", sizes: ["15%", "85%"]});
|
|
13519
|
+
[ left, right ] = area.split({ type: "horizontal", sizes: ["15%", "85%"]});
|
|
13528
13520
|
contentArea = right;
|
|
13529
13521
|
|
|
13530
13522
|
left.setLimitBox( 210, 0 );
|
|
@@ -13734,7 +13726,7 @@ class AssetView {
|
|
|
13734
13726
|
}
|
|
13735
13727
|
else
|
|
13736
13728
|
{
|
|
13737
|
-
this.rightPanel = area.addPanel({ className: 'lexassetcontentpanel' });
|
|
13729
|
+
this.rightPanel = area.addPanel({ className: 'lexassetcontentpanel flex flex-col overflow-hidden' });
|
|
13738
13730
|
}
|
|
13739
13731
|
|
|
13740
13732
|
const on_sort = ( value, event ) => {
|
|
@@ -13782,11 +13774,11 @@ class AssetView {
|
|
|
13782
13774
|
this.rightPanel.sameLine();
|
|
13783
13775
|
this.rightPanel.addSelect( "Filter", this.allowedTypes, this.allowedTypes[ 0 ], v => this._refreshContent.call(this, null, v), { width: "30%", minWidth: "128px" } );
|
|
13784
13776
|
this.rightPanel.addText( null, this.searchValue ?? "", v => this._refreshContent.call(this, v, null), { placeholder: "Search assets.." } );
|
|
13785
|
-
this.rightPanel.addButton( null, "
|
|
13786
|
-
this.rightPanel.addButton( null, "
|
|
13777
|
+
this.rightPanel.addButton( null, "", on_sort.bind(this), { title: "Sort", icon: "ArrowUpNarrowWide" } );
|
|
13778
|
+
this.rightPanel.addButton( null, "", on_change_view.bind(this), { title: "View", icon: "GripHorizontal" } );
|
|
13787
13779
|
// Content Pages
|
|
13788
|
-
this.rightPanel.addButton( null, "
|
|
13789
|
-
this.rightPanel.addButton( null, "
|
|
13780
|
+
this.rightPanel.addButton( null, "", on_change_page.bind(this, -1), { title: "Previous Page", icon: "ChevronsLeft", className: "ml-auto" } );
|
|
13781
|
+
this.rightPanel.addButton( null, "", on_change_page.bind(this, 1), { title: "Next Page", icon: "ChevronsRight" } );
|
|
13790
13782
|
const textString = "Page " + this.contentPage + " / " + ((((this.currentData.length - 1) / AssetView.MAX_PAGE_ELEMENTS )|0) + 1);
|
|
13791
13783
|
this.rightPanel.addText(null, textString, null, {
|
|
13792
13784
|
inputClass: "nobg", disabled: true, signal: "@on_page_change", maxWidth: "16ch" }
|
|
@@ -13799,7 +13791,7 @@ class AssetView {
|
|
|
13799
13791
|
this.rightPanel.addComboButtons( null, [
|
|
13800
13792
|
{
|
|
13801
13793
|
value: "Left",
|
|
13802
|
-
icon: "
|
|
13794
|
+
icon: "ArrowLeft",
|
|
13803
13795
|
callback: domEl => {
|
|
13804
13796
|
if(!this.prevData.length) return;
|
|
13805
13797
|
this.nextData.push( this.currentData );
|
|
@@ -13810,7 +13802,7 @@ class AssetView {
|
|
|
13810
13802
|
},
|
|
13811
13803
|
{
|
|
13812
13804
|
value: "Right",
|
|
13813
|
-
icon: "
|
|
13805
|
+
icon: "ArrowRight",
|
|
13814
13806
|
callback: domEl => {
|
|
13815
13807
|
if(!this.nextData.length) return;
|
|
13816
13808
|
this.prevData.push( this.currentData );
|
|
@@ -13821,7 +13813,7 @@ class AssetView {
|
|
|
13821
13813
|
},
|
|
13822
13814
|
{
|
|
13823
13815
|
value: "Refresh",
|
|
13824
|
-
icon: "
|
|
13816
|
+
icon: "Refresh",
|
|
13825
13817
|
callback: domEl => { this._refreshContent(); }
|
|
13826
13818
|
}
|
|
13827
13819
|
], { noSelection: true } );
|
|
@@ -14482,6 +14474,17 @@ Object.assign(LX, {
|
|
|
14482
14474
|
}
|
|
14483
14475
|
},
|
|
14484
14476
|
|
|
14477
|
+
loadScriptSync( url ) {
|
|
14478
|
+
return new Promise((resolve, reject) => {
|
|
14479
|
+
const script = document.createElement( "script" );
|
|
14480
|
+
script.src = url;
|
|
14481
|
+
script.async = false;
|
|
14482
|
+
script.onload = () => resolve();
|
|
14483
|
+
script.onerror = () => reject(new Error(`Failed to load ${url}`));
|
|
14484
|
+
document.head.appendChild( script );
|
|
14485
|
+
});
|
|
14486
|
+
},
|
|
14487
|
+
|
|
14485
14488
|
downloadURL( url, filename ) {
|
|
14486
14489
|
|
|
14487
14490
|
const fr = new FileReader();
|
|
@@ -14668,223 +14671,156 @@ LX.UTILS = {
|
|
|
14668
14671
|
};
|
|
14669
14672
|
|
|
14670
14673
|
LX.ICONS = {
|
|
14671
|
-
|
|
14672
|
-
"
|
|
14673
|
-
"
|
|
14674
|
-
"
|
|
14675
|
-
"
|
|
14676
|
-
"
|
|
14677
|
-
"
|
|
14678
|
-
"
|
|
14679
|
-
"
|
|
14680
|
-
"
|
|
14681
|
-
"
|
|
14682
|
-
"
|
|
14683
|
-
"
|
|
14684
|
-
"
|
|
14685
|
-
"
|
|
14686
|
-
"
|
|
14687
|
-
"
|
|
14688
|
-
"
|
|
14689
|
-
"
|
|
14690
|
-
"
|
|
14691
|
-
"
|
|
14692
|
-
"
|
|
14693
|
-
"
|
|
14694
|
-
"
|
|
14695
|
-
"
|
|
14696
|
-
"
|
|
14697
|
-
"
|
|
14698
|
-
"
|
|
14699
|
-
"
|
|
14700
|
-
"
|
|
14701
|
-
"
|
|
14702
|
-
"
|
|
14703
|
-
"
|
|
14704
|
-
"
|
|
14705
|
-
"
|
|
14706
|
-
"
|
|
14707
|
-
"
|
|
14708
|
-
"
|
|
14709
|
-
"
|
|
14710
|
-
"
|
|
14711
|
-
"
|
|
14712
|
-
"
|
|
14713
|
-
"
|
|
14714
|
-
"
|
|
14715
|
-
"
|
|
14716
|
-
"
|
|
14717
|
-
"
|
|
14718
|
-
"
|
|
14719
|
-
"
|
|
14720
|
-
"
|
|
14721
|
-
"
|
|
14722
|
-
"
|
|
14723
|
-
"
|
|
14724
|
-
"
|
|
14725
|
-
"
|
|
14726
|
-
"
|
|
14727
|
-
"
|
|
14728
|
-
"
|
|
14729
|
-
"
|
|
14730
|
-
"
|
|
14731
|
-
"
|
|
14732
|
-
"
|
|
14733
|
-
"
|
|
14734
|
-
|
|
14735
|
-
"
|
|
14736
|
-
"
|
|
14737
|
-
"
|
|
14738
|
-
"
|
|
14739
|
-
"
|
|
14740
|
-
"
|
|
14741
|
-
"
|
|
14742
|
-
"
|
|
14743
|
-
"
|
|
14744
|
-
|
|
14745
|
-
"
|
|
14746
|
-
"
|
|
14747
|
-
"
|
|
14748
|
-
"
|
|
14749
|
-
"
|
|
14750
|
-
"
|
|
14751
|
-
"
|
|
14752
|
-
"
|
|
14753
|
-
"
|
|
14754
|
-
"
|
|
14755
|
-
"
|
|
14756
|
-
"
|
|
14757
|
-
"
|
|
14758
|
-
"
|
|
14759
|
-
"
|
|
14760
|
-
"
|
|
14761
|
-
"
|
|
14762
|
-
"
|
|
14763
|
-
"
|
|
14764
|
-
"
|
|
14765
|
-
"
|
|
14766
|
-
"
|
|
14767
|
-
"
|
|
14768
|
-
"
|
|
14769
|
-
"
|
|
14770
|
-
"
|
|
14771
|
-
"
|
|
14772
|
-
"
|
|
14773
|
-
"
|
|
14774
|
-
"
|
|
14775
|
-
"
|
|
14776
|
-
"
|
|
14777
|
-
"
|
|
14778
|
-
"
|
|
14779
|
-
"
|
|
14780
|
-
"
|
|
14781
|
-
"
|
|
14782
|
-
"
|
|
14783
|
-
"
|
|
14784
|
-
"
|
|
14785
|
-
"
|
|
14786
|
-
"
|
|
14787
|
-
"
|
|
14788
|
-
"
|
|
14789
|
-
"
|
|
14790
|
-
"
|
|
14791
|
-
"
|
|
14792
|
-
"
|
|
14793
|
-
"
|
|
14794
|
-
"
|
|
14795
|
-
"menu-arrows": [512, 512, [], "solid", "M352 144l96 112-96 112M160 144L64 256l96 112", "transform=rotate(90)", "fill=none stroke-width=60 stroke-linejoin=round stroke-linecap=round"],
|
|
14796
|
-
"more": [128, 512, [], "solid", "M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z"],
|
|
14797
|
-
"minus": [448, 512, [], "solid", "M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"],
|
|
14798
|
-
"more-horizontal": [448, 512, [], "solid", "M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z"],
|
|
14799
|
-
"plus": [448, 512, [], "solid", "M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z"],
|
|
14800
|
-
"equals": [448, 512, [], "solid", "M48 128c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 128zm0 192c-17.7 0-32 14.3-32 32s14.3 32 32 32l352 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48 320z"],
|
|
14801
|
-
"circle-nodes": [512, 512, [], "solid", "M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z"],
|
|
14802
|
-
"circle-plus": [24, 24, [], "regular", "M12 8V16M8 12H16M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z", null, "fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],
|
|
14803
|
-
"circle-info": [24, 24, [], "regular", "M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20ZM12 8v4M12 16h.01", null, "fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],
|
|
14804
|
-
"circle-play": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"],
|
|
14805
|
-
"circle-check": [512, 512, [], "regular", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z"],
|
|
14806
|
-
"circle-stop": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z"],
|
|
14807
|
-
"circle-pause": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0l0 144c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-144c0-13.3 10.7-24 24-24s24 10.7 24 24z"],
|
|
14808
|
-
"circle-xmark": [512, 512, [], "regular", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"],
|
|
14809
|
-
"circle-user": [512, 512, [], "regular", "M406.5 399.6C387.4 352.9 341.5 320 288 320l-64 0c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3l64 0c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z"],
|
|
14810
|
-
"circle-dot": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],
|
|
14811
|
-
"circle-right": [512, 512, [], "regular", "M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 151.2c-4.2-4.6-10.1-7.2-16.4-7.2C266 144 256 154 256 166.3l0 41.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 41.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.4-7.2l84-91c3.5-3.8 5.4-8.7 5.4-13.9s-1.9-10.1-5.4-13.9l-84-91z"],
|
|
14812
|
-
"circle-up": [512, 512, [], "regular", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM151.2 217.4c-4.6 4.2-7.2 10.1-7.2 16.4c0 12.3 10 22.3 22.3 22.3l41.7 0 0 96c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-96 41.7 0c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.2-16.4l-91-84c-3.8-3.5-8.7-5.4-13.9-5.4s-10.1 1.9-13.9 5.4l-91 84z"],
|
|
14813
|
-
"circle-question": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"],
|
|
14814
|
-
"circle-left": [512, 512, [], "regular", "M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z"],
|
|
14815
|
-
"circle-down": [512, 512, [], "regular", "M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3L304 256l0-96c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 96-57.7 0C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z"],
|
|
14816
|
-
"search": [512, 512, [], "solid", "M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"],
|
|
14817
|
-
"compass": [512, 512, [], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],
|
|
14818
|
-
"clock": [512, 512, [], "regular", "M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"],
|
|
14819
|
-
"hourglass": [384, 512, [], "regular", "M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 19c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445l0 19-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-19c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67l0-19 8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM192 289.9l81.5 81.5C293 391 304 417.4 304 445l0 19L80 464l0-19c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67l0-19 224 0 0 19c0 27.6-11 54-30.5 73.5L192 222.1z"],
|
|
14820
|
-
"hourglass-half": [384, 512, [], "regular", "M0 24C0 10.7 10.7 0 24 0L360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 19c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445l0 19 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-19c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67l0-19-8 0C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5l184.4 0c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67l0-19L80 48l0 19c0 22.1 7 43.4 19.8 61l184.4 0z"],
|
|
14821
|
-
"sidebar": [512, 512, [], "regular", "M64 64h384a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm128 0v384", null, "fill=none stroke-width=50 stroke-linejoin=round stroke-linecap=round"],
|
|
14822
|
-
"table-cells": [512, 512, [], "solid", "M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm88 64l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0zM64 224l88 0 0 64-88 0 0-64zm232 0l0 64-88 0 0-64 88 0zm64 0l88 0 0 64-88 0 0-64zM152 352l0 64-88 0 0-64 88 0zm56 0l88 0 0 64-88 0 0-64zm240 0l0 64-88 0 0-64 88 0z"],
|
|
14823
|
-
"table-cells-large": [512, 512, [], "solid", "M448 96l0 128-160 0 0-128 160 0zm0 192l0 128-160 0 0-128 160 0zM224 224L64 224 64 96l160 0 0 128zM64 288l160 0 0 128L64 416l0-128zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"],
|
|
14824
|
-
"frame": [24, 24, [], "solid", "M2 6h20M2 18h20M6 2v20M18 2v20", null, "fill=none stroke-width=2 stroke-linejoin=round stroke-linecap=round"],
|
|
14825
|
-
"lightbulb": [384, 512, [], "regular", "M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7c0 0 0 0 0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5L109 384c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8c0 0 0 0 0 0s0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4c0 0 0 0 0 0s0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5l-48.6 0c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8c0 0 0 0 0 0s0 0 0 0s0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80l0-16 160 0 0 16c0 44.2-35.8 80-80 80z"],
|
|
14826
|
-
"flag": [448, 512, [], "regular", "M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24L0 64 0 350.5 0 400l0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-100 80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30l0-279.7c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52l0-28zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8l0 241.8-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5l0-237z"],
|
|
14827
|
-
"newspaper": [512, 512, [], "regular", "M168 80c-13.3 0-24 10.7-24 24l0 304c0 8.4-1.4 16.5-4.1 24L440 432c13.3 0 24-10.7 24-24l0-304c0-13.3-10.7-24-24-24L168 80zM72 480c-39.8 0-72-32.2-72-72L0 112C0 98.7 10.7 88 24 88s24 10.7 24 24l0 296c0 13.3 10.7 24 24 24s24-10.7 24-24l0-304c0-39.8 32.2-72 72-72l272 0c39.8 0 72 32.2 72 72l0 304c0 39.8-32.2 72-72 72L72 480zM176 136c0-13.3 10.7-24 24-24l96 0c13.3 0 24 10.7 24 24l0 80c0 13.3-10.7 24-24 24l-96 0c-13.3 0-24-10.7-24-24l0-80zm200-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z"],
|
|
14828
|
-
"shuffle": [512, 512, [], "solid", "M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z"],
|
|
14829
|
-
"shopping-cart": [24, 24, [], "regular", "M8 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM19 20a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12", null, "fill=none stroke-width=2 stroke-linecap=round stroke-linejoin=round"],
|
|
14830
|
-
"credit-card": [576, 512, [], "regular", "M512 80c8.8 0 16 7.2 16 16l0 32L48 128l0-32c0-8.8 7.2-16 16-16l448 0zm16 144l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z"],
|
|
14831
|
-
"lock": [448, 512, [], "solid", "M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"],
|
|
14832
|
-
"lock-open": [576, 512, [], "solid", "M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"],
|
|
14833
|
-
"trash-can": [448, 512, [], "regular", "M170.5 51.6L151.5 80l145 0-19-28.4c-1.5-2.2-4-3.6-6.7-3.6l-93.7 0c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80 368 80l48 0 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 304c0 44.2-35.8 80-80 80l-224 0c-44.2 0-80-35.8-80-80l0-304-8 0c-13.3 0-24-10.7-24-24S10.7 80 24 80l8 0 48 0 13.8 0 36.7-55.1C140.9 9.4 158.4 0 177.1 0l93.7 0c18.7 0 36.2 9.4 46.6 24.9zM80 128l0 304c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-304L80 128zm80 64l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16z"],
|
|
14834
|
-
"user": [448, 512, [], "regular", "M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464l349.5 0c-8.9-63.3-63.3-112-129-112l-91.4 0c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3z"],
|
|
14835
|
-
"user-check": [640, 512, [], "solid", "M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"],
|
|
14836
|
-
"user-xmark": [640, 512, [], "solid", "M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304l91.4 0C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7L29.7 512C13.3 512 0 498.7 0 482.3zM471 143c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"],
|
|
14837
|
-
"user-large": [512, 512, [], "solid", "M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320l-189.4 0z"],
|
|
14838
|
-
"user-large-slash": [640, 512, [], "solid", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512L528 512 284.3 320l-59 0C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0 .3 0z"],
|
|
14839
|
-
"child-reaching": [384, 512, [], "solid", "M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4L112 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-258.4c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"],
|
|
14840
|
-
"person-walking-dashed-line-arrow-right": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16zM392 320c-13.3 0-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48z"],
|
|
14841
|
-
"person-walking-arrow-loop-left": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384l18.7 0c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96l-18.7 0 25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z"],
|
|
14842
|
-
"person-walking-arrow-right": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z"],
|
|
14843
|
-
"street-view": [512, 512, [], "solid", "M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64l0 48c0 17.7 14.3 32 32 32l1.8 0 11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5l38.7 0c16.3 0 30-12.3 31.8-28.5L318.2 304l1.8 0c17.7 0 32-14.3 32-32l0-48c0-35.3-28.7-64-64-64l-64 0zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z"],
|
|
14844
|
-
"closed-captioning": [576, 512, ["cc"], "regular", "M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z"],
|
|
14845
|
-
"bone": [576, 512, [], "solid", "M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2l192 0c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336l-192 0c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z"],
|
|
14846
|
-
"sun": [512, 512, [], "regular", "M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],
|
|
14847
|
-
"moon": [384, 512, [], "regular", "M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0l-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z"],
|
|
14848
|
-
"heart": [512, 512, [], "regular", "M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8l0-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5l0 3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1s0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5l0 3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2l0-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z"],
|
|
14849
|
-
"face-smile": [512, 512, ["smile"], "regular", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],
|
|
14850
|
-
"xmark": [384, 512, [], "solid", "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"],
|
|
14851
|
-
"wand-sparkles": [512, 512, [], "solid", "M464 6.1c9.5-8.5 24-8.1 33 .9l8 8c9 9 9.4 23.5 .9 33l-85.8 95.9c-2.6 2.9-4.1 6.7-4.1 10.7l0 21.4c0 8.8-7.2 16-16 16l-15.8 0c-4.6 0-8.9 1.9-11.9 5.3L100.7 500.9C94.3 508 85.3 512 75.8 512c-8.8 0-17.3-3.5-23.5-9.8L9.7 459.7C3.5 453.4 0 445 0 436.2c0-9.5 4-18.5 11.1-24.8l111.6-99.8c3.4-3 5.3-7.4 5.3-11.9l0-27.6c0-8.8 7.2-16 16-16l34.6 0c3.9 0 7.7-1.5 10.7-4.1L464 6.1zM432 288c3.6 0 6.7 2.4 7.7 5.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8-14.8 51.7c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8l-14.8-51.7-51.7-14.8c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8 14.8-51.7c1-3.4 4.1-5.8 7.7-5.8zM87.7 69.8l14.8 51.7 51.7 14.8c3.4 1 5.8 4.1 5.8 7.7s-2.4 6.7-5.8 7.7l-51.7 14.8L87.7 218.2c-1 3.4-4.1 5.8-7.7 5.8s-6.7-2.4-7.7-5.8L57.5 166.5 5.8 151.7c-3.4-1-5.8-4.1-5.8-7.7s2.4-6.7 5.8-7.7l51.7-14.8L72.3 69.8c1-3.4 4.1-5.8 7.7-5.8s6.7 2.4 7.7 5.8zM208 0c3.7 0 6.9 2.5 7.8 6.1l6.8 27.3 27.3 6.8c3.6 .9 6.1 4.1 6.1 7.8s-2.5 6.9-6.1 7.8l-27.3 6.8-6.8 27.3c-.9 3.6-4.1 6.1-7.8 6.1s-6.9-2.5-7.8-6.1l-6.8-27.3-27.3-6.8c-3.6-.9-6.1-4.1-6.1-7.8s2.5-6.9 6.1-7.8l27.3-6.8 6.8-27.3c.9-3.6 4.1-6.1 7.8-6.1z"],
|
|
14852
|
-
"star": [576, 512, [], "regular", "M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"],
|
|
14853
|
-
"puzzle-piece": [512, 512, [], "solid", "M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z"],
|
|
14854
|
-
// brands
|
|
14855
|
-
"discord": [640, 512, [], "brands", "M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"],
|
|
14856
|
-
"github": [496, 512, [], "brands", "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],
|
|
14857
|
-
"square-js": [448, 512, [], "brands", "M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"],
|
|
14858
|
-
"python": [448, 512, [], "brands", "M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],
|
|
14859
|
-
"microsoft": [448, 512, [], "brands", "M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],
|
|
14860
|
-
"apple": [384, 512, [], "brands", "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],
|
|
14861
|
-
"youtube": [576, 512, [], "brands", "M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],
|
|
14862
|
-
"x-twitter": [512, 512, [], "brands", "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"],
|
|
14863
|
-
"chrome": [512, 512, [], "brands", "M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z"],
|
|
14864
|
-
"reddit": [512, 512, [], "brands", "M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"],
|
|
14865
|
-
"ubuntu": [576, 512, [], "brands", "M469.2 75A75.6 75.6 0 1 0 317.9 75a75.6 75.6 0 1 0 151.2 0zM154.2 240.7A75.6 75.6 0 1 0 3 240.7a75.6 75.6 0 1 0 151.2 0zM57 346C75.6 392.9 108 433 150 461.1s91.5 42.6 142 41.7c-14.7-18.6-22.9-41.5-23.2-65.2c-6.8-.9-13.3-2.1-19.5-3.4c-26.8-5.7-51.9-17.3-73.6-34s-39.3-38.1-51.7-62.5c-20.9 9.9-44.5 12.8-67.1 8.2zm395.1 89.8a75.6 75.6 0 1 0 -151.2 0 75.6 75.6 0 1 0 151.2 0zM444 351.6c18.5 14.8 31.6 35.2 37.2 58.2c33.3-41.3 52.6-92.2 54.8-145.2s-12.5-105.4-42.2-149.4c-8.6 21.5-24 39.6-43.8 51.6c15.4 28.6 22.9 60.8 21.9 93.2s-10.7 64-28 91.6zM101.1 135.4c12.4 2.7 24.3 7.5 35.1 14.3c16.6-24.2 38.9-44.1 64.8-58S255.8 70.4 285.2 70c.2-5.9 .9-11.9 2-17.7c3.6-16.7 11.1-32.3 21.8-45.5c-47.7-3.8-95.4 6-137.6 28.5S94.3 91.7 70.8 133.4c2.7-.2 5.3-.3 8-.3c7.5 0 15 .8 22.4 2.3z"],
|
|
14866
|
-
"whatsapp": [448, 512, [], "brands", "M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],
|
|
14867
|
-
"linux": [448, 512, [], "brands", "M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],
|
|
14868
|
-
"instagram": [448, 512, [], "brands", "M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],
|
|
14869
|
-
"facebook": [512, 512, [], "brands", "M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"],
|
|
14870
|
-
"safari": [512, 512, [], "brands", "M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],
|
|
14871
|
-
"google": [488, 512, [], "brands", "M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],
|
|
14872
|
-
"npm": [576, 512, [], "brands", "M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],
|
|
14873
|
-
"bluetooth-b": [320, 512, [], "brands", "M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],
|
|
14674
|
+
// Internals
|
|
14675
|
+
"Clone": [512, 512, [], "regular", "M64 464l224 0c8.8 0 16-7.2 16-16l0-64 48 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l64 0 0 48-64 0c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM224 304l224 0c8.8 0 16-7.2 16-16l0-224c0-8.8-7.2-16-16-16L224 48c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zm-64-16l0-224c0-35.3 28.7-64 64-64L448 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-224 0c-35.3 0-64-28.7-64-64z"],
|
|
14676
|
+
"IdBadge": [384, 512, [], "regular", "M256 48l0 16c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32-14.3-32-32l0-16L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16l-64 0zM0 64C0 28.7 28.7 0 64 0L320 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zM160 320l64 0c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16L96 416c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z"],
|
|
14677
|
+
"Paste": [512, 512, [], "regular", "M104.6 48L64 48C28.7 48 0 76.7 0 112L0 384c0 35.3 28.7 64 64 64l96 0 0-48-96 0c-8.8 0-16-7.2-16-16l0-272c0-8.8 7.2-16 16-16l16 0c0 17.7 14.3 32 32 32l72.4 0C202 108.4 227.6 96 256 96l62 0c-7.1-27.6-32.2-48-62-48l-40.6 0C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L464 243.9 464 448c0 8.8-7.2 16-16 16zM256 512l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1L256 128c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64z"],
|
|
14678
|
+
"Trash3": [448, 512, [], "regular", "M170.5 51.6L151.5 80l145 0-19-28.4c-1.5-2.2-4-3.6-6.7-3.6l-93.7 0c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80 368 80l48 0 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 304c0 44.2-35.8 80-80 80l-224 0c-44.2 0-80-35.8-80-80l0-304-8 0c-13.3 0-24-10.7-24-24S10.7 80 24 80l8 0 48 0 13.8 0 36.7-55.1C140.9 9.4 158.4 0 177.1 0l93.7 0c18.7 0 36.2 9.4 46.6 24.9zM80 128l0 304c0 17.7 14.3 32 32 32l224 0c17.7 0 32-14.3 32-32l0-304L80 128zm80 64l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0l0 208c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16z"],
|
|
14679
|
+
"FilePdf": [512, 512, [], "regular", "M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z"],
|
|
14680
|
+
"FileWord": [384, 512, [], "regular", "M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z"],
|
|
14681
|
+
"FilePowerpoint": [384, 512, [], "regular", "M64 464c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm72 208c-13.3 0-24 10.7-24 24l0 104 0 56c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 44 0c42 0 76-34 76-76s-34-76-76-76l-68 0zm68 104l-44 0 0-56 44 0c15.5 0 28 12.5 28 28s-12.5 28-28 28z"],
|
|
14682
|
+
"FileExcel": [384, 512, [], "regular", "M48 448L48 64c0-8.8 7.2-16 16-16l160 0 0 80c0 17.7 14.3 32 32 32l80 0 0 288c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-293.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0L64 0zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z"],
|
|
14683
|
+
"Settings3": [640, 512, [], "solid", "M308.5 135.3c7.1-6.3 9.9-16.2 6.2-25c-2.3-5.3-4.8-10.5-7.6-15.5L304 89.4c-3-5-6.3-9.9-9.8-14.6c-5.7-7.6-15.7-10.1-24.7-7.1l-28.2 9.3c-10.7-8.8-23-16-36.2-20.9L199 27.1c-1.9-9.3-9.1-16.7-18.5-17.8C173.9 8.4 167.2 8 160.4 8l-.7 0c-6.8 0-13.5 .4-20.1 1.2c-9.4 1.1-16.6 8.6-18.5 17.8L115 56.1c-13.3 5-25.5 12.1-36.2 20.9L50.5 67.8c-9-3-19-.5-24.7 7.1c-3.5 4.7-6.8 9.6-9.9 14.6l-3 5.3c-2.8 5-5.3 10.2-7.6 15.6c-3.7 8.7-.9 18.6 6.2 25l22.2 19.8C32.6 161.9 32 168.9 32 176s.6 14.1 1.7 20.9L11.5 216.7c-7.1 6.3-9.9 16.2-6.2 25c2.3 5.3 4.8 10.5 7.6 15.6l3 5.2c3 5.1 6.3 9.9 9.9 14.6c5.7 7.6 15.7 10.1 24.7 7.1l28.2-9.3c10.7 8.8 23 16 36.2 20.9l6.1 29.1c1.9 9.3 9.1 16.7 18.5 17.8c6.7 .8 13.5 1.2 20.4 1.2s13.7-.4 20.4-1.2c9.4-1.1 16.6-8.6 18.5-17.8l6.1-29.1c13.3-5 25.5-12.1 36.2-20.9l28.2 9.3c9 3 19 .5 24.7-7.1c3.5-4.7 6.8-9.5 9.8-14.6l3.1-5.4c2.8-5 5.3-10.2 7.6-15.5c3.7-8.7 .9-18.6-6.2-25l-22.2-19.8c1.1-6.8 1.7-13.8 1.7-20.9s-.6-14.1-1.7-20.9l22.2-19.8zM112 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM504.7 500.5c6.3 7.1 16.2 9.9 25 6.2c5.3-2.3 10.5-4.8 15.5-7.6l5.4-3.1c5-3 9.9-6.3 14.6-9.8c7.6-5.7 10.1-15.7 7.1-24.7l-9.3-28.2c8.8-10.7 16-23 20.9-36.2l29.1-6.1c9.3-1.9 16.7-9.1 17.8-18.5c.8-6.7 1.2-13.5 1.2-20.4s-.4-13.7-1.2-20.4c-1.1-9.4-8.6-16.6-17.8-18.5L583.9 307c-5-13.3-12.1-25.5-20.9-36.2l9.3-28.2c3-9 .5-19-7.1-24.7c-4.7-3.5-9.6-6.8-14.6-9.9l-5.3-3c-5-2.8-10.2-5.3-15.6-7.6c-8.7-3.7-18.6-.9-25 6.2l-19.8 22.2c-6.8-1.1-13.8-1.7-20.9-1.7s-14.1 .6-20.9 1.7l-19.8-22.2c-6.3-7.1-16.2-9.9-25-6.2c-5.3 2.3-10.5 4.8-15.6 7.6l-5.2 3c-5.1 3-9.9 6.3-14.6 9.9c-7.6 5.7-10.1 15.7-7.1 24.7l9.3 28.2c-8.8 10.7-16 23-20.9 36.2L315.1 313c-9.3 1.9-16.7 9.1-17.8 18.5c-.8 6.7-1.2 13.5-1.2 20.4s.4 13.7 1.2 20.4c1.1 9.4 8.6 16.6 17.8 18.5l29.1 6.1c5 13.3 12.1 25.5 20.9 36.2l-9.3 28.2c-3 9-.5 19 7.1 24.7c4.7 3.5 9.5 6.8 14.6 9.8l5.4 3.1c5 2.8 10.2 5.3 15.5 7.6c8.7 3.7 18.6 .9 25-6.2l19.8-22.2c6.8 1.1 13.8 1.7 20.9 1.7s14.1-.6 20.9-1.7l19.8 22.2zM464 304a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"],
|
|
14684
|
+
"MessagesCircle": [640, 512, [], "regular", "M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z"],
|
|
14685
|
+
"LinkOff": [640, 512, ["ChainBroken", "ChainOff", "Unlink"], "solid", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z"],
|
|
14686
|
+
"StreetView": [512, 512, [], "solid", "M320 64A64 64 0 1 0 192 64a64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64l0 48c0 17.7 14.3 32 32 32l1.8 0 11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5l38.7 0c16.3 0 30-12.3 31.8-28.5L318.2 304l1.8 0c17.7 0 32-14.3 32-32l0-48c0-35.3-28.7-64-64-64l-64 0zM132.3 394.2c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z"],
|
|
14687
|
+
"ClosedCaptioning": [576, 512, ["CC"], "regular", "M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z"],
|
|
14688
|
+
"ChildReaching": [384, 512, [], "solid", "M256 64A64 64 0 1 0 128 64a64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4L112 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96 32 0 0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-258.4c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6c-12.6 0-24.9-2-36.6-5.8c-.9-.3-1.8-.7-2.7-.9z"],
|
|
14689
|
+
"HourglassHalf": [384, 512, [], "regular", "M0 24C0 10.7 10.7 0 24 0L360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-8 0 0 19c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445l0 19 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 0-19c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67l0-19-8 0C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5l184.4 0c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67l0-19L80 48l0 19c0 22.1 7 43.4 19.8 61l184.4 0z"],
|
|
14690
|
+
"PaperPlane": [512, 512, [], "regular", "M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376l0 103.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z"],
|
|
14691
|
+
// "PaperPlane": [512, 512, [], "solid", "M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480l0-83.6c0-4 1.5-7.8 4.2-10.8L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z"],
|
|
14692
|
+
"Axis3DArrows": [24, 24, [], "solid", "m12 2l4 4h-3v7.85l6.53 3.76L21 15.03l1.5 5.47l-5.5 1.46l1.53-2.61L12 15.58l-6.53 3.77L7 21.96L1.5 20.5L3 15.03l1.47 2.58L11 13.85V6H8z"],
|
|
14693
|
+
"PersonWalkingDashedLineArrowRight": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80zM392 0c-13.3 0-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48c0-13.3-10.7-24-24-24zm24 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16zM392 320c-13.3 0-24 10.7-24 24l0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16c0-13.3-10.7-24-24-24zm24 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48z"],
|
|
14694
|
+
"PersonWalkingArrowLoopLeft": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zm347.7 119c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L461.3 384l18.7 0c88.4 0 160-71.6 160-160s-71.6-160-160-160L352 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l128 0c53 0 96 43 96 96s-43 96-96 96l-18.7 0 25.4-25.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3l80 80z"],
|
|
14695
|
+
"PersonWalkingArrowRight": [640, 512, [], "solid", "M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM123.7 200.5c1-.4 1.9-.8 2.9-1.2l-16.9 63.5c-5.6 21.1-.1 43.6 14.7 59.7l70.7 77.1 22 88.1c4.3 17.1 21.7 27.6 38.8 23.3s27.6-21.7 23.3-38.8l-23-92.1c-1.9-7.8-5.8-14.9-11.2-20.8l-49.5-54 19.3-65.5 9.6 23c4.4 10.6 12.5 19.3 22.8 24.5l26.7 13.3c15.8 7.9 35 1.5 42.9-14.3s1.5-35-14.3-42.9L281 232.7l-15.3-36.8C248.5 154.8 208.3 128 163.7 128c-22.8 0-45.3 4.8-66.1 14l-8 3.5c-32.9 14.6-58.1 42.4-69.4 76.5l-2.6 7.8c-5.6 16.8 3.5 34.9 20.2 40.5s34.9-3.5 40.5-20.2l2.6-7.8c5.7-17.1 18.3-30.9 34.7-38.2l8-3.5zm-30 135.1L68.7 398 9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L116.3 441c4.6-4.6 8.2-10.1 10.6-16.1l14.5-36.2-40.7-44.4c-2.5-2.7-4.8-5.6-7-8.6zM550.6 153.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L530.7 224 384 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l146.7 0-25.4 25.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l80-80c12.5-12.5 12.5-32.8 0-45.3l-80-80z"],
|
|
14696
|
+
"ClapperboardClosed": [512, 512, [], "solid", "M448 32l-86.1 0-1 1-127 127 92.1 0 1-1L453.8 32.3c-1.9-.2-3.8-.3-5.8-.3zm64 128l0-64c0-15.1-5.3-29.1-14-40l-104 104L512 160zM294.1 32l-92.1 0-1 1L73.9 160l92.1 0 1-1 127-127zM64 32C28.7 32 0 60.7 0 96l0 64 6.1 0 1-1 127-127L64 32zM512 192L0 192 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224z"],
|
|
14697
|
+
"UserOff": [640, 512, [], "solid", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM545.5 512L528 512 284.3 320l-59 0C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0 .3 0z"],
|
|
14698
|
+
"PhotoFilm": [640, 512, ["Media"], "solid", "M256 0L576 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64l0-224c0-35.3 28.7-64 64-64zM476 106.7C471.5 100 464 96 456 96s-15.5 4-20 10.7l-56 84L362.7 169c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6l80 0 48 0 144 0c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6l-96-144zM336 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 128l96 0 0 256 0 32c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32l0-32 160 0 0 64c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64zm8 64c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm0 104c-8.8 0-16 7.2-16 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0zm336 16l0 16c0 8.8 7.2 16 16 16l16 0c8.8 0 16-7.2 16-16l0-16c0-8.8-7.2-16-16-16l-16 0c-8.8 0-16 7.2-16 16z"],
|
|
14699
|
+
"Chart": [448, 512, [], "solid", "M160 80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 352c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-352zM0 272c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 272zM368 96l32 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48z"],
|
|
14700
|
+
"HandsAslInterpreting": [640, 512, ["ASL"], "solid", "M156.6 46.3c7.9-15.8 1.5-35-14.3-42.9s-35-1.5-42.9 14.3L13.5 189.4C4.6 207.2 0 226.8 0 246.7L0 256c0 70.7 57.3 128 128 128l72 0 8 0 0-.3c35.2-2.7 65.4-22.8 82.1-51.7c8.8-15.3 3.6-34.9-11.7-43.7s-34.9-3.6-43.7 11.7c-7 12-19.9 20-34.7 20c-22.1 0-40-17.9-40-40s17.9-40 40-40c14.8 0 27.7 8 34.7 20c8.8 15.3 28.4 20.5 43.7 11.7s20.5-28.4 11.7-43.7c-12.8-22.1-33.6-39.1-58.4-47.1l80.8-22c17-4.6 27.1-22.2 22.5-39.3s-22.2-27.1-39.3-22.5L194.9 124.6l81.6-68c13.6-11.3 15.4-31.5 4.1-45.1S249.1-3.9 235.5 7.4L133.6 92.3l23-46zM483.4 465.7c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l85.9-171.7c8.9-17.8 13.5-37.4 13.5-57.2l0-9.3c0-70.7-57.3-128-128-128l-72 0-8 0 0 .3c-35.2 2.7-65.4 22.8-82.1 51.7c-8.9 15.3-3.6 34.9 11.7 43.7s34.9 3.6 43.7-11.7c7-12 19.9-20 34.7-20c22.1 0 40 17.9 40 40s-17.9 40-40 40c-14.8 0-27.7-8-34.7-20c-8.9-15.3-28.4-20.5-43.7-11.7s-20.5 28.4-11.7 43.7c12.8 22.1 33.6 39.1 58.4 47.1l-80.8 22c-17.1 4.7-27.1 22.2-22.5 39.3s22.2 27.1 39.3 22.5l100.7-27.5-81.6 68c-13.6 11.3-15.4 31.5-4.1 45.1s31.5 15.4 45.1 4.1l101.9-84.9-23 46z"],
|
|
14701
|
+
"HandPointRight": [512, 512, [], "regular", "M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z"],
|
|
14702
|
+
"HandPointUp": [384, 512, [], "regular", "M64 64l0 177.6c5.2-1 10.5-1.6 16-1.6l16 0 0-32L96 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0l0 24c0 66.3 53.7 120 120 120l48 0c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14l-40 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l40 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-40 0-40 0zM0 320s0 0 0 0c0-18 6-34.6 16-48L16 64C16 28.7 44.7 0 80 0s64 28.7 64 64l0 82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64l0 64 0 24c0 92.8-75.2 168-168 168l-48 0C75.2 512 0 436.8 0 344l0-24zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48 0 16c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64zM160 240c5.5 0 10.9 .7 16 2l0-2 0-32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32 16 0zm64 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 0-16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 24z"],
|
|
14703
|
+
"HandPointDown": [384, 512, [], "regular", "M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z"],
|
|
14704
|
+
"HandPointLeft": [512, 512, [], "regular", "M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z"],
|
|
14705
|
+
"HandScissors": [512, 512, [], "regular", "M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z"],
|
|
14706
|
+
"HandSpock": [576, 512, [], "regular", "M170.2 80.8C161 47 180.8 12 214.6 2.4c34-9.6 69.4 10.2 79 44.2l30.3 107.1L337.1 84c6.6-34.7 40.1-57.5 74.8-50.9c31.4 6 53 33.9 52 64.9c10-2.6 20.8-2.8 31.5-.1c34.3 8.6 55.1 43.3 46.6 77.6L486.7 397.2C469.8 464.7 409.2 512 339.6 512l-33.7 0c-56.9 0-112.2-19-157.2-53.9l-92-71.6c-27.9-21.7-32.9-61.9-11.2-89.8s61.9-32.9 89.8-11.2l17 13.2L100.5 167.5c-13-32.9 3.2-70.1 36-83c11.1-4.4 22.7-5.4 33.7-3.7zm77.1-21.2c-2.4-8.5-11.2-13.4-19.7-11s-13.4 11.2-11 19.7l54.8 182.4c3.5 12.3-3.3 25.2-15.4 29.3s-25.3-2-30-13.9L174.9 138.1c-3.2-8.2-12.5-12.3-20.8-9s-12.3 12.5-9 20.8l73.3 185.6c12 30.3-23.7 57-49.4 37l-63.1-49.1c-7-5.4-17-4.2-22.5 2.8s-4.2 17 2.8 22.5l92 71.6c36.5 28.4 81.4 43.8 127.7 43.8l33.7 0c47.5 0 89-32.4 100.5-78.5l55.4-221.6c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-26 104C435.6 271.8 425 280 413 280c-16.5 0-28.9-15-25.8-31.2L415.7 99c1.7-8.7-4-17.1-12.7-18.7s-17.1 4-18.7 12.7L352.5 260c-2.2 11.6-12.4 20-24.2 20c-11 0-20.7-7.3-23.7-17.9L247.4 59.6z"],
|
|
14707
|
+
"HandBackFist": [448, 512, ["HandRock"], "regular", "M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16l0 104c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6L304 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-117.8c38-20.1 64-60.1 64-106.2l0-104c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64l0 64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6l0 12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3L128 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-128.1c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4l0-12.8c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6l0 32.3c0 8.8 7.2 16 16 16s16-7.2 16-16l0-65.7 0-14.3 0-64z"],
|
|
14708
|
+
"HandLizard": [512, 512, [], "regular", "M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24l168 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-104 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l152 0c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4l0 24c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-10.7L281.1 384 136 384c-39.8 0-72-32.2-72-72s32.2-72 72-72l104 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L72 208c-39.8 0-72-32.2-72-72S32.2 64 72 64l209.6 0c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7L512 424c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-107.9c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9L72 112z"],
|
|
14709
|
+
"HandPeace": [512, 512, [], "regular", "M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320c0 0 0 0 0 0l0 24c0 92.8 75.2 168 168 168l48 0c92.8 0 168-75.2 168-168l0-72 0-16 0-32c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192l0 48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2l-7.4 0-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240 144 240c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2l0 10c0 66.3-53.7 120-120 120l-48 0c-66.3 0-120-53.7-120-120l0-24s0 0 0 0c0-17.7 14.3-32 32-32l80 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32 0 16z"],
|
|
14710
|
+
"CircleNodes": [512, 512, [], "solid", "M418.4 157.9c35.3-8.3 61.6-40 61.6-77.9c0-44.2-35.8-80-80-80c-43.4 0-78.7 34.5-80 77.5L136.2 151.1C121.7 136.8 101.9 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c12.2 0 23.8-2.7 34.1-7.6L259.7 407.8c-2.4 7.6-3.7 15.8-3.7 24.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-27.7-14-52.1-35.4-66.4l37.8-207.7zM156.3 232.2c2.2-6.9 3.5-14.2 3.7-21.7l183.8-73.5c3.6 3.5 7.4 6.7 11.6 9.5L317.6 354.1c-5.5 1.3-10.8 3.1-15.8 5.5L156.3 232.2z"],
|
|
14711
|
+
"CircleRight": [512, 512, [], "solid", "M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 151.2c-4.2-4.6-10.1-7.2-16.4-7.2C266 144 256 154 256 166.3l0 41.7-96 0c-17.7 0-32 14.3-32 32l0 32c0 17.7 14.3 32 32 32l96 0 0 41.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.4-7.2l84-91c3.5-3.8 5.4-8.7 5.4-13.9s-1.9-10.1-5.4-13.9l-84-91z"],
|
|
14712
|
+
"CircleUp": [512, 512, [], "solid", "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM151.2 217.4c-4.6 4.2-7.2 10.1-7.2 16.4c0 12.3 10 22.3 22.3 22.3l41.7 0 0 96c0 17.7 14.3 32 32 32l32 0c17.7 0 32-14.3 32-32l0-96 41.7 0c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.2-16.4l-91-84c-3.8-3.5-8.7-5.4-13.9-5.4s-10.1 1.9-13.9 5.4l-91 84z"],
|
|
14713
|
+
"CircleLeft": [512, 512, [], "solid", "M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3l0-57.7 96 0c17.7 0 32-14.3 32-32l0-32c0-17.7-14.3-32-32-32l-96 0 0-57.7c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z"],
|
|
14714
|
+
"CircleDown": [512, 512, [], "solid", "M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3L304 256l0-96c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32l0 96-57.7 0C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z"],
|
|
14715
|
+
"WindowRestore": [512, 512, [], "solid", "M432 48L208 48c-17.7 0-32 14.3-32 32l0 16-48 0 0-16c0-44.2 35.8-80 80-80L432 0c44.2 0 80 35.8 80 80l0 224c0 44.2-35.8 80-80 80l-16 0 0-48 16 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-192L48 256l0 192zM64 128l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64z"],
|
|
14716
|
+
"WindowMaximize": [512, 512, [], "solid", "M.3 89.5C.1 91.6 0 93.8 0 96L0 224 0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-192 0-128c0-35.3-28.7-64-64-64L64 32c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224l416 0 0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z"],
|
|
14717
|
+
"WindowMinimize": [512, 512, [], "solid", "M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l464 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432z"],
|
|
14718
|
+
"VrCardboard": [640, 512, ["VR"], "solid", "M576 64L64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l120.4 0c24.2 0 46.4-13.7 57.2-35.4l32-64c8.8-17.5 26.7-28.6 46.3-28.6s37.5 11.1 46.3 28.6l32 64c10.8 21.7 33 35.4 57.2 35.4L576 448c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"],
|
|
14719
|
+
"C": [32, 32, [], "solid", "M29.86 8c-.224-.385-.532-.724-.871-.921L17.234.292c-.677-.391-1.787-.391-2.464 0L3.015 7.079C2.338 7.47 1.78 8.432 1.78 9.214v13.573c0 .391.14.828.364 1.213.219.385.532.724.871.917l11.749 6.791c.683.391 1.787.391 2.464 0l11.755-6.791c.339-.193.647-.532.871-.917s.359-.823.359-1.213V9.214c.005-.391-.135-.828-.353-1.213zM16 25.479c-5.229 0-9.479-4.249-9.479-9.479S10.77 6.521 16 6.521a9.51 9.51 0 0 1 8.208 4.733l-4.104 2.376A4.76 4.76 0 0 0 16 11.259c-2.615 0-4.74 2.125-4.74 4.74s2.125 4.74 4.74 4.74a4.76 4.76 0 0 0 4.104-2.371l4.104 2.376A9.51 9.51 0 0 1 16 25.479z", { svgClass: "stroke-none" }],
|
|
14720
|
+
"CPlusPlus": [32, 32, [], "solid", "M29.86 8c-.224-.385-.532-.724-.871-.921L17.234.292c-.677-.391-1.787-.391-2.464 0L3.015 7.079C2.338 7.47 1.78 8.432 1.78 9.214v13.573c0 .391.14.828.364 1.213c.219.385.532.724.871.917l11.749 6.791c.683.391 1.787.391 2.464 0l11.755-6.791c.339-.193.647-.532.871-.917s.359-.823.359-1.213V9.214c.005-.391-.135-.828-.353-1.213zM16 25.479c-5.229 0-9.479-4.249-9.479-9.479S10.77 6.521 16 6.521a9.51 9.51 0 0 1 8.208 4.733l-4.104 2.376A4.76 4.76 0 0 0 16 11.259c-2.615 0-4.74 2.125-4.74 4.74s2.125 4.74 4.74 4.74a4.76 4.76 0 0 0 4.104-2.371l4.104 2.376A9.51 9.51 0 0 1 16 25.477zm9.479-8.952h-1.052v1.052H23.37v-1.052h-1.052v-1.053h1.052v-1.052h1.057v1.052h1.052zm3.948 0h-1.052v1.052h-1.052v-1.052h-1.052v-1.053h1.052v-1.052h1.052v1.052h1.052z", { svgClass: "stroke-none" }],
|
|
14721
|
+
"Discord": [640, 512, [], "solid", "M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"],
|
|
14722
|
+
"Google": [488, 512, [], "solid", "M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],
|
|
14723
|
+
"Js": [32, 32, [], "solid", "M18.774 19.7a3.73 3.73 0 0 0 3.376 2.078c1.418 0 2.324-.709 2.324-1.688c0-1.173-.931-1.589-2.491-2.272l-.856-.367c-2.469-1.052-4.11-2.37-4.11-5.156c0-2.567 1.956-4.52 5.012-4.52A5.06 5.06 0 0 1 26.9 10.52l-2.665 1.711a2.33 2.33 0 0 0-2.2-1.467a1.49 1.49 0 0 0-1.638 1.467c0 1.027.636 1.442 2.1 2.078l.856.366c2.908 1.247 4.549 2.518 4.549 5.376c0 3.081-2.42 4.769-5.671 4.769a6.58 6.58 0 0 1-6.236-3.5ZM6.686 20c.538.954 1.027 1.76 2.2 1.76c1.124 0 1.834-.44 1.834-2.15V7.975h3.422v11.683c0 3.543-2.078 5.156-5.11 5.156A5.31 5.31 0 0 1 3.9 21.688Z"],
|
|
14724
|
+
"Linux": [448, 512, [], "regular", "M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],
|
|
14725
|
+
"SquareJs": [448, 512, [], "solid", "M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM180.9 444.9c-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6c13.8 0 22.6-5.4 22.6-26.5V237.7h42.1V381.4c0 43.6-25.6 63.5-62.9 63.5zm85.8-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6c17.4 0 28.6-8.7 28.6-20.8c0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5c0-31.6 24.1-55.6 61.6-55.6c26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18c-12.3 0-20.1 7.8-20.1 18c0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2c0 37.8-29.8 58.6-69.7 58.6c-39.1 0-64.4-18.6-76.7-43z"],
|
|
14726
|
+
"Safari": [512, 512, [], "solid", "M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z"],
|
|
14727
|
+
"Python": [448, 512, [], "solid", "M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"],
|
|
14728
|
+
"Markdown": [640, 512, [], "solid", "M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z"],
|
|
14729
|
+
"Microsoft": [448, 512, [], "solid", "M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],
|
|
14730
|
+
"Npm": [576, 512, [], "solid", "M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],
|
|
14731
|
+
"Reddit": [512, 512, [], "solid", "M0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256L37.1 512c-13.7 0-20.5-16.5-10.9-26.2L75 437C28.7 390.7 0 326.7 0 256zM349.6 153.6c23.6 0 42.7-19.1 42.7-42.7s-19.1-42.7-42.7-42.7c-20.6 0-37.8 14.6-41.8 34c-34.5 3.7-61.4 33-61.4 68.4l0 .2c-37.5 1.6-71.8 12.3-99 29.1c-10.1-7.8-22.8-12.5-36.5-12.5c-33 0-59.8 26.8-59.8 59.8c0 24 14.1 44.6 34.4 54.1c2 69.4 77.6 125.2 170.6 125.2s168.7-55.9 170.6-125.3c20.2-9.6 34.1-30.2 34.1-54c0-33-26.8-59.8-59.8-59.8c-13.7 0-26.3 4.6-36.4 12.4c-27.4-17-62.1-27.7-100-29.1l0-.2c0-25.4 18.9-46.5 43.4-49.9l0 0c4.4 18.8 21.3 32.8 41.5 32.8zM177.1 246.9c16.7 0 29.5 17.6 28.5 39.3s-13.5 29.6-30.3 29.6s-31.4-8.8-30.4-30.5s15.4-38.3 32.1-38.3zm190.1 38.3c1 21.7-13.7 30.5-30.4 30.5s-29.3-7.9-30.3-29.6c-1-21.7 11.8-39.3 28.5-39.3s31.2 16.6 32.1 38.3zm-48.1 56.7c-10.3 24.6-34.6 41.9-63 41.9s-52.7-17.3-63-41.9c-1.2-2.9 .8-6.2 3.9-6.5c18.4-1.9 38.3-2.9 59.1-2.9s40.7 1 59.1 2.9c3.1 .3 5.1 3.6 3.9 6.5z"],
|
|
14732
|
+
"Rust": [512, 512, [], "solid", "M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z"],
|
|
14733
|
+
"Ubuntu": [576, 512, [], "solid", "M469.2 75A75.6 75.6 0 1 0 317.9 75a75.6 75.6 0 1 0 151.2 0zM154.2 240.7A75.6 75.6 0 1 0 3 240.7a75.6 75.6 0 1 0 151.2 0zM57 346C75.6 392.9 108 433 150 461.1s91.5 42.6 142 41.7c-14.7-18.6-22.9-41.5-23.2-65.2c-6.8-.9-13.3-2.1-19.5-3.4c-26.8-5.7-51.9-17.3-73.6-34s-39.3-38.1-51.7-62.5c-20.9 9.9-44.5 12.8-67.1 8.2zm395.1 89.8a75.6 75.6 0 1 0 -151.2 0 75.6 75.6 0 1 0 151.2 0zM444 351.6c18.5 14.8 31.6 35.2 37.2 58.2c33.3-41.3 52.6-92.2 54.8-145.2s-12.5-105.4-42.2-149.4c-8.6 21.5-24 39.6-43.8 51.6c15.4 28.6 22.9 60.8 21.9 93.2s-10.7 64-28 91.6zM101.1 135.4c12.4 2.7 24.3 7.5 35.1 14.3c16.6-24.2 38.9-44.1 64.8-58S255.8 70.4 285.2 70c.2-5.9 .9-11.9 2-17.7c3.6-16.7 11.1-32.3 21.8-45.5c-47.7-3.8-95.4 6-137.6 28.5S94.3 91.7 70.8 133.4c2.7-.2 5.3-.3 8-.3c7.5 0 15 .8 22.4 2.3z"],
|
|
14734
|
+
"Windows": [448, 512, [], "solid", "M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"],
|
|
14735
|
+
"Whatsapp": [448, 512, [], "regular", "M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],
|
|
14736
|
+
"X-Twitter": [512, 512, [], "regular", "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"],
|
|
14737
|
+
// Internals Override
|
|
14738
|
+
"Keyboard": [576, 512, [], "regular", "M64 112c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l448 0c8.8 0 16-7.2 16-16l0-256c0-8.8-7.2-16-16-16L64 112zM0 128C0 92.7 28.7 64 64 64l448 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM176 320l224 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16zm16-96l16 0c8.8 0 16 7.2 16 16l0 16c0 8.8-7.2 16-16 16l-16 0c-8.8 0-16-7.2-16-16l0-16c0-8.8 7.2-16 16-16z"],
|
|
14739
|
+
"IdCard": [576, 512, [], "regular", "M528 160l0 256c0 8.8-7.2 16-16 16l-192 0c0-44.2-35.8-80-80-80l-64 0c-44.2 0-80 35.8-80 80l-32 0c-8.8 0-16-7.2-16-16l0-256 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],
|
|
14740
|
+
"BookUser": [576, 512, [], "regular", "M512 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l448 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80l-64 0zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0z"],
|
|
14741
|
+
"Copy": [448, 512, [], "regular", "M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L400 115.9 400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-32-48 0 0 32c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l32 0 0-48-32 0z"],
|
|
14742
|
+
"Eye": [576, 512, [], "regular", "M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z"],
|
|
14743
|
+
"EyeOff": [640, 512, [], "regular", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm9.4 130.3C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5l-41.9-33zM192 256c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5z"],
|
|
14744
|
+
"StickyNote": [448, 512, [], "regular", "M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l224 0 0-80c0-17.7 14.3-32 32-32l80 0 0-224c0-8.8-7.2-16-16-16L64 80zM288 480L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 224 0 5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7l-5.5 0z"],
|
|
14745
|
+
"CreditCard": [576, 512, [], "regular", "M512 80c8.8 0 16 7.2 16 16l0 32L48 128l0-32c0-8.8 7.2-16 16-16l448 0zm16 144l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192 480 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0z"],
|
|
14746
|
+
"Hourglass": [384, 512, [], "regular", "M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48l8 0 0 19c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445l0 19-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-19c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67l0-19 8 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 0zM192 289.9l81.5 81.5C293 391 304 417.4 304 445l0 19L80 464l0-19c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67l0-19 224 0 0 19c0 27.6-11 54-30.5 73.5L192 222.1z"],
|
|
14747
|
+
// Solid Variants
|
|
14748
|
+
"Bell": [448, 512, [], "solid", "M224 0c-17.7 0-32 14.3-32 32l0 19.2C119 66 64 130.6 64 208l0 18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416l384 0c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8l0-18.8c0-77.4-55-142-128-156.8L256 32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"],
|
|
14749
|
+
"BellOff": [640, 512, [], "solid", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-90.2-70.7c.2-.4 .4-.9 .6-1.3c5.2-11.5 3.1-25-5.3-34.4l-7.4-8.3C497.3 319.2 480 273.9 480 226.8l0-18.8c0-77.4-55-142-128-156.8L352 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 19.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM406.2 416L160 222.1l0 4.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S115.4 416 128 416l278.2 0zm-40.9 77.3c12-12 18.7-28.3 18.7-45.3l-64 0-64 0c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"],
|
|
14750
|
+
"Compass": [512, 512, [], "solid", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm50.7-186.9L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],
|
|
14751
|
+
"File": [384, 512, [], "solid", "M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 288c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128z"],
|
|
14752
|
+
"MessageCircle": [512, 512, [], "solid", "M512 240c0 114.9-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c0 0 0 0 0 0s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.3-.3c.3-.3 .7-.7 1.3-1.4c1.1-1.2 2.8-3.1 4.9-5.7c4.1-5 9.6-12.4 15.2-21.6c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208z"],
|
|
14753
|
+
"Inbox": [512, 512, [], "solid", "M121 32C91.6 32 66 52 58.9 80.5L1.9 308.4C.6 313.5 0 318.7 0 323.9L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-92.1c0-5.2-.6-10.4-1.9-15.5l-57-227.9C446 52 420.4 32 391 32L121 32zm0 64l270 0 48 192-51.2 0c-12.1 0-23.2 6.8-28.6 17.7l-14.3 28.6c-5.4 10.8-16.5 17.7-28.6 17.7l-120.4 0c-12.1 0-23.2-6.8-28.6-17.7l-14.3-28.6c-5.4-10.8-16.5-17.7-28.6-17.7L73 288 121 96z"],
|
|
14754
|
+
"Mail": [512, 512, [], "solid", "M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48L48 64zM0 176L0 384c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-208L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"],
|
|
14755
|
+
"MailOpen": [512, 512, [], "solid", "M64 208.1L256 65.9 448 208.1l0 47.4L289.5 373c-9.7 7.2-21.4 11-33.5 11s-23.8-3.9-33.5-11L64 255.5l0-47.4zM256 0c-12.1 0-23.8 3.9-33.5 11L25.9 156.7C9.6 168.8 0 187.8 0 208.1L0 448c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-239.9c0-20.3-9.6-39.4-25.9-51.4L289.5 11C279.8 3.9 268.1 0 256 0z"],
|
|
14756
|
+
"Mic": [384, 512, [], "solid", "M192 0C139 0 96 43 96 96l0 160c0 53 43 96 96 96s96-43 96-96l0-160c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6c85.8-11.7 152-85.3 152-174.4l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 70.7-57.3 128-128 128s-128-57.3-128-128l0-40z"],
|
|
14757
|
+
"MicOff": [640, 512, [], "solid", "M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 21.2-5.1 41.1-14.2 58.7L416 300.8 416 96c0-53-43-96-96-96s-96 43-96 96l0 54.3L38.8 5.1zM344 430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128l0-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6l0 40c0 89.1 66.2 162.7 152 174.4l0 33.6-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l72 0 72 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0 0-33.6z"],
|
|
14758
|
+
"Link": [640, 512, ["Chain"], "solid", "M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"],
|
|
14759
|
+
"House": [576, 512, [], "solid", "M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"],
|
|
14760
|
+
"Gamepad": [640, 512, [], "solid", "M192 64C86 64 0 150 0 256S86 448 192 448l256 0c106 0 192-86 192-192s-86-192-192-192L192 64zM496 168a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM392 304a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM168 200c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 32c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l32 0 0-32z"],
|
|
14761
|
+
"Camera": [512, 512, [], "solid", "M149.1 64.8L138.7 96 64 96C28.7 96 0 124.7 0 160L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64l-74.7 0L362.9 64.8C356.4 45.2 338.1 32 317.4 32L194.6 32c-20.7 0-39 13.2-45.5 32.8zM256 192a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],
|
|
14762
|
+
"Printer": [512, 512, [], "solid", "M128 0C92.7 0 64 28.7 64 64l0 96 64 0 0-96 226.7 0L384 93.3l0 66.7 64 0 0-66.7c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0L128 0zM384 352l0 32 0 64-256 0 0-64 0-16 0-16 256 0zm64 32l32 0c17.7 0 32-14.3 32-32l0-96c0-35.3-28.7-64-64-64L64 192c-35.3 0-64 28.7-64 64l0 96c0 17.7 14.3 32 32 32l32 0 0 64c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-64zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],
|
|
14763
|
+
"Server": [512, 512, [], "solid", "M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"],
|
|
14764
|
+
"Calendar": [448, 512, [], "solid", "M96 32l0 32L48 64C21.5 64 0 85.5 0 112l0 48 448 0 0-48c0-26.5-21.5-48-48-48l-48 0 0-32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 32L160 64l0-32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192L0 192 0 464c0 26.5 21.5 48 48 48l352 0c26.5 0 48-21.5 48-48l0-272z"],
|
|
14765
|
+
"Pipette": [512, 512, [], "solid", "M341.6 29.2L240.1 130.8l-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4L482.8 170.4c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4L5.4 462.2c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4L89.7 480l42.4 0c21.2 0 41.6-8.4 56.6-23.4L309.4 335.9l-45.3-45.3L143.4 411.3c-3 3-7.1 4.7-11.3 4.7L96 416l0-36.1c0-4.2 1.7-8.3 4.7-11.3L221.4 247.9l-45.3-45.3L55.4 323.3z"],
|
|
14766
|
+
"Scroll": [576, 512, [], "solid", "M0 80l0 48c0 17.7 14.3 32 32 32l16 0 48 0 0-80c0-26.5-21.5-48-48-48S0 53.5 0 80zM112 32c10 13.4 16 30 16 48l0 304c0 35.3 28.7 64 64 64s64-28.7 64-64l0-5.3c0-32.4 26.3-58.7 58.7-58.7L480 320l0-192c0-53-43-96-96-96L112 32zM464 480c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16l-245.3 0c-14.7 0-26.7 11.9-26.7 26.7l0 5.3c0 53-43 96-96 96l176 0 96 0z"],
|
|
14767
|
+
"Smartphone": [384, 512, [], "solid", "M16 64C16 28.7 44.7 0 80 0L304 0c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64L80 512c-35.3 0-64-28.7-64-64L16 64zM144 448c0 8.8 7.2 16 16 16l64 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64 0c-8.8 0-16 7.2-16 16zM304 64L80 64l0 320 224 0 0-320z"],
|
|
14768
|
+
"Settings": [512, 512, [], "solid", "M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6c-4.4 11.9-9.7 23.3-15.8 34.3l-4.7 8.1c-6.6 11-14 21.4-22.1 31.2c-5.9 7.2-15.7 9.6-24.5 6.8l-55.7-17.7c-13.4 10.3-28.2 18.9-44 25.4l-12.5 57.1c-2 9.1-9 16.3-18.2 17.8c-13.8 2.3-28 3.5-42.5 3.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1 425.9c-8.8 2.8-18.6 .3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C64.6 273.1 64 264.6 64 256s.6-17.1 1.7-25.4L22.4 191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9 9.7-23.3 15.8-34.3l4.7-8.1c6.6-11 14-21.4 22.1-31.2c5.9-7.2 15.7-9.6 24.5-6.8l55.7 17.7c13.4-10.3 28.2-18.9 44-25.4l12.5-57.1c2-9.1 9-16.3 18.2-17.8C227.3 1.2 241.5 0 256 0s28.7 1.2 42.5 3.5c9.2 1.5 16.2 8.7 18.2 17.8l12.5 57.1c15.8 6.5 30.6 15.1 44 25.4l55.7-17.7c8.8-2.8 18.6-.3 24.5 6.8c8.1 9.8 15.5 20.2 22.1 31.2l4.7 8.1c6.1 11 11.4 22.4 15.8 34.3zM256 336a80 80 0 1 0 0-160 80 80 0 1 0 0 160z"],
|
|
14769
|
+
"Map": [576, 512, [], "solid", "M384 476.1L192 421.2l0-385.3L384 90.8l0 385.3zm32-1.2l0-386.5L543.1 37.5c15.8-6.3 32.9 5.3 32.9 22.3l0 334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1L160 37.2l0 386.5L32.9 474.5C17.1 480.8 0 469.2 0 452.2L0 117.4c0-9.8 6-18.6 15.1-22.3z"],
|
|
14770
|
+
"Folder": [512, 512, [], "solid", "M64 480H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H288c-10.1 0-19.6-4.7-25.6-12.8L243.2 57.6C231.1 41.5 212.1 32 192 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64z"],
|
|
14771
|
+
"FolderOpen": [576, 512, [], "solid", "M384 480l48 0c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224l-400 0c-11.4 0-21.9 6-27.6 15.9L48 357.1 48 96c0-8.8 7.2-16 16-16l117.5 0c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8L416 144c8.8 0 16 7.2 16 16l0 32 48 0 0-32c0-35.3-28.7-64-64-64L298.5 96c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l23.7 0L384 480z"],
|
|
14772
|
+
"FolderClosed": [512, 512, [], "solid", "M448 480L64 480c-35.3 0-64-28.7-64-64L0 192l512 0 0 224c0 35.3-28.7 64-64 64zm64-320L0 160 0 96C0 60.7 28.7 32 64 32l128 0c20.1 0 39.1 9.5 51.2 25.6l19.2 25.6c6 8.1 15.5 12.8 25.6 12.8l160 0c35.3 0 64 28.7 64 64z"],
|
|
14773
|
+
"Play": [384, 512, [], "solid", "M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z"],
|
|
14774
|
+
"Pause": [320, 512, [], "solid", "M48 64C21.5 64 0 85.5 0 112L0 400c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48L48 64zm192 0c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-32 0z"],
|
|
14775
|
+
"Stop": [384, 512, [], "solid", "M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"],
|
|
14776
|
+
"Image": [512, 512, [], "solid", "M448 80c8.8 0 16 7.2 16 16l0 319.8-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3L48 96c0-8.8 7.2-16 16-16l384 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"],
|
|
14777
|
+
"Images": [576, 512, [], "solid", "M160 80l352 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-21.2 0L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336 160 336c-8.8 0-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16zM96 96l0 224c0 35.3 28.7 64 64 64l352 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L160 32c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120L0 344c0 75.1 60.9 136 136 136l320 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-320 0c-48.6 0-88-39.4-88-88l0-224zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"],
|
|
14778
|
+
"Function": [384, 512, [], "solid", "M314.7 32c-38.8 0-73.7 23.3-88.6 59.1L170.7 224 64 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l80 0L98.9 396.3c-5 11.9-16.6 19.7-29.5 19.7L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l37.3 0c38.8 0 73.7-23.3 88.6-59.1L213.3 288 320 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-80 0 45.1-108.3c5-11.9 16.6-19.7 29.5-19.7L352 96c17.7 0 32-14.3 32-32s-14.3-32-32-32l-37.3 0z"],
|
|
14779
|
+
"Bone": [576, 512, [], "solid", "M153.7 144.8c6.9 16.3 20.6 31.2 38.3 31.2l192 0c17.7 0 31.4-14.9 38.3-31.2C434.4 116.1 462.9 96 496 96c44.2 0 80 35.8 80 80c0 30.4-17 56.9-42 70.4c-3.6 1.9-6 5.5-6 9.6s2.4 7.7 6 9.6c25 13.5 42 40 42 70.4c0 44.2-35.8 80-80 80c-33.1 0-61.6-20.1-73.7-48.8C415.4 350.9 401.7 336 384 336l-192 0c-17.7 0-31.4 14.9-38.3 31.2C141.6 395.9 113.1 416 80 416c-44.2 0-80-35.8-80-80c0-30.4 17-56.9 42-70.4c3.6-1.9 6-5.5 6-9.6s-2.4-7.7-6-9.6C17 232.9 0 206.4 0 176c0-44.2 35.8-80 80-80c33.1 0 61.6 20.1 73.7 48.8z"],
|
|
14780
|
+
"Puzzle": [512, 512, [], "solid", "M192 104.8c0-9.2-5.8-17.3-13.2-22.8C167.2 73.3 160 61.3 160 48c0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34c-7.4 5.5-13.2 13.6-13.2 22.8c0 12.8 10.4 23.2 23.2 23.2l56.8 0c26.5 0 48 21.5 48 48l0 56.8c0 12.8 10.4 23.2 23.2 23.2c9.2 0 17.3-5.8 22.8-13.2c8.7-11.6 20.7-18.8 34-18.8c26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8c-5.5-7.4-13.6-13.2-22.8-13.2c-12.8 0-23.2 10.4-23.2 23.2L384 464c0 26.5-21.5 48-48 48l-56.8 0c-12.8 0-23.2-10.4-23.2-23.2c0-9.2 5.8-17.3 13.2-22.8c11.6-8.7 18.8-20.7 18.8-34c0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34c7.4 5.5 13.2 13.6 13.2 22.8c0 12.8-10.4 23.2-23.2 23.2L48 512c-26.5 0-48-21.5-48-48L0 343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2C54.7 344.8 66.7 352 80 352c26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8C40.5 250.2 32.4 256 23.2 256C10.4 256 0 245.6 0 232.8L0 176c0-26.5 21.5-48 48-48l120.8 0c12.8 0 23.2-10.4 23.2-23.2z"],
|
|
14781
|
+
"Lock": [448, 512, [], "solid", "M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"],
|
|
14782
|
+
"LockOpen": [576, 512, [], "solid", "M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"],
|
|
14783
|
+
"Shuffle": [512, 512, [], "solid", "M403.8 34.4c12-5 25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-10.1 0-19.6 4.7-25.6 12.8L284 229.3 244 176l31.2-41.6C293.3 110.2 321.8 96 352 96l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6zM164 282.7L204 336l-31.2 41.6C154.7 401.8 126.2 416 96 416l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c10.1 0 19.6-4.7 25.6-12.8L164 282.7zm274.6 188c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-32-32 0c-30.2 0-58.7-14.2-76.8-38.4L121.6 172.8c-6-8.1-15.5-12.8-25.6-12.8l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c30.2 0 58.7 14.2 76.8 38.4L326.4 339.2c6 8.1 15.5 12.8 25.6 12.8l32 0 0-32c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l64 64c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6l-64 64z"],
|
|
14784
|
+
"LogIn": [512, 512, [], "solid", "M352 96l64 0c17.7 0 32 14.3 32 32l0 256c0 17.7-14.3 32-32 32l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c53 0 96-43 96-96l0-256c0-53-43-96-96-96l-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32zm-9.4 182.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L242.7 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128z"],
|
|
14785
|
+
"LogOut": [512, 512, [], "solid", "M502.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-128-128c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 224 192 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l210.7 0-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l128-128zM160 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 32C43 32 0 75 0 128L0 384c0 53 43 96 96 96l64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l64 0z"],
|
|
14786
|
+
"MousePointer": [320, 512, [], "solid", "M0 55.2L0 426c0 12.2 9.9 22 22 22c6.3 0 12.4-2.7 16.6-7.5L121.2 346l58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320l118.1 0c12.2 0 22.1-9.9 22.1-22.1c0-6.3-2.7-12.3-7.4-16.5L38.6 37.9C34.3 34.1 28.9 32 23.2 32C10.4 32 0 42.4 0 55.2z"],
|
|
14787
|
+
"User": [512, 512, [], "solid", "M256 288A144 144 0 1 0 256 0a144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7l450.6 0c17 0 30.7-13.8 30.7-30.7C512 392.2 439.8 320 350.7 320l-189.4 0z"],
|
|
14788
|
+
"HardDriveDownload": [512, 512, [], "solid", "M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"],
|
|
14789
|
+
"HardDriveUpload": [512, 512, [], "solid", "M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352l128 0c0 35.3 28.7 64 64 64s64-28.7 64-64l128 0c35.3 0 64 28.7 64 64l0 32c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64l0-32c0-35.3 28.7-64 64-64zM432 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"],
|
|
14790
|
+
"CirclePlay": [512, 512, [], "solid", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"],
|
|
14791
|
+
"CircleStop": [512, 512, [], "solid", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z"],
|
|
14792
|
+
"CircleDot": [512, 512, [], "solid", "M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"],
|
|
14793
|
+
"Apple": [384, 512, [], "solid", "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],
|
|
14794
|
+
"Chrome": [512, 512, [], "solid", "M0 256C0 209.4 12.47 165.6 34.27 127.1L144.1 318.3C166 357.5 207.9 384 256 384C270.3 384 283.1 381.7 296.8 377.4L220.5 509.6C95.9 492.3 0 385.3 0 256zM365.1 321.6C377.4 302.4 384 279.1 384 256C384 217.8 367.2 183.5 340.7 160H493.4C505.4 189.6 512 222.1 512 256C512 397.4 397.4 511.1 256 512L365.1 321.6zM477.8 128H256C193.1 128 142.3 172.1 130.5 230.7L54.19 98.47C101 38.53 174 0 256 0C350.8 0 433.5 51.48 477.8 128V128zM168 256C168 207.4 207.4 168 256 168C304.6 168 344 207.4 344 256C344 304.6 304.6 344 256 344C207.4 344 168 304.6 168 256z"],
|
|
14795
|
+
"Facebook": [512, 512, [], "solid", "M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"],
|
|
14796
|
+
"Github": [496, 512, [], "solid", "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],
|
|
14797
|
+
"Youtube": [576, 512, [], "solid", "M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],
|
|
14874
14798
|
// Some Aliases
|
|
14875
|
-
"
|
|
14876
|
-
"
|
|
14877
|
-
"
|
|
14878
|
-
"
|
|
14879
|
-
"
|
|
14880
|
-
"
|
|
14881
|
-
"
|
|
14882
|
-
"
|
|
14883
|
-
"
|
|
14884
|
-
"
|
|
14885
|
-
|
|
14886
|
-
|
|
14887
|
-
|
|
14799
|
+
"VR": "VrCardboard",
|
|
14800
|
+
"Script": "Scroll",
|
|
14801
|
+
"Media": "PhotoFilm",
|
|
14802
|
+
"CC": "ClosedCaptioning",
|
|
14803
|
+
"ASL": "HandsAslInterpreting",
|
|
14804
|
+
"HandRock": "HandBackFist",
|
|
14805
|
+
"Chain": "Link",
|
|
14806
|
+
"ChainBroken": "LinkOff",
|
|
14807
|
+
"ChainOff": "LinkOff",
|
|
14808
|
+
"Unlink": "LinkOff"
|
|
14809
|
+
}
|
|
14810
|
+
|
|
14811
|
+
// Alias for Lucide Icons
|
|
14812
|
+
LX.LucideIconAlias = {
|
|
14813
|
+
"Stop": "Square",
|
|
14814
|
+
"Refresh": "RefreshCw",
|
|
14815
|
+
"Left": "ChevronLeft",
|
|
14816
|
+
"Right": "ChevronRight",
|
|
14817
|
+
"Up": "ChevronUp",
|
|
14818
|
+
"Down": "ChevronDown",
|
|
14819
|
+
"MenuArrows": "ChevronsUpDown",
|
|
14820
|
+
"RotateForward": "RotateCw",
|
|
14821
|
+
"RotateRight": "RotateCw",
|
|
14822
|
+
"RotateBack": "RotateCcw",
|
|
14823
|
+
"RotateLeft": "RotateCcw",
|
|
14888
14824
|
}
|
|
14889
14825
|
|
|
14890
14826
|
export { LX };
|