@sswroom/sswr 1.3.1 → 1.4.0

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/web.js CHANGED
@@ -112,6 +112,7 @@ function hexColor(c)
112
112
 
113
113
  export function parseCSSColor(c)
114
114
  {
115
+ var i;
115
116
  if (c.startsWith("#"))
116
117
  {
117
118
  if (c.length == 7)
@@ -119,47 +120,389 @@ export function parseCSSColor(c)
119
120
  return hexColor(parseInt(c.substring(1), 16));
120
121
  }
121
122
  }
123
+ else if ((i = c.indexOf("(")) >= 0 && c.endsWith(")"))
124
+ {
125
+ var funcName = c.substring(0, i).trim();
126
+ if (funcName == 'rgb')
127
+ {
128
+ var funcCont = c.substring(i + 1, c.length - 1).trim();
129
+ var color = {a: 1.0};
130
+ i = funcCont.indexOf("/");
131
+ if (i >= 0)
132
+ {
133
+ var a = funcCont.substring(i + 1).trim();
134
+ funcCont = funcCont.substring(0, i).trim();
135
+ if (a.endsWith("%"))
136
+ {
137
+ color.a = a.substring(0, a.length - 1) / 100;
138
+ }
139
+ else
140
+ {
141
+ color.a = a - 0;
142
+ }
143
+ }
144
+ var rgb = funcCont.split(" ");
145
+ if (rgb.length == 3)
146
+ {
147
+ if (rgb[0].endsWith("%"))
148
+ color.r = rgb[0].substring(0, rgb[0].length - 1) / 100;
149
+ else
150
+ color.r = rgb[0] / 255;
151
+ if (rgb[1].endsWith("%"))
152
+ color.g = rgb[1].substring(0, rgb[1].length - 1) / 100;
153
+ else
154
+ color.g = rgb[1] / 255;
155
+ if (rgb[2].endsWith("%"))
156
+ color.b = rgb[2].substring(0, rgb[2].length - 1) / 100;
157
+ else
158
+ color.b = rgb[2] / 255;
159
+ }
160
+ else
161
+ {
162
+ color.r = 0;
163
+ color.g = 0;
164
+ color.b = 0;
165
+ }
166
+ return color;
167
+ }
168
+ }
122
169
  else
123
170
  {
124
171
  switch (c)
125
172
  {
173
+ case "aliceblue":
174
+ return hexColor(0xf0f8ff);
175
+ case "antiquewhite":
176
+ return hexColor(0xfaebd7);
177
+ case "aqua":
178
+ return hexColor(0x00ffff);
179
+ case "aquamarine":
180
+ return hexColor(0x7fffd4);
181
+ case "azure":
182
+ return hexColor(0xf0ffff);
183
+ case "beige":
184
+ return hexColor(0xf5f5dc);
185
+ case "bisque":
186
+ return hexColor(0xffe4c4);
126
187
  case "black":
127
188
  return hexColor(0x000000);
128
- case "silver":
129
- return hexColor(0xc0c0c0);
130
- case "gray":
131
- return hexColor(0x808080);
132
- case "white":
133
- return hexColor(0xffffff);
134
- case "maroon":
135
- return hexColor(0x800000);
136
- case "red":
137
- return hexColor(0xff0000);
138
- case "purple":
139
- return hexColor(0x800080);
189
+ case "blanchedalmond":
190
+ return hexColor(0xffebcd);
191
+ case "blue":
192
+ return hexColor(0x0000ff);
193
+ case "blueviolet":
194
+ return hexColor(0x8a2be2);
195
+ case "brown":
196
+ return hexColor(0xa52a2a);
197
+ case "burlywood":
198
+ return hexColor(0xdeb887);
199
+ case "cadetblue":
200
+ return hexColor(0x5f9ea0);
201
+ case "chartreuse":
202
+ return hexColor(0x7fff00);
203
+ case "chocolate":
204
+ return hexColor(0xd2691e);
205
+ case "coral":
206
+ return hexColor(0xff7f50);
207
+ case "cornflowerblue":
208
+ return hexColor(0x6495ed);
209
+ case "cornsilk":
210
+ return hexColor(0xfff8dc);
211
+ case "crimson":
212
+ return hexColor(0xdc143c);
213
+ case "cyan":
214
+ return hexColor(0x00ffff);
215
+ case "fucdarkbluehsia":
216
+ return hexColor(0x00008b);
217
+ case "darkcyan":
218
+ return hexColor(0x008b8b);
219
+ case "darkgoldenrod":
220
+ return hexColor(0xb8860b);
221
+ case "darkgray":
222
+ return hexColor(0xa9a9a9);
223
+ case "darkgreen":
224
+ return hexColor(0x006400);
225
+ case "darkgrey":
226
+ return hexColor(0xa9a9a9);
227
+ case "darkkhaki":
228
+ return hexColor(0xbdb76b);
229
+ case "darkmagenta":
230
+ return hexColor(0x8b008b);
231
+ case "darkolivegreen":
232
+ return hexColor(0x556b2f);
233
+ case "darkorange":
234
+ return hexColor(0xff8c00);
235
+ case "darkorchid":
236
+ return hexColor(0x9932cc);
237
+ case "darkred":
238
+ return hexColor(0x8b0000);
239
+ case "darksalmon":
240
+ return hexColor(0xe9967a);
241
+ case "darkseagreen":
242
+ return hexColor(0x8fbc8f);
243
+ case "darkslateblue":
244
+ return hexColor(0x483d8b);
245
+ case "darkslategray":
246
+ return hexColor(0x2f4f4f);
247
+ case "darkslategrey":
248
+ return hexColor(0x2f4f4f);
249
+ case "darkturquoise":
250
+ return hexColor(0x00ced1);
251
+ case "darkviolet":
252
+ return hexColor(0x9400d3);
253
+ case "deeppink":
254
+ return hexColor(0xff1493);
255
+ case "deepskyblue":
256
+ return hexColor(0x00bfff);
257
+ case "dimgray":
258
+ return hexColor(0x696969);
259
+ case "dodgerblue":
260
+ return hexColor(0x1e90ff);
261
+ case "firebrick":
262
+ return hexColor(0xb22222);
263
+ case "floralwhite":
264
+ return hexColor(0xfffaf0);
265
+ case "forestgreen":
266
+ return hexColor(0x228b22);
140
267
  case "fuchsia":
141
268
  return hexColor(0xff00ff);
269
+ case "gainsboro":
270
+ return hexColor(0xdcdcdc);
271
+ case "ghostwhite":
272
+ return hexColor(0xf8f8ff);
273
+ case "gold":
274
+ return hexColor(0xffd700);
275
+ case "goldenrod":
276
+ return hexColor(0xdaa520);
277
+ case "gray":
278
+ return hexColor(0x808080);
142
279
  case "green":
143
280
  return hexColor(0x008000);
281
+ case "greenyellow":
282
+ return hexColor(0xadff2f);
283
+ case "grey":
284
+ return hexColor(0x808080);
285
+ case "honeydew":
286
+ return hexColor(0xf0fff0);
287
+ case "hotpink":
288
+ return hexColor(0xff69b4);
289
+ case "indianred":
290
+ return hexColor(0xcd5c5c);
291
+ case "indigo":
292
+ return hexColor(0x4b0082);
293
+ case "ivory":
294
+ return hexColor(0xfffff0);
295
+ case "khaki":
296
+ return hexColor(0xf0e68c);
297
+ case "lavender":
298
+ return hexColor(0xe6e6fa);
299
+ case "lavenderblush":
300
+ return hexColor(0xfff0f5);
301
+ case "lawngreen":
302
+ return hexColor(0x7cfc00);
303
+ case "lemonchiffon":
304
+ return hexColor(0xfffacd);
305
+ case "lightblue":
306
+ return hexColor(0xadd8e6);
307
+ case "lightcoral":
308
+ return hexColor(0xf08080);
309
+ case "lightcyan":
310
+ return hexColor(0xe0ffff);
311
+ case "lightgoldenrodyellow":
312
+ return hexColor(0xfafad2);
313
+ case "lightgray":
314
+ return hexColor(0xd3d3d3);
315
+ case "lightgreen":
316
+ return hexColor(0x90ee90);
317
+ case "lightgrey":
318
+ return hexColor(0xd3d3d3);
319
+ case "lightpink":
320
+ return hexColor(0xffb6c1);
321
+ case "lightsalmon":
322
+ return hexColor(0xffa07a);
323
+ case "lightseagreen":
324
+ return hexColor(0x20b2aa);
325
+ case "lightskyblue":
326
+ return hexColor(0x87cefa);
327
+ case "lightslategray":
328
+ return hexColor(0x778899);
329
+ case "lightslategrey":
330
+ return hexColor(0x778899);
331
+ case "lightsteelblue":
332
+ return hexColor(0xb0c4de);
333
+ case "lightyellow":
334
+ return hexColor(0xffffe0);
144
335
  case "lime":
145
336
  return hexColor(0x00ff00);
146
- case "olive":
147
- return hexColor(0x808000);
148
- case "yellow":
149
- return hexColor(0xffff00);
337
+ case "limegreen":
338
+ return hexColor(0x32cd32);
339
+ case "linen":
340
+ return hexColor(0xfaf0e6);
341
+ case "magenta":
342
+ return hexColor(0xff00ff);
343
+ case "maroon":
344
+ return hexColor(0x800000);
345
+ case "mediumaquamarine":
346
+ return hexColor(0x66cdaa);
347
+ case "mediumblue":
348
+ return hexColor(0x0000cd);
349
+ case "mediumorchid":
350
+ return hexColor(0xba55d3);
351
+ case "mediumpurple":
352
+ return hexColor(0x9370db);
353
+ case "mediumseagreen":
354
+ return hexColor(0x3cb371);
355
+ case "mediumslateblue":
356
+ return hexColor(0x7b68ee);
357
+ case "mediumspringgreen":
358
+ return hexColor(0x00fa9a);
359
+ case "mediumturquoise":
360
+ return hexColor(0x48d1cc);
361
+ case "mediumvioletred":
362
+ return hexColor(0xc71585);
363
+ case "midnightblue":
364
+ return hexColor(0x191970);
365
+ case "mintcream":
366
+ return hexColor(0xf5fffa);
367
+ case "mistyrose":
368
+ return hexColor(0xffe4e1);
369
+ case "moccasin":
370
+ return hexColor(0xffe4b5);
371
+ case "navajowhite":
372
+ return hexColor(0xffdead);
150
373
  case "navy":
151
374
  return hexColor(0x000080);
152
- case "blue":
153
- return hexColor(0x0000ff);
375
+ case "oldlace":
376
+ return hexColor(0xfdf5e6);
377
+ case "olive":
378
+ return hexColor(0x808000);
379
+ case "olivedrab":
380
+ return hexColor(0x6b8e23);
381
+ case "orange":
382
+ return hexColor(0xffa500);
383
+ case "orangered":
384
+ return hexColor(0xff4500);
385
+ case "orchid":
386
+ return hexColor(0xda70d6);
387
+ case "palegoldenrod":
388
+ return hexColor(0xeee8aa);
389
+ case "palegreen":
390
+ return hexColor(0x98fb98);
391
+ case "paleturquoise":
392
+ return hexColor(0xafeeee);
393
+ case "palevioletred":
394
+ return hexColor(0xdb7093);
395
+ case "papayawhip":
396
+ return hexColor(0xffefd5);
397
+ case "peachpuff":
398
+ return hexColor(0xffdab9);
399
+ case "peru":
400
+ return hexColor(0xcd853f);
401
+ case "pink":
402
+ return hexColor(0xffc0cb);
403
+ case "plum":
404
+ return hexColor(0xdda0dd);
405
+ case "powderblue":
406
+ return hexColor(0xb0e0e6);
407
+ case "purple":
408
+ return hexColor(0x800080);
409
+ case "rebeccapurple":
410
+ return hexColor(0x663399);
411
+ case "red":
412
+ return hexColor(0xff0000);
413
+ case "rosybrown":
414
+ return hexColor(0xbc8f8f);
415
+ case "royalblue":
416
+ return hexColor(0x4169e1);
417
+ case "saddlebrown":
418
+ return hexColor(0x8b4513);
419
+ case "salmon":
420
+ return hexColor(0xfa8072);
421
+ case "sandybrown":
422
+ return hexColor(0xf4a460);
423
+ case "seagreen":
424
+ return hexColor(0x2e8b57);
425
+ case "seashell":
426
+ return hexColor(0xfff5ee);
427
+ case "sienna":
428
+ return hexColor(0xa0522d);
429
+ case "silver":
430
+ return hexColor(0xc0c0c0);
431
+ case "skyblue":
432
+ return hexColor(0x87ceeb);
433
+ case "slateblue":
434
+ return hexColor(0x6a5acd);
435
+ case "slategray":
436
+ return hexColor(0x708090);
437
+ case "slategrey":
438
+ return hexColor(0x708090);
439
+ case "snow":
440
+ return hexColor(0xfffafa);
441
+ case "springgreen":
442
+ return hexColor(0x00ff7f);
443
+ case "steelblue":
444
+ return hexColor(0x4682b4);
445
+ case "tan":
446
+ return hexColor(0xd2b48c);
154
447
  case "teal":
155
448
  return hexColor(0x008080);
156
- case "aqua":
157
- return hexColor(0x00ffff);
449
+ case "thistle":
450
+ return hexColor(0xd8bfd8);
451
+ case "tomato":
452
+ return hexColor(0xff6347);
453
+ case "transparent":
454
+ return {a: 0, r: 0, g: 0, b: 0};
455
+ case "turquoise":
456
+ return hexColor(0x40e0d0);
457
+ case "violet":
458
+ return hexColor(0xee82ee);
459
+ case "wheat":
460
+ return hexColor(0xf5deb3);
461
+ case "white":
462
+ return hexColor(0xffffff);
463
+ case "whitesmoke":
464
+ return hexColor(0xf5f5f5);
465
+ case "yellow":
466
+ return hexColor(0xffff00);
467
+ case "yellowgreen":
468
+ return hexColor(0x9acd32);
158
469
  }
159
470
  }
160
471
  return {a: 0.0, r: 0.0, g: 0.0, b: 0.0};
161
472
  }
162
473
 
474
+ export function handleFileDrop(ele, hdlr)
475
+ {
476
+ ele.addEventListener("dragover",(ev)=>{
477
+ ev.preventDefault();
478
+ ev.dataTransfer.dropEffect = "copy";
479
+ });
480
+
481
+ ele.addEventListener("drop", (ev)=>{
482
+ ev.preventDefault();
483
+ if (ev.dataTransfer.items)
484
+ {
485
+ var i;
486
+ for (i in ev.dataTransfer.items)
487
+ {
488
+ var item = ev.dataTransfer.items[i];
489
+ if (item.kind === "file")
490
+ {
491
+ hdlr(item.getAsFile());
492
+ }
493
+ }
494
+ }
495
+ else if (ev.dataTransfer.files)
496
+ {
497
+ var i;
498
+ for (i in ev.dataTransfer.files)
499
+ {
500
+ hdlr(ev.dataTransfer.files[i]);
501
+ }
502
+ }
503
+ });
504
+ }
505
+
163
506
  export class Dialog
164
507
  {
165
508
  constructor(content, options)