x4js 1.4.2

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.
Files changed (176) hide show
  1. package/lib/application.d.ts +95 -0
  2. package/lib/application.js +137 -0
  3. package/lib/base64.d.ts +31 -0
  4. package/lib/base64.js +135 -0
  5. package/lib/base_component.d.ts +64 -0
  6. package/lib/base_component.js +77 -0
  7. package/lib/button.d.ts +145 -0
  8. package/lib/button.js +235 -0
  9. package/lib/calendar.d.ts +77 -0
  10. package/lib/calendar.js +236 -0
  11. package/lib/canvas.d.ts +88 -0
  12. package/lib/canvas.js +354 -0
  13. package/lib/cardview.d.ts +83 -0
  14. package/lib/cardview.js +152 -0
  15. package/lib/checkbox.d.ts +72 -0
  16. package/lib/checkbox.js +126 -0
  17. package/lib/color.d.ts +144 -0
  18. package/lib/color.js +584 -0
  19. package/lib/colorpicker.d.ts +98 -0
  20. package/lib/colorpicker.js +1457 -0
  21. package/lib/combobox.d.ts +97 -0
  22. package/lib/combobox.js +246 -0
  23. package/lib/component.d.ts +572 -0
  24. package/lib/component.js +1712 -0
  25. package/lib/datastore.d.ts +392 -0
  26. package/lib/datastore.js +986 -0
  27. package/lib/dialog.d.ts +171 -0
  28. package/lib/dialog.js +468 -0
  29. package/lib/dom_events.d.ts +284 -0
  30. package/lib/dom_events.js +13 -0
  31. package/lib/drag_manager.d.ts +26 -0
  32. package/lib/drag_manager.js +118 -0
  33. package/lib/drawtext.d.ts +43 -0
  34. package/lib/drawtext.js +261 -0
  35. package/lib/fileupload.d.ts +60 -0
  36. package/lib/fileupload.js +158 -0
  37. package/lib/form.d.ts +122 -0
  38. package/lib/form.js +293 -0
  39. package/lib/formatters.d.ts +31 -0
  40. package/lib/formatters.js +75 -0
  41. package/lib/gridview.d.ts +171 -0
  42. package/lib/gridview.js +786 -0
  43. package/lib/hosts/host.d.ts +44 -0
  44. package/lib/hosts/host.js +69 -0
  45. package/lib/i18n.d.ts +67 -0
  46. package/lib/i18n.js +169 -0
  47. package/lib/icon.d.ts +56 -0
  48. package/lib/icon.js +173 -0
  49. package/lib/image.d.ts +51 -0
  50. package/lib/image.js +149 -0
  51. package/lib/index.js +1 -0
  52. package/lib/input.d.ts +86 -0
  53. package/lib/input.js +172 -0
  54. package/lib/label.d.ts +54 -0
  55. package/lib/label.js +86 -0
  56. package/lib/layout.d.ts +77 -0
  57. package/lib/layout.js +261 -0
  58. package/lib/link.d.ts +46 -0
  59. package/lib/link.js +55 -0
  60. package/lib/listview.d.ts +173 -0
  61. package/lib/listview.js +532 -0
  62. package/lib/md5.d.ts +56 -0
  63. package/lib/md5.js +397 -0
  64. package/lib/menu.d.ts +122 -0
  65. package/lib/menu.js +276 -0
  66. package/lib/messagebox.d.ts +64 -0
  67. package/lib/messagebox.js +141 -0
  68. package/lib/panel.d.ts +42 -0
  69. package/lib/panel.js +61 -0
  70. package/lib/popup.d.ts +71 -0
  71. package/lib/popup.js +373 -0
  72. package/lib/property_editor.d.ts +67 -0
  73. package/lib/property_editor.js +247 -0
  74. package/lib/radiobtn.d.ts +68 -0
  75. package/lib/radiobtn.js +131 -0
  76. package/lib/rating.d.ts +49 -0
  77. package/lib/rating.js +93 -0
  78. package/lib/request.d.ts +48 -0
  79. package/lib/request.js +220 -0
  80. package/lib/router.d.ts +13 -0
  81. package/lib/router.js +27 -0
  82. package/lib/settings.d.ts +33 -0
  83. package/lib/settings.js +63 -0
  84. package/lib/sidebarview.d.ts +44 -0
  85. package/lib/sidebarview.js +73 -0
  86. package/lib/smartedit.d.ts +103 -0
  87. package/lib/smartedit.js +381 -0
  88. package/lib/spreadsheet.d.ts +214 -0
  89. package/lib/spreadsheet.js +1073 -0
  90. package/lib/styles.d.ts +81 -0
  91. package/lib/styles.js +262 -0
  92. package/lib/svgcomponent.d.ts +165 -0
  93. package/lib/svgcomponent.js +350 -0
  94. package/lib/tabbar.d.ts +41 -0
  95. package/lib/tabbar.js +66 -0
  96. package/lib/tabview.d.ts +45 -0
  97. package/lib/tabview.js +79 -0
  98. package/lib/textarea.d.ts +59 -0
  99. package/lib/textarea.js +119 -0
  100. package/lib/textedit.d.ts +118 -0
  101. package/lib/textedit.js +406 -0
  102. package/lib/texthiliter.d.ts +56 -0
  103. package/lib/texthiliter.js +219 -0
  104. package/lib/toaster.d.ts +38 -0
  105. package/lib/toaster.js +58 -0
  106. package/lib/tools.d.ts +382 -0
  107. package/lib/tools.js +1096 -0
  108. package/lib/tooltips.d.ts +42 -0
  109. package/lib/tooltips.js +148 -0
  110. package/lib/treeview.d.ts +128 -0
  111. package/lib/treeview.js +490 -0
  112. package/lib/x4_events.d.ts +253 -0
  113. package/lib/x4_events.js +363 -0
  114. package/package.json +21 -0
  115. package/src/README.md +2 -0
  116. package/src/application.ts +191 -0
  117. package/src/base64.ts +162 -0
  118. package/src/base_component.ts +118 -0
  119. package/src/button.ts +327 -0
  120. package/src/calendar.ts +312 -0
  121. package/src/canvas.ts +501 -0
  122. package/src/cardview.ts +220 -0
  123. package/src/checkbox.ts +178 -0
  124. package/src/color.ts +748 -0
  125. package/src/colorpicker.ts +1618 -0
  126. package/src/combobox.ts +348 -0
  127. package/src/component.ts +2330 -0
  128. package/src/datastore.ts +1318 -0
  129. package/src/dialog.ts +631 -0
  130. package/src/dom_events.ts +297 -0
  131. package/src/drag_manager.ts +168 -0
  132. package/src/drawtext.ts +342 -0
  133. package/src/fileupload.ts +208 -0
  134. package/src/form.ts +362 -0
  135. package/src/formatters.ts +96 -0
  136. package/src/gridview.ts +1051 -0
  137. package/src/hosts/electron.ts +161 -0
  138. package/src/hosts/host.ts +100 -0
  139. package/src/hosts/nwjs.ts +141 -0
  140. package/src/hosts/nwjs_types.ts +339 -0
  141. package/src/i18n.ts +205 -0
  142. package/src/icon.ts +237 -0
  143. package/src/image.ts +198 -0
  144. package/src/input.ts +236 -0
  145. package/src/label.ts +124 -0
  146. package/src/layout.ts +366 -0
  147. package/src/link.ts +82 -0
  148. package/src/listview.ts +749 -0
  149. package/src/md5.ts +432 -0
  150. package/src/menu.ts +394 -0
  151. package/src/messagebox.ts +199 -0
  152. package/src/panel.ts +81 -0
  153. package/src/popup.ts +488 -0
  154. package/src/property_editor.ts +333 -0
  155. package/src/radiobtn.ts +190 -0
  156. package/src/rating.ts +131 -0
  157. package/src/request.ts +296 -0
  158. package/src/router.ts +43 -0
  159. package/src/settings.ts +75 -0
  160. package/src/sidebarview.ts +97 -0
  161. package/src/smartedit.ts +532 -0
  162. package/src/spreadsheet.ts +1423 -0
  163. package/src/styles.ts +332 -0
  164. package/src/svgcomponent.ts +440 -0
  165. package/src/tabbar.ts +105 -0
  166. package/src/tabview.ts +106 -0
  167. package/src/textarea.ts +183 -0
  168. package/src/textedit.ts +535 -0
  169. package/src/texthiliter.ts +284 -0
  170. package/src/toaster.ts +76 -0
  171. package/src/tools.ts +1391 -0
  172. package/src/tooltips.ts +185 -0
  173. package/src/treeview.ts +670 -0
  174. package/src/x4.less +1940 -0
  175. package/src/x4_events.ts +558 -0
  176. package/tsconfig.json +14 -0
package/src/x4.less ADDED
@@ -0,0 +1,1940 @@
1
+ // out: false
2
+
3
+
4
+ :root {
5
+ --background: #161717;
6
+
7
+ --button-color: rgb(54,54,54);
8
+ --button-border: rgb(0,0,0);
9
+ --button-icon-color: rgb( 255, 255, 255);
10
+
11
+ --scrollbar-width: 6px;
12
+ --scrollbar-bk: white;
13
+ --scrollbar-thumb: grey;
14
+ }
15
+
16
+ * {
17
+ user-select: none;
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ html {
22
+ font-family: @def-font;
23
+ font-size: @def-font-size;
24
+ }
25
+
26
+ body {
27
+ padding: 0;
28
+ margin: 0;
29
+ position: fixed;
30
+ left: 0;
31
+ top: 0;
32
+ right: 0;
33
+ bottom: 0;
34
+ -webkit-font-smoothing: antialiased;
35
+ }
36
+
37
+ input,
38
+ textarea {
39
+ font-family: inherit;
40
+ font-size: inherit;
41
+ }
42
+
43
+ textarea {
44
+ resize: none;
45
+ outline: none;
46
+ border: 1px solid transparent;
47
+
48
+ &:focus {
49
+ border: 1px solid @selection-color;
50
+ }
51
+
52
+ &::selection {
53
+ background-color: @selection-color;
54
+ color: #fff;
55
+ }
56
+ }
57
+
58
+ .z-float-4 {
59
+ box-shadow: 4px 4px 8px @BLACK40;
60
+ }
61
+
62
+ .z-float-6 {
63
+ box-shadow: 6px 6px 10px @BLACK50;
64
+ }
65
+
66
+ .z-float-8 {
67
+ box-shadow: 8px 8px 16px @BLACK60;
68
+ }
69
+
70
+ .z-float-15 {
71
+ box-shadow: 4px 4px 15px @BLACK60;
72
+ }
73
+
74
+ .x-comp {
75
+ position: relative;
76
+ }
77
+
78
+ .x-flex {
79
+ min-height: 0;
80
+ min-width: 0;
81
+ flex: 1;
82
+ flex-basis: 0;
83
+ }
84
+
85
+ .x-fit {
86
+ position: absolute;
87
+ left: 0;
88
+ top: 0;
89
+ right: 0;
90
+ bottom: 0;
91
+ }
92
+
93
+ .x-hfit {
94
+ position: relative;
95
+ left: 0;
96
+ right: 0;
97
+ }
98
+
99
+ .x-vfit {
100
+ position: relative;
101
+ top: 0;
102
+ bottom: 0;
103
+ }
104
+
105
+ .x-hlayout {
106
+ display: flex;
107
+ flex-direction: row;
108
+ overflow: hidden;
109
+
110
+ &.center {
111
+ align-items: center;
112
+ }
113
+ }
114
+
115
+ .x-grid-layout {
116
+ display: grid;
117
+ justify-content: space-evenly;
118
+ }
119
+
120
+ .x-vlayout {
121
+ display: flex;
122
+ flex-direction: column;
123
+ }
124
+
125
+ .x-label {
126
+ color: inherit;
127
+ &.right {
128
+ text-align: right;
129
+ }
130
+
131
+ &.center {
132
+ text-align: center;
133
+ }
134
+ }
135
+
136
+ @sizer-size: 4px;
137
+
138
+ .x-sizer-overlay {
139
+ position: absolute;
140
+
141
+ &.top {
142
+ width: 100%;
143
+ height: @sizer-size;
144
+ cursor: n-resize;
145
+ left: 0;
146
+ top: 0;
147
+ }
148
+
149
+ &.bottom {
150
+ width: 100%;
151
+ height: @sizer-size;
152
+ cursor: n-resize;
153
+ left: 0;
154
+ bottom: 0;
155
+ }
156
+
157
+ &.right {
158
+ top: 0;
159
+ right: 0;
160
+ width: @sizer-size;
161
+ height: 100%;
162
+ cursor: e-resize;
163
+ }
164
+
165
+ &.left {
166
+ top: 0;
167
+ left: 0;
168
+ width: @sizer-size;
169
+ height: 100%;
170
+ cursor: e-resize;
171
+ }
172
+ }
173
+
174
+ .x-sizer-bottom {
175
+ padding-bottom: @sizer-size;
176
+ }
177
+
178
+ .x-icon {
179
+ &:before {
180
+ font-family: @fa-style-family;
181
+ }
182
+
183
+ display: inline-flex;
184
+ align-items: center;
185
+ text-align: center;
186
+ flex-direction: column;
187
+
188
+ &.x-svg-icon {
189
+ width: 1em;
190
+ height: 1em;
191
+ }
192
+ }
193
+
194
+ .x-base-button {
195
+ display: flex;
196
+ flex-direction: row;
197
+ align-items: center;
198
+ outline: none;
199
+ cursor: pointer;
200
+
201
+ height: 2.5em;
202
+ padding: 8px;
203
+ border: 1px solid var( --button-border );
204
+ overflow: hidden;
205
+
206
+ background-color: var( --button-color );
207
+ color: @WHITE60;
208
+
209
+ .x-icon {
210
+ margin: 0 4px;
211
+ //width: 1em;
212
+ color: var( --button-icon-color );
213
+ }
214
+
215
+ &:not(.x-disable) {
216
+ &:focus {
217
+ border-color: white;
218
+ }
219
+
220
+ &.x-active {
221
+ color: white;
222
+ background-color: @WHITE20;
223
+ }
224
+ }
225
+
226
+ &.x-disable {
227
+ color: gray;
228
+
229
+ &:after {
230
+ content: "";
231
+ background-color: @WHITE60;
232
+ left: 0;
233
+ right: 0;
234
+ display: block;
235
+ top: 0;
236
+ bottom: 0;
237
+ position: absolute;
238
+ cursor: default;
239
+ }
240
+ }
241
+ }
242
+
243
+ .x-image {
244
+ display: flex;
245
+ overflow: hidden;
246
+
247
+ img {
248
+ width: 100%;
249
+ height: 100%;
250
+ }
251
+ }
252
+
253
+ .x-video {
254
+ display: flex;
255
+ overflow: hidden;
256
+
257
+ video {
258
+ width: 100%;
259
+ height: 100%;
260
+ }
261
+ }
262
+
263
+ .x-image-upload {
264
+ @size: 96px;
265
+
266
+ width: @size;
267
+ height: @size;
268
+ margin: 24px;
269
+
270
+ img {
271
+ width: @size;
272
+ height: @size;
273
+
274
+ background-color: @WHITE70;
275
+ //border: 1px solid white;
276
+ border-radius: 50%;
277
+ }
278
+ }
279
+
280
+ .x-canvas {
281
+ overflow: hidden;
282
+ canvas {
283
+ position: absolute;
284
+ left: 0;
285
+ top: 0;
286
+ right: 0;
287
+ bottom: 0;
288
+ }
289
+ }
290
+
291
+ ::-webkit-scrollbar {
292
+ width: var( --scrollbar-width );
293
+ height: var( --scrollbar-width );
294
+ background-color: var( --scrollbar-bk );
295
+ box-sizing: border-box;
296
+ }
297
+
298
+ ::-webkit-scrollbar-thumb {
299
+ background-color: var( --scrollbar-thumb );
300
+ //border-radius: calc( var( --scrollbar-width ) / 2 - 1px );
301
+ }
302
+
303
+ .x-circular-chart {
304
+ background-color: white;
305
+ .z-float-6;
306
+
307
+ .head {
308
+ border-bottom: 1px solid @WHITE10;
309
+ padding: 2px;
310
+ height: 37px;
311
+ white-space: nowrap;
312
+
313
+ .x-label {
314
+ color: white;
315
+ padding: 8px;
316
+ }
317
+
318
+ .x-button {
319
+ height: 32px;
320
+ border: 1px solid @WHITE10;
321
+ }
322
+
323
+ .close-box {
324
+ color: white;
325
+ background-color: transparent;
326
+ border: none;
327
+ font-size: 28px;
328
+ padding-right: 0;
329
+ }
330
+ }
331
+ }
332
+
333
+ .x-text-edit,
334
+ .x-combo-box {
335
+
336
+ display: flex;
337
+ align-items: center;
338
+ //width: 100%;
339
+ width: min-content;
340
+ min-height: 32px;
341
+ padding: 0;
342
+
343
+ margin: 0;
344
+ margin-bottom: 4px;
345
+
346
+ .x-hlayout,
347
+ .x-vlayout {
348
+ overflow: visible;
349
+ }
350
+
351
+ &>.x-label {
352
+ &:after {
353
+ content: ':';
354
+ }
355
+
356
+ padding: 4px;
357
+ color: @BLACK80;
358
+ margin-top: 1px; // hack alignement label / edit
359
+ line-height: 1.3em;
360
+ min-height: 2em;
361
+ }
362
+
363
+ input,
364
+ .x-fake-input {
365
+ height: 2em;
366
+ font-size: inherit;
367
+ outline: none;
368
+ border: none;
369
+ padding: 4px;
370
+ color: @BLACK90;
371
+ background-color: @WHITE25;
372
+ border-bottom: 1px solid transparent;
373
+ margin-top: 1px; // hack alignement label / edit
374
+ line-height: 1.3em;
375
+
376
+ &::placeholder {
377
+ color: @WHITE50;
378
+ }
379
+
380
+ &::selection {
381
+ background-color: @selection-color;
382
+ color: #fff;
383
+ }
384
+ }
385
+
386
+ &:focus {
387
+ outline: none;
388
+
389
+ &> .x-label {
390
+ color: @focus-color;
391
+ }
392
+ }
393
+
394
+ .x-button.gadget {
395
+
396
+ font-size: @def-font-size;
397
+ background-color: @BLACK10;
398
+ border: none;
399
+
400
+ margin: 0;
401
+ padding: 0;
402
+ height: 2em;
403
+ margin-top: 1px;
404
+
405
+ .x-icon {
406
+ font-size: 85%;
407
+ padding-right: 2px;
408
+ }
409
+ }
410
+
411
+ &:focus {
412
+ .x-button.gadget,
413
+ input {
414
+ border-color: @focus-color;
415
+ }
416
+
417
+ input {
418
+ border-bottom: 1px solid @focus-color;
419
+ }
420
+
421
+ .x-button.gadget {
422
+ color: @focus-color;
423
+ }
424
+
425
+ .x-label {
426
+ color: @focus-color;
427
+ }
428
+ }
429
+
430
+ .error-info {
431
+ font-size: 70%;
432
+ padding: 4px;
433
+ color: white;
434
+ padding-left: 19px;
435
+ padding-top: 6px;
436
+ pointer-events: none;
437
+ right: 0;
438
+ position: absolute;
439
+ top: -2px;
440
+ z-index: 1;
441
+
442
+ &:before {
443
+ font-family: @fa-style-family;
444
+ content: @fa-var-circle-exclamation;
445
+ padding-right: 3px;
446
+ position: absolute;
447
+ left: 1px;
448
+ top: 6px;
449
+ }
450
+ }
451
+
452
+ &.x-required .label1:before {
453
+ content: '*';
454
+ padding-right: 2px;
455
+ }
456
+
457
+ &.x-error {
458
+ input {
459
+ border-bottom: none;
460
+ border-left: 4px solid @error-color;
461
+ }
462
+ }
463
+ }
464
+
465
+ .x-combo-box {
466
+
467
+ &> .x-label {
468
+ border-top: 1px solid transparent;
469
+ }
470
+
471
+ .x-button.gadget,
472
+ input,
473
+ .x-fake-input {
474
+ border: 1px solid @BLACK10;
475
+ }
476
+
477
+ .x-fake-input {
478
+ min-width: 2em;
479
+ }
480
+
481
+ input,
482
+ .x-fake-input {
483
+ cursor: default;
484
+ border-right: none;
485
+ }
486
+
487
+ &:focus {
488
+ .x-button.gadget,
489
+ input,
490
+ .x-fake-input {
491
+ border-color: @focus-color;
492
+ }
493
+
494
+ input,
495
+ .x-fake-input {
496
+ border-bottom: 1px solid @focus-color;
497
+ }
498
+
499
+ .x-button.gadget {
500
+ color: @focus-color;
501
+ }
502
+
503
+ .x-label {
504
+ color: @focus-color;
505
+ }
506
+ }
507
+
508
+ }
509
+
510
+
511
+
512
+
513
+ .x-hlayout {
514
+ & > .x-combo-box {
515
+ margin-bottom: 0;
516
+ //min-height: unset;
517
+ margin-right: 4px;
518
+ }
519
+ }
520
+
521
+ .x-text-edit {
522
+
523
+ &.vertical {
524
+ align-items: stretch;
525
+ }
526
+
527
+ input {
528
+ &:read-only {
529
+ background-color: transparent;
530
+ border-bottom: 1px solid @BLACK10;
531
+ }
532
+ }
533
+
534
+ .x-button {
535
+ padding: 8px 4px;
536
+ height: auto;
537
+ border: none;
538
+ background-color: rgba(0,0,0,0.1);
539
+
540
+ &:hover {
541
+ background-color: rgba(0,0,0,0.3);
542
+ }
543
+ }
544
+
545
+
546
+
547
+ &:focus {
548
+ input {
549
+ border-bottom: 1px solid white;
550
+ }
551
+
552
+ .label1 {
553
+ color: black;
554
+ }
555
+ }
556
+
557
+ }
558
+
559
+ .x-check-box {
560
+ align-items: center;
561
+ color: @BLACK80;
562
+ outline: none;
563
+ //min-height: 2em;
564
+ padding: 4px 0;
565
+
566
+ input {
567
+ //position: absolute;
568
+ //display: none;
569
+ outline: none;
570
+ margin: 4px;
571
+ padding: 0;
572
+ }
573
+
574
+ .x-label {
575
+ padding: 4px;
576
+ }
577
+
578
+ &:focus-within {
579
+ text-decoration: underline;
580
+ color: @selection-color;
581
+ }
582
+ }
583
+
584
+ .x-check-box.slider {
585
+ @delay: 0.2s;
586
+
587
+ input {
588
+ position: absolute;
589
+ clip: rect(0 0 0 0);
590
+ position: absolute;
591
+ width: 1px;
592
+ height: 1px;
593
+ }
594
+
595
+ .x-label:before {
596
+ box-sizing: border-box;
597
+ position: absolute;
598
+ left: 0px;
599
+ top: 3px;
600
+ content: "";
601
+ display: inline-block;
602
+ width: 2.4em;
603
+ height: 1.4em;
604
+ border-radius: 1.4rem;
605
+ padding: 2px;
606
+ background-color: @BLACK30;
607
+ transition: all .2s;
608
+ border: 1px solid @WHITE50
609
+ }
610
+
611
+ // circle
612
+ .x-label:after {
613
+ box-sizing: border-box;
614
+ content: "";
615
+ top: 5px;
616
+ height: calc(1.4em - 4px);
617
+ width: calc(1.4em - 4px);
618
+ border-radius: 50%;
619
+ background-color: #fff;
620
+ transition: all .2s;
621
+ position: absolute;
622
+ left: 2px;
623
+ }
624
+
625
+ input:checked + .x-label:before {
626
+ background-color: @selection-color;
627
+ }
628
+
629
+ input:checked + .x-label:after {
630
+ left: calc( 1em + 2px);
631
+ background-color: white;
632
+ }
633
+
634
+ .x-label {
635
+ padding-left: calc(2.5em + 4px );
636
+ height: 2em;
637
+ }
638
+ }
639
+
640
+ .x-menu {
641
+ box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
642
+ background-color: #f7f7f7;
643
+ padding: 2px 0;
644
+
645
+ max-height: 80%;
646
+ overflow: auto;
647
+ }
648
+
649
+ .x-menu-title {
650
+ width: 100%;
651
+ background-color: #e22e6d;
652
+ color: white;
653
+ height: 2.3em;
654
+ display: block;
655
+ padding: 0 8px;
656
+ line-height: 2.5em;
657
+ }
658
+
659
+ .x-menu-item {
660
+ display: flex;
661
+ flex-direction: row;
662
+ align-items: center;
663
+ outline: none;
664
+
665
+ background-color: transparent;
666
+ color: @BLACK80;
667
+
668
+ padding: 0px 8px;
669
+ min-width: 120px;
670
+ border: none;
671
+
672
+ .x-icon {
673
+ width: 1em;
674
+ margin-right: 8px;
675
+ color: @BLACK30;
676
+ }
677
+
678
+ .x-label {
679
+ padding: 4px;
680
+ }
681
+
682
+ &:hover {
683
+ background-color: #c6d3d9;
684
+ color: black;
685
+ .x-icon {
686
+ color: black;
687
+ }
688
+ }
689
+ }
690
+
691
+
692
+ .x-popup-menu-item {
693
+ &:after {
694
+ content: @fa-var-chevron-right;
695
+ font-family: @fa-style-family;
696
+ font-size: 80%;
697
+ }
698
+ }
699
+
700
+ .x-menu-separator {
701
+ margin-top: 4px;
702
+ border-top: 1px solid @BLACK10;
703
+ margin-bottom: 3px;
704
+ }
705
+
706
+ .x-link {
707
+ padding: 4px;
708
+ color: @selection-color;
709
+ cursor: pointer;
710
+ outline: none;
711
+
712
+ display: flex;
713
+ align-items: center;
714
+
715
+ &:focus {
716
+ color: @selection-color;
717
+ text-decoration: underline;
718
+ }
719
+
720
+ // min-height: 32px;
721
+ color: inherit;
722
+ }
723
+
724
+ .x-column-view {
725
+ border-bottom: 1px solid @WHITE50;
726
+ overflow: hidden;
727
+
728
+ .line {
729
+ height: 48px;
730
+ }
731
+
732
+ .head {
733
+ background: none;
734
+ background-color: inherit;
735
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
736
+ z-index: 2;
737
+
738
+ border: 1px solid transparent;
739
+ border-bottom: 1px solid @WHITE50;
740
+ height: 40px;
741
+
742
+ margin: 0 4px;
743
+
744
+ .x-label {
745
+ line-height: 32px;
746
+ }
747
+ }
748
+
749
+ .h-container {
750
+ margin-right: var( --scrollbar-width );
751
+ }
752
+ }
753
+
754
+ .x-list-view {
755
+
756
+ border: 1px solid transparent;
757
+
758
+ &:focus {
759
+ outline: none;
760
+ }
761
+
762
+ .x-list-item {
763
+ padding: 4px;
764
+ line-height: 2em;
765
+ white-space: nowrap;
766
+
767
+ &:hover {
768
+ background-color: fadeout( @selection-color, 10% );
769
+ color: white;
770
+ }
771
+
772
+ &.x-selected {
773
+ background-color: @selection-color;
774
+ color: white;
775
+ }
776
+
777
+ &:focus {
778
+ outline: none;
779
+ }
780
+ }
781
+
782
+ .gadgets {
783
+ border-top: 1px solid @BLACK50;
784
+ background-color: @BLACK10;
785
+
786
+ .x-button {
787
+ background-color: transparent;
788
+ &:hover {
789
+ background-color: white;
790
+ };
791
+ }
792
+ }
793
+ }
794
+
795
+ .x-mask {
796
+ filter: grayscale(80%);
797
+
798
+ &:after {
799
+ content: '';
800
+
801
+ position: absolute; // to be sure it will be over everybody
802
+ left: -100vw;
803
+ top: -100vh;
804
+ width: 200vw;
805
+ height: 200vh;
806
+
807
+ background-color: fadeout( @selection-color, 40% );
808
+ z-index: 999;
809
+ }
810
+ }
811
+
812
+ .x-popup {
813
+ position: absolute;
814
+ z-index: 1000;
815
+
816
+ &:focus {
817
+ outline: none;
818
+ }
819
+ }
820
+
821
+ .x-panel {
822
+ &>.title {
823
+ align-items: center;
824
+ line-height: 1.5em;
825
+ padding: 4px;
826
+
827
+ &> .x-label {
828
+ flex: 1;
829
+ }
830
+
831
+ &> .x-button {
832
+ background-color: transparent;
833
+ padding: 0;
834
+ border: none;
835
+ box-shadow: none;
836
+ &:focus {
837
+ color: black;
838
+ }
839
+ }
840
+ }
841
+
842
+ &>.body {
843
+ padding: 8px;
844
+ flex: 1;
845
+ }
846
+ }
847
+
848
+ .x-dialog {
849
+
850
+ border: 0.5px solid @BLACK20;
851
+ .z-float-8;
852
+
853
+ & > .title {
854
+ height: 3rem;
855
+ color: white;
856
+ padding: 0 8px;
857
+ display: flex;
858
+ align-items: center;
859
+
860
+ .x-icon {
861
+ width: 1.7em;
862
+ text-align: center;
863
+ cursor: pointer;
864
+
865
+ &:hover {
866
+ background-color: @WHITE10;
867
+ }
868
+ }
869
+
870
+ .x-label {
871
+ border-bottom: none;
872
+ padding: 0;
873
+ }
874
+ }
875
+
876
+ &.maximized > .title {
877
+ .max-btn:before {
878
+ content: @fa-var-window-restore;
879
+ }
880
+ }
881
+
882
+ min-width: 250px;
883
+ min-height: 100px;
884
+ }
885
+
886
+
887
+ .x-dialog.x-resized {
888
+ display: flex;
889
+ flex-direction: column;
890
+
891
+ &>.x-form {
892
+ flex: 1;
893
+
894
+ &>.container {
895
+ .x-flex;
896
+ }
897
+ }
898
+ }
899
+
900
+ .x-dialog.maximized {
901
+ left: 0;
902
+ top: 0;
903
+ width: 100%;
904
+ height: 100%;
905
+ margin: 0;
906
+
907
+ & > .title {
908
+ height: 2em;
909
+ }
910
+ }
911
+
912
+ .x-size-all {
913
+ margin: 4px;
914
+
915
+ &> .x-sizer-overlay {
916
+ background-color: transparent;
917
+ border: none;
918
+
919
+ &.topleft,
920
+ &.topright,
921
+ &.bottomleft,
922
+ &.bottomright {
923
+ cursor: se-resize;
924
+ width: 6px;
925
+ height: 6px;
926
+ z-index: 11;
927
+ }
928
+
929
+ &.topleft {
930
+ left: -4px;
931
+ top: -4px;
932
+ }
933
+
934
+ &.bottomright {
935
+ right: -4px;
936
+ bottom: -4px;
937
+ }
938
+
939
+ &.topright {
940
+ cursor: nesw-resize;
941
+ right: -4px;
942
+ top: -4px;
943
+ }
944
+
945
+ &.bottomleft {
946
+ cursor: nesw-resize;
947
+ left: -4px;
948
+ bottom: -4px;
949
+ }
950
+
951
+ &.top,
952
+ &.bottom {
953
+ width: 100%;
954
+ height: 4px;
955
+ left: 0;
956
+ z-index: 10;
957
+ cursor: n-resize;
958
+ }
959
+
960
+ &.top {
961
+ top: -4px;
962
+ }
963
+
964
+ &.bottom {
965
+ bottom: -4px;
966
+ }
967
+
968
+ &.left,
969
+ &.right {
970
+ height: 100%;
971
+ width: 4px;
972
+ top: 0;
973
+ z-index: 10;
974
+ cursor: w-resize;
975
+ border: none;
976
+ }
977
+
978
+ &.left {
979
+ left: -4px;
980
+ }
981
+
982
+ &.right {
983
+ right: -4px;
984
+ }
985
+ }
986
+ }
987
+
988
+ .x-form {
989
+ background-color: @form-color;
990
+ padding: 8px;
991
+ min-width: 250px;
992
+ min-height: 50px;
993
+ overflow: auto;
994
+
995
+ &>.container {
996
+ padding: 0px;
997
+ }
998
+
999
+ &>.footer {
1000
+ position: relative;
1001
+ left: 0;
1002
+ bottom: 0;
1003
+ width: 100%;
1004
+ justify-content: flex-end;
1005
+ padding: 0px;
1006
+ margin-top: 8px;
1007
+ align-items: center;
1008
+
1009
+ .x-button:not(.x-small) {
1010
+ min-width: 110px;
1011
+ }
1012
+
1013
+ .x-button:not(:first-child) {
1014
+ margin-left: 8px;
1015
+ }
1016
+ }
1017
+ }
1018
+
1019
+ .x-panel {
1020
+ &>.title {
1021
+ border-bottom: 1px solid @BLACK10;
1022
+ }
1023
+ }
1024
+
1025
+ .x-button {
1026
+ background-color: @WHITE25;
1027
+ border-color: transparent;
1028
+ font-family: @def-font;
1029
+ font-size: @def-font-size;
1030
+
1031
+ .x-icon {
1032
+ width: 1.5em;
1033
+ }
1034
+
1035
+ &:focus {
1036
+ border-color: @WHITE40;
1037
+ color: black;
1038
+ }
1039
+ }
1040
+
1041
+ .x-hidden {
1042
+ display: none ! important;
1043
+ }
1044
+
1045
+ .x-tab-view {
1046
+ overflow: hidden;
1047
+ padding: 24px;
1048
+ padding-top: 0;
1049
+
1050
+ .x-tab-switch {
1051
+ border-bottom: 1px solid @WHITE10;
1052
+ background-color: rgba(0,0,0,0.1);
1053
+
1054
+ .x-tab-btn {
1055
+ border: none;
1056
+ background-color: transparent;
1057
+
1058
+ &:hover {
1059
+ .x-label {
1060
+ text-decoration: underline;
1061
+ }
1062
+ }
1063
+ }
1064
+
1065
+ .x-tab-btn.x-active {
1066
+ background-color: rgba(255,255,255,0.2);
1067
+ }
1068
+ }
1069
+ }
1070
+
1071
+ .x-tab-page {
1072
+ min-width: 0;
1073
+ }
1074
+
1075
+ .x-input-box,
1076
+ .x-message-box,
1077
+ .x-important {
1078
+
1079
+ &>.title {
1080
+ background: none;
1081
+ background-color: @error-color;
1082
+ height: 2.5em;
1083
+
1084
+ .x-label {
1085
+ border-bottom: none;
1086
+ padding-bottom: 0;
1087
+ }
1088
+
1089
+ .x-icon {
1090
+ display: none;
1091
+ }
1092
+ }
1093
+
1094
+ .x-form {
1095
+ min-height: 100px;
1096
+ background-color: white;
1097
+
1098
+ .panel {
1099
+ align-items: center;
1100
+ }
1101
+
1102
+ .icon {
1103
+ font-size: 48px;
1104
+ color: @error-color;
1105
+ margin-right: 8px;
1106
+ }
1107
+
1108
+ .text {
1109
+ padding: 8px;
1110
+ color: #666666;
1111
+ line-height: 1.7em;
1112
+ max-width: 50vw;
1113
+ }
1114
+
1115
+ &>.footer {
1116
+ background-color: white;
1117
+ border-top: 1px solid rgba(0,0,0,0.05);
1118
+ padding-top: 8px;
1119
+
1120
+ .x-button {
1121
+ background-color: @error-color;
1122
+ color: white;
1123
+ }
1124
+
1125
+ .x-button:focus {
1126
+ border-color: black;
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+
1132
+
1133
+ .x-spreadsheet,
1134
+ .x-grid-view {
1135
+
1136
+ @def-height: 2em;
1137
+
1138
+ min-height: 0;
1139
+ overflow: hidden;
1140
+ background-color: white;
1141
+
1142
+ .x-cell {
1143
+ overflow: hidden;
1144
+ padding: 4px;
1145
+ white-space: nowrap;
1146
+ //min-width: 50px;
1147
+ color: black;
1148
+ height: @def-height;
1149
+ }
1150
+
1151
+ .x-footer,
1152
+ .x-header {
1153
+ height: @def-height;
1154
+ background-color: #f0f0f0;
1155
+ align-items: center;
1156
+ border-bottom: 1px solid rgba(0,0,0,0.4);
1157
+
1158
+ .x-sizer-bar {
1159
+ background-color: transparent;
1160
+ }
1161
+
1162
+ .x-cell {
1163
+ text-overflow: ellipsis;
1164
+ border-right: 1px solid rgba(0,0,0,0.1);
1165
+ //text-transform: capitalize;
1166
+ height: unset;
1167
+
1168
+ &.sort:before {
1169
+ content: @fa-var-arrow-down-long;
1170
+ font-family: @fa-style-family;
1171
+ padding-right: 4px;
1172
+ }
1173
+
1174
+ &.sort.desc:before {
1175
+ content: @fa-var-arrow-up-long;
1176
+ font-family: @fa-style-family;
1177
+ padding-right: 4px;
1178
+ }
1179
+ }
1180
+ }
1181
+
1182
+ .x-row {
1183
+ position: absolute;
1184
+ width: 100%;
1185
+ border-bottom: 1px solid #f0f0f0;
1186
+ align-items: center;
1187
+ height: @def-height;
1188
+
1189
+ &.odd {
1190
+ background-color: rgb(250,250,250);
1191
+ }
1192
+ }
1193
+
1194
+ .x-cell {
1195
+ border-right: 1px solid #f0f0f0;
1196
+
1197
+ &.center {
1198
+ text-align: center;
1199
+ }
1200
+
1201
+ &.right {
1202
+ text-align: right;
1203
+ }
1204
+ }
1205
+
1206
+ &:focus {
1207
+ outline: none;
1208
+ }
1209
+ }
1210
+
1211
+ .x-grid-view {
1212
+ .x-footer,
1213
+ .x-header {
1214
+ border-left: 4px solid #f0f0f0;
1215
+ }
1216
+
1217
+ .x-row {
1218
+ border-left: 4px solid transparent;
1219
+
1220
+ &:hover {
1221
+ background-color: rgba(0,0,0,0.1);
1222
+ border-left-color: @BLACK60;
1223
+ }
1224
+
1225
+ &.x-selected {
1226
+ background-color: @selection-color;
1227
+
1228
+ .x-cell {
1229
+ color: white;
1230
+ }
1231
+ }
1232
+ }
1233
+
1234
+ .empty-msg {
1235
+ position: absolute;
1236
+ left: 1em;
1237
+ top: 4em;
1238
+ }
1239
+ }
1240
+
1241
+ .x-spreadsheet {
1242
+
1243
+ .x-header {
1244
+ //position: absolute;
1245
+ }
1246
+
1247
+ .content .x-cell {
1248
+ position: absolute;
1249
+ border-right: 1px solid rgba(0,0,0,0.1);
1250
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1251
+ height: 2em;
1252
+ }
1253
+
1254
+ .x-cell.x-selected {
1255
+ background-color: @BLACK10;
1256
+ }
1257
+
1258
+ &:focus {
1259
+ .x-cell.x-selected {
1260
+ background-color: @selection-color;
1261
+ color: white;
1262
+ }
1263
+ }
1264
+
1265
+ .x-editor {
1266
+ position: absolute;
1267
+ min-height: 0;
1268
+
1269
+ input {
1270
+ margin: 0;
1271
+ min-height: 0;
1272
+ }
1273
+ }
1274
+ }
1275
+
1276
+ .x-side-bar {
1277
+ min-width: 44px;
1278
+
1279
+ .x-button {
1280
+ background-color: transparent;
1281
+ color: var( --base-color );
1282
+ border: none;
1283
+ border-bottom: 1px solid fadeout(@base-color,90%);
1284
+ min-height: 2em;
1285
+
1286
+ .x-icon {
1287
+ color: fadeout( @base-color, 50% );
1288
+ }
1289
+
1290
+ &:hover {
1291
+ background-color: fadeout(@base-color,30%);
1292
+ color: white;
1293
+
1294
+ .x-icon {
1295
+ color: fadeout(white,50%);
1296
+ }
1297
+ }
1298
+
1299
+ &.x-active {
1300
+ background-color: @base-color;
1301
+ color: white;
1302
+
1303
+ .x-icon {
1304
+ color: white;
1305
+ }
1306
+ }
1307
+
1308
+ &.x-active:hover {
1309
+ background-color: fadeout(@base-color,20%);
1310
+ color: white;
1311
+
1312
+ .x-icon {
1313
+ color: fadeout(white,50%);
1314
+ }
1315
+ }
1316
+
1317
+ &.trans,
1318
+ &.trans .x-icon {
1319
+ transition: background-color 0.4s ease, color 0.4s ease;
1320
+ }
1321
+ }
1322
+
1323
+ &.collapsed {
1324
+ .x-button {
1325
+ .x-label {
1326
+ display: none;
1327
+ }
1328
+
1329
+ &.x-active .x-icon,
1330
+ &:hover .x-icon {
1331
+ color: white;
1332
+ }
1333
+ }
1334
+ }
1335
+ }
1336
+
1337
+ .x-tooltip {
1338
+ .z-float-4;
1339
+ z-index: 50000;
1340
+ display: inline-block;
1341
+ max-width: 400px;
1342
+ pointer-events: none;
1343
+
1344
+ background-color: white;
1345
+ //border: 1px solid fadeout(darken(#2e404f,5%),10%);
1346
+ color: white;
1347
+ //padding: 4px 8px;
1348
+ padding-left: 24px;
1349
+
1350
+ font-size: 0.8rem;
1351
+ font-weight: 300;
1352
+
1353
+ .x-icon {
1354
+ position: absolute;
1355
+ left: 6px;
1356
+ top: 7px;
1357
+ color: fadeout(darken(@base-color,5%),10%);
1358
+ }
1359
+
1360
+ .x-label {
1361
+ background-color: @selection-color;
1362
+ white-space: break-spaces;
1363
+ display: inline-block;
1364
+ padding: 6px;
1365
+ line-height: 1.3em;
1366
+ }
1367
+ }
1368
+
1369
+ .x-search-bar {
1370
+ background-color: @base-color;
1371
+ height: 2em;
1372
+ }
1373
+
1374
+ .x-popup-table {
1375
+ .z-float-8;
1376
+
1377
+ border-collapse: collapse;
1378
+ background-color: white;
1379
+ padding: 2px 0;
1380
+
1381
+ tr:hover,
1382
+ tr.x-selected {
1383
+ background-color: rgba(200,255,255,1);
1384
+ }
1385
+
1386
+ td {
1387
+ padding: 3px 8px;
1388
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1389
+ }
1390
+
1391
+ .hilite {
1392
+ font-weight: bold;
1393
+ }
1394
+ }
1395
+
1396
+
1397
+ .x-scroll-view,
1398
+ .x-container.x-scroll-view {
1399
+ overflow-y: auto;
1400
+
1401
+ .x-scroll-container {
1402
+ //min-height: 100%;
1403
+ //pb: le container réduit tous les éléments contenus
1404
+ }
1405
+ }
1406
+
1407
+
1408
+ .x-popup-list-view {
1409
+ background-color: white;
1410
+
1411
+ .x-combo-popup {
1412
+ min-height: 1em;
1413
+ max-height: 400px;
1414
+
1415
+ border: 1px solid #00000073;
1416
+
1417
+ .x-list-item {
1418
+ height: 2em;
1419
+ line-height: calc( 2em - 8px );
1420
+ }
1421
+
1422
+ overflow: auto;
1423
+ color: black;
1424
+ }
1425
+ }
1426
+
1427
+ .x-calendar {
1428
+ border: 1px solid @BLACK10;
1429
+ padding: 4px;
1430
+
1431
+ .month-sel {
1432
+ height: 2em;
1433
+ align-items: center;
1434
+ padding-left: 2em;
1435
+
1436
+ .month {
1437
+ padding-right: 4px;
1438
+ }
1439
+
1440
+ .year {
1441
+ cursor: pointer;
1442
+ }
1443
+
1444
+ .month,
1445
+ .year {
1446
+ cursor: pointer;
1447
+ &:hover {
1448
+ text-decoration: underline;
1449
+ }
1450
+ }
1451
+
1452
+ .x-label {
1453
+ font-weight: bold;
1454
+ }
1455
+
1456
+ .x-button {
1457
+ height: auto;
1458
+ color: black;
1459
+ }
1460
+
1461
+ margin-bottom: 8px;
1462
+ }
1463
+
1464
+ .week {
1465
+ align-items: center;
1466
+ //border-bottom: 1px solid @BLACK10;
1467
+
1468
+ &:hover {
1469
+ background-color: fadeout(@selection-color,90%);
1470
+ border-radius: 4px;
1471
+ }
1472
+
1473
+ .cell {
1474
+ height: 100%;
1475
+ color: @BLACK70;
1476
+ text-align: center;
1477
+ span {
1478
+ margin: auto;
1479
+ }
1480
+ }
1481
+
1482
+ .today {
1483
+ font-weight: bold;
1484
+ background-color: @error-color;
1485
+
1486
+ span {
1487
+ //border: 2px solid #013e69;
1488
+ //padding: 4px;
1489
+ border-radius: 2px;
1490
+ color: white;
1491
+ }
1492
+ }
1493
+
1494
+ .weeknum {
1495
+ width: 2em;
1496
+ color: @BLACK30;
1497
+ font-size: 70%;
1498
+ }
1499
+
1500
+ .day {
1501
+ cursor: pointer;
1502
+ }
1503
+
1504
+ .out {
1505
+ color: @BLACK30;
1506
+ }
1507
+
1508
+ .day:hover {
1509
+ background-color: fadeout(@selection-color,50%);
1510
+ color: white;
1511
+ }
1512
+ }
1513
+
1514
+ .header {
1515
+ .cell {
1516
+ color: @BLACK50;
1517
+ height: 1.5em;
1518
+ }
1519
+
1520
+ &:hover {
1521
+ background-color: inherit;
1522
+ }
1523
+ }
1524
+ }
1525
+
1526
+ .x-container {
1527
+ // overflow: hidden;
1528
+ }
1529
+
1530
+ .x-popup-calendar {
1531
+ width: 250px;
1532
+ height: 200px;
1533
+ background-color: white;
1534
+ .z-float-8;
1535
+
1536
+
1537
+ }
1538
+
1539
+ .x-separator {
1540
+ background-color: white;
1541
+
1542
+ &.horizontal {
1543
+ width: 4px;
1544
+ border-left: 1px solid #c7c7c7;
1545
+ border-right: 1px solid #c7c7c7;
1546
+ cursor: e-resize;
1547
+ }
1548
+
1549
+ &.vertical {
1550
+ height: 4px;
1551
+ border-top: 1px solid #c7c7c7;
1552
+ border-bottom: 1px solid #c7c7c7;
1553
+ cursor: n-resize;
1554
+
1555
+ }
1556
+
1557
+ &:hover {
1558
+ background-color: #575757;
1559
+ border-color: #575757;
1560
+ }
1561
+ }
1562
+
1563
+ .x-toggle-button {
1564
+ &.checked {
1565
+ background-color: #a8a8a8;
1566
+ }
1567
+ }
1568
+
1569
+
1570
+ .x-color-picker-box {
1571
+ .customs {
1572
+ padding: 8px;
1573
+
1574
+ .cust-cc {
1575
+ height: 16px;
1576
+ border: 1px solid @BLACK40;
1577
+ }
1578
+ }
1579
+ }
1580
+
1581
+ .x-color-picker {
1582
+
1583
+ .sel {
1584
+ position: absolute;
1585
+ left: 10px;
1586
+ top: 10px;
1587
+ right: 40px;
1588
+ bottom: 40px;
1589
+
1590
+ .marker {
1591
+ position: absolute;
1592
+ width: 6px;
1593
+ height: 6px;
1594
+ margin-top: -3px;
1595
+ margin-left: -3px;
1596
+
1597
+ border: 1px solid white;
1598
+ }
1599
+ }
1600
+
1601
+ .light {
1602
+ background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
1603
+ }
1604
+
1605
+ .dark {
1606
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
1607
+ }
1608
+
1609
+ .hue {
1610
+ position: absolute;
1611
+ top: 10px;
1612
+ bottom: 40px;
1613
+ right: 10px;
1614
+ width: 20px;
1615
+ background: linear-gradient(to bottom, #ff0000 0%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 66%,#ff00ff 83%,#ff0000 100%);
1616
+
1617
+ .marker {
1618
+ position: absolute;
1619
+ width: calc( 100% + 6px );
1620
+ height: 4px;
1621
+ margin-top: -2px;
1622
+ margin-left: -3px;
1623
+ background-color: black;
1624
+ //border: 1px solid white;
1625
+ }
1626
+ }
1627
+
1628
+ .sample {
1629
+ position: absolute;
1630
+ bottom: 10px;
1631
+ height: 20px;
1632
+ width: 20px;
1633
+ right: 10px;
1634
+
1635
+ .color {
1636
+ background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgb(255,0,0) 100%);
1637
+ }
1638
+ }
1639
+
1640
+ .alpha,
1641
+ .transp {
1642
+ position: absolute;
1643
+ left: 10px;
1644
+ bottom: 10px;
1645
+ right: 20px;
1646
+ height: 20px;
1647
+ }
1648
+
1649
+ .transp {
1650
+ bottom: 8px;
1651
+ width: 115px;
1652
+ left: 4px;
1653
+ height: 24px;
1654
+ }
1655
+
1656
+ .hexv {
1657
+ position: absolute;
1658
+ bottom: 8px;
1659
+ left: 120px;
1660
+ height: 24px;
1661
+ margin: 0;
1662
+ width: 90px;
1663
+ min-height: unset;
1664
+ }
1665
+
1666
+ .alpha {
1667
+ background-image: url( 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAEsmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjEwIgogICBleGlmOlBpeGVsWURpbWVuc2lvbj0iMTAiCiAgIGV4aWY6Q29sb3JTcGFjZT0iMSIKICAgdGlmZjpJbWFnZVdpZHRoPSIxMCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTAiCiAgIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiCiAgIHRpZmY6WFJlc29sdXRpb249IjcyLjAiCiAgIHRpZmY6WVJlc29sdXRpb249IjcyLjAiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDMtMjJUMTU6NTE6NDkrMDE6MDAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDMtMjJUMTU6NTE6NDkrMDE6MDAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJwcm9kdWNlZCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWZmaW5pdHkgRGVzaWduZXIgMS45LjAiCiAgICAgIHN0RXZ0OndoZW49IjIwMjEtMDMtMjJUMTU6NTE6NDkrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0iciI/Pn8+b7YAAAGCaUNDUHNSR0IgSUVDNjE5NjYtMi4xAAAokXWRy0tCQRSHv7Qwyh5gRIsWEtZKwwyiNi2UXlAt1CCrjV5fgdrlXiOibdBWKIja9FrUX1DboHUQFEUQ7YLWRW0qbueqoESe4cz55jdzDjNnwBLOKFm93gvZXF4LTvid85EFp+0FK5204sURVXR1JjQepqZ93lNnxluPWav2uX+tOZ7QFahrFB5VVC0vPCk8vZZXTd4R7lDS0bjwmbBbkwsK35l6rMSvJqdK/G2yFg4GwNIu7ExVcayKlbSWFZaX48pmVpXyfcyX2BO5uZDEHvFudIJM4MfJFGMEGGKAEZmH8OCjX1bUyPcW82dZkVxFZpV1NJZJkSaPW9RVqZ6QmBQ9ISPDutn/v33Vk4O+UnW7HxqeDeO9F2zb8FMwjK8jw/g5BusTXOYq+SuHMPwheqGiuQ6gbRPOrypabBcutqDrUY1q0aJkFbckk/B2Ci0RcNxA02KpZ+V9Th4gvCFfdQ17+9An59uWfgF7Hmfv4QYbGAAAAAlwSFlzAAALEwAACxMBAJqcGAAAACdJREFUGJVjbGhoYEAC9fX1yFwmBryAptKM////R+Y3NjbSzW4C0gAo9QeQBmhTIwAAAABJRU5ErkJggg==' );
1668
+
1669
+ .marker {
1670
+ position: absolute;
1671
+ height: calc( 100% + 6px );
1672
+ width: 4px;
1673
+ margin-top: -3px;
1674
+ margin-left: -2px;
1675
+ background-color: black;
1676
+ //border: 1px solid white;
1677
+ }
1678
+ }
1679
+
1680
+ &.with-alpha {
1681
+
1682
+ .sel {
1683
+ left: 4px;
1684
+ top: 4px;
1685
+ bottom: 34px;
1686
+ right: 34px;
1687
+ }
1688
+
1689
+ .hue {
1690
+ top: 4px;
1691
+ right: 4px;
1692
+ bottom: 34px;
1693
+ }
1694
+
1695
+ .hexv {
1696
+ bottom: 4px;
1697
+ left: 4px;
1698
+ width: 120px;
1699
+ }
1700
+
1701
+ .alpha {
1702
+ left: 130px;
1703
+ right: 4px;
1704
+ height: 24px;
1705
+ bottom: 4px;
1706
+ }
1707
+
1708
+ .transp,
1709
+ .sample {
1710
+ display: none;
1711
+ }
1712
+ }
1713
+
1714
+ &.pal-mode {
1715
+ display: flex;
1716
+ gap: 1px;
1717
+
1718
+ &>.x-container {
1719
+ width: 100%;
1720
+ }
1721
+
1722
+ .hcol, .vcol {
1723
+ justify-content: space-between;
1724
+ }
1725
+
1726
+ .hcol {
1727
+ min-height: 90px;
1728
+ margin-top: 40px;
1729
+ }
1730
+
1731
+ .hexv {
1732
+ bottom: 10px;
1733
+ left: 120px;
1734
+ right: 10px;
1735
+ width: unset;
1736
+ }
1737
+
1738
+ .transp {
1739
+ display: flex;
1740
+ }
1741
+
1742
+ #hsel {
1743
+ gap: 4px;
1744
+ flex-wrap: wrap;
1745
+ justify-content: center;
1746
+ }
1747
+
1748
+ #vsel {
1749
+ gap: 1px;
1750
+ margin-top: 10px;
1751
+ }
1752
+
1753
+ .clr-box {
1754
+ width: 19px;
1755
+ height: 10px;
1756
+ }
1757
+
1758
+ .hclr-box {
1759
+ height: 16px;
1760
+ min-width: 19px;
1761
+
1762
+ &.selected {
1763
+ border: 1px solid black;
1764
+ }
1765
+
1766
+ font-size: 9px;
1767
+ line-height: 16px;
1768
+ text-align: center;
1769
+ }
1770
+ }
1771
+ }
1772
+
1773
+
1774
+
1775
+ .x-tree-view {
1776
+
1777
+ .x-scroll-view {
1778
+ margin: 4px;
1779
+ }
1780
+
1781
+ .x-tree-item {
1782
+ line-height: 1.5em;
1783
+ white-space: nowrap;
1784
+ overflow: hidden;
1785
+ align-items: center;
1786
+
1787
+ span {
1788
+ padding: 0 4px;
1789
+ }
1790
+
1791
+ //&::before {
1792
+ // content: attr( icon );
1793
+ // font-family: @fa-style-family;
1794
+ // display: inline-block;
1795
+ // width: 1em;
1796
+ // color: @BLACK40;
1797
+ // pointer-events: none;
1798
+ //}
1799
+
1800
+ .tree-icon {
1801
+ width: 2em;
1802
+ }
1803
+
1804
+ &.collapsed .tree-icon {
1805
+ transform: rotate(-90deg);
1806
+ }
1807
+
1808
+ &:hover {
1809
+ background-color: rgba(255,255,255,0.1);
1810
+ }
1811
+
1812
+ &.selected {
1813
+ background-color: rgba(255,255,255,0.3);
1814
+ }
1815
+
1816
+ .indent {
1817
+ position: absolute;
1818
+ border-left: 1px solid @BLACK10;
1819
+ height: 100%;
1820
+ top: 0;
1821
+ }
1822
+ }
1823
+
1824
+ .gadgets {
1825
+ border-top: 1px solid @BLACK50;
1826
+ background-color: @BLACK10;
1827
+
1828
+ .x-button {
1829
+ background-color: transparent;
1830
+ &:hover {
1831
+ background-color: white;
1832
+ };
1833
+ }
1834
+ }
1835
+ }
1836
+
1837
+ .x-tooltip.error {
1838
+ background-color: @error-color;
1839
+ padding: 0 6px;
1840
+ margin-left: 3px;
1841
+ position: absolute;
1842
+ border: 1px solid rgba(0,0,0,0.3);
1843
+
1844
+ .x-label {
1845
+ background-color: transparent;
1846
+ color: white;
1847
+ font-size: inherit;
1848
+ padding: 0;
1849
+ }
1850
+
1851
+ .x-icon {
1852
+ display: none;
1853
+ }
1854
+ }
1855
+
1856
+ .x-text-edit.with-gadgets {
1857
+ input {
1858
+ border-right: none;
1859
+ }
1860
+
1861
+ &> .x-icon {
1862
+ border: 1px solid @BLACK50;
1863
+ width: 1.5em;
1864
+ height: 100%;
1865
+ line-height: 1.8em;
1866
+ border-left: none;
1867
+ }
1868
+ }
1869
+
1870
+ .x-text-hiliter {
1871
+ overflow: hidden;
1872
+
1873
+ textarea {
1874
+ font-family: monospace;
1875
+ font-size: @def-font-size;
1876
+ padding: 2px;
1877
+
1878
+ resize: none;
1879
+ outline: none;
1880
+ border: 1px solid transparent;
1881
+ width: 100%;
1882
+
1883
+ &:focus {
1884
+ border: 1px solid @selection-color
1885
+ }
1886
+
1887
+ color: transparent;
1888
+ background-color: transparent;
1889
+ caret-color: black;
1890
+
1891
+ -moz-tab-size : 4;
1892
+ -o-tab-size : 4;
1893
+ tab-size : 4;
1894
+ }
1895
+
1896
+ .x-syntax-hiliter {
1897
+ font-family: monospace;
1898
+ font-size: @def-font-size;
1899
+ padding: 2px;
1900
+ border: 1px solid transparent;
1901
+ overflow: hidden;
1902
+ white-space: pre;
1903
+ color: rgb(92,92,92);
1904
+ background-color: white;
1905
+
1906
+ -moz-tab-size : 4;
1907
+ -o-tab-size : 4;
1908
+ tab-size : 4;
1909
+
1910
+ .num {
1911
+ color: #008000;
1912
+ }
1913
+
1914
+ .kword {
1915
+ color: #000080;
1916
+ }
1917
+
1918
+ .str {
1919
+ color: #8b0000;
1920
+ }
1921
+
1922
+ .cmt {
1923
+ color: #8b008b;
1924
+ background-color: fadeout( #8b008b, 80% );
1925
+ }
1926
+
1927
+ .punc {
1928
+ font-weight: bold;
1929
+ color: black;
1930
+ }
1931
+ }
1932
+ }
1933
+
1934
+ .x-list-view.virtual {
1935
+ .x-list-item {
1936
+ position: absolute;
1937
+ left: 0;
1938
+ right: 0;
1939
+ }
1940
+ }