x4js 1.4.8 → 1.4.9

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 (173) hide show
  1. package/build.sh +5 -0
  2. package/lib/application.d.ts +15 -11
  3. package/lib/application.js +15 -11
  4. package/lib/base64.d.ts +15 -11
  5. package/lib/base64.js +15 -11
  6. package/lib/base_component.d.ts +18 -1
  7. package/lib/base_component.js +18 -1
  8. package/lib/button.d.ts +15 -11
  9. package/lib/button.js +15 -11
  10. package/lib/calendar.d.ts +15 -11
  11. package/lib/calendar.js +15 -11
  12. package/lib/canvas.d.ts +15 -11
  13. package/lib/canvas.js +15 -11
  14. package/lib/cardview.d.ts +15 -11
  15. package/lib/cardview.js +15 -11
  16. package/lib/checkbox.d.ts +17 -12
  17. package/lib/checkbox.js +18 -11
  18. package/lib/color.d.ts +15 -11
  19. package/lib/color.js +15 -11
  20. package/lib/colorpicker.d.ts +18 -11
  21. package/lib/colorpicker.js +18 -11
  22. package/lib/combobox.d.ts +15 -11
  23. package/lib/combobox.js +16 -12
  24. package/lib/component.d.ts +18 -14
  25. package/lib/component.js +18 -14
  26. package/lib/datastore.d.ts +15 -11
  27. package/lib/datastore.js +15 -11
  28. package/lib/dialog.d.ts +15 -11
  29. package/lib/dialog.js +19 -14
  30. package/lib/dom_events.d.ts +17 -1
  31. package/lib/dom_events.js +17 -1
  32. package/lib/drag_manager.d.ts +28 -0
  33. package/lib/drawtext.d.ts +15 -11
  34. package/lib/drawtext.js +15 -11
  35. package/lib/fileupload.d.ts +15 -11
  36. package/lib/fileupload.js +15 -11
  37. package/lib/form.d.ts +15 -11
  38. package/lib/form.js +15 -11
  39. package/lib/formatters.d.ts +15 -11
  40. package/lib/formatters.js +15 -11
  41. package/lib/gridview.d.ts +15 -11
  42. package/lib/gridview.js +59 -29
  43. package/lib/i18n.d.ts +15 -11
  44. package/lib/i18n.js +15 -11
  45. package/lib/icon.d.ts +20 -12
  46. package/lib/icon.js +107 -25
  47. package/lib/image.d.ts +15 -11
  48. package/lib/image.js +15 -11
  49. package/lib/index.d.ts +28 -0
  50. package/lib/index.js +28 -0
  51. package/lib/input.d.ts +15 -11
  52. package/lib/input.js +15 -11
  53. package/lib/label.d.ts +15 -11
  54. package/lib/label.js +15 -11
  55. package/lib/layout.d.ts +21 -17
  56. package/lib/layout.js +21 -17
  57. package/lib/link.d.ts +15 -11
  58. package/lib/link.js +15 -11
  59. package/lib/listview.d.ts +15 -11
  60. package/lib/listview.js +15 -11
  61. package/lib/md5.d.ts +15 -10
  62. package/lib/md5.js +15 -10
  63. package/lib/menu.d.ts +15 -11
  64. package/lib/menu.js +19 -12
  65. package/lib/messagebox.d.ts +15 -11
  66. package/lib/messagebox.js +17 -13
  67. package/lib/panel.d.ts +15 -11
  68. package/lib/panel.js +15 -11
  69. package/lib/popup.d.ts +15 -11
  70. package/lib/popup.js +15 -11
  71. package/lib/property_editor.d.ts +15 -11
  72. package/lib/property_editor.js +15 -11
  73. package/lib/radiobtn.d.ts +15 -11
  74. package/lib/radiobtn.js +15 -11
  75. package/lib/rating.d.ts +15 -11
  76. package/lib/rating.js +15 -11
  77. package/lib/request.d.ts +15 -11
  78. package/lib/request.js +15 -11
  79. package/lib/router.d.ts +28 -0
  80. package/lib/router.js +28 -0
  81. package/lib/settings.d.ts +15 -11
  82. package/lib/settings.js +15 -11
  83. package/lib/sidebarview.d.ts +15 -11
  84. package/lib/sidebarview.js +15 -11
  85. package/lib/smartedit.d.ts +15 -11
  86. package/lib/smartedit.js +15 -11
  87. package/lib/spreadsheet.d.ts +15 -11
  88. package/lib/spreadsheet.js +15 -11
  89. package/lib/styles.d.ts +16 -12
  90. package/lib/styles.js +21 -14
  91. package/lib/svgcomponent.d.ts +15 -11
  92. package/lib/svgcomponent.js +15 -11
  93. package/lib/tabbar.d.ts +17 -2
  94. package/lib/tabbar.js +17 -2
  95. package/lib/tabview.d.ts +15 -11
  96. package/lib/tabview.js +15 -11
  97. package/lib/textarea.d.ts +15 -11
  98. package/lib/textarea.js +15 -11
  99. package/lib/textedit.d.ts +15 -11
  100. package/lib/textedit.js +15 -11
  101. package/lib/texthiliter.d.ts +15 -11
  102. package/lib/texthiliter.js +15 -11
  103. package/lib/toaster.d.ts +15 -11
  104. package/lib/toaster.js +15 -11
  105. package/lib/tools.d.ts +15 -11
  106. package/lib/tools.js +15 -11
  107. package/lib/tooltips.d.ts +15 -11
  108. package/lib/tooltips.js +15 -11
  109. package/lib/treeview.d.ts +15 -11
  110. package/lib/treeview.js +15 -11
  111. package/lib/x4.css +1572 -0
  112. package/lib/x4_events.d.ts +15 -11
  113. package/lib/x4_events.js +15 -11
  114. package/package.json +5 -1
  115. package/src/MIT-license.md +14 -0
  116. package/src/application.ts +15 -11
  117. package/src/base64.ts +15 -11
  118. package/src/base_component.ts +18 -1
  119. package/src/button.ts +15 -11
  120. package/src/calendar.ts +15 -11
  121. package/src/canvas.ts +15 -11
  122. package/src/cardview.ts +15 -11
  123. package/src/checkbox.ts +21 -12
  124. package/src/color.ts +15 -11
  125. package/src/colorpicker.ts +19 -11
  126. package/src/combobox.ts +16 -12
  127. package/src/component.ts +18 -14
  128. package/src/datastore.ts +15 -11
  129. package/src/dialog.ts +19 -14
  130. package/src/dom_events.ts +17 -1
  131. package/src/drag_manager.ts +28 -0
  132. package/src/drawtext.ts +15 -11
  133. package/src/fileupload.ts +15 -11
  134. package/src/form.ts +15 -11
  135. package/src/formatters.ts +15 -11
  136. package/src/gridview.ts +76 -30
  137. package/src/i18n.ts +15 -11
  138. package/src/icon.ts +125 -33
  139. package/src/image.ts +15 -11
  140. package/src/index.ts +29 -0
  141. package/src/input.ts +15 -11
  142. package/src/label.ts +15 -11
  143. package/src/layout.ts +21 -17
  144. package/src/link.ts +15 -11
  145. package/src/listview.ts +15 -11
  146. package/src/md5.ts +15 -10
  147. package/src/menu.ts +19 -12
  148. package/src/messagebox.ts +17 -13
  149. package/src/panel.ts +15 -11
  150. package/src/popup.ts +15 -11
  151. package/src/property_editor.ts +15 -11
  152. package/src/radiobtn.ts +15 -11
  153. package/src/rating.ts +15 -11
  154. package/src/request.ts +15 -11
  155. package/src/router.ts +28 -0
  156. package/src/settings.ts +15 -11
  157. package/src/sidebarview.ts +15 -11
  158. package/src/smartedit.ts +15 -11
  159. package/src/spreadsheet.ts +15 -11
  160. package/src/styles.ts +23 -14
  161. package/src/svgcomponent.ts +15 -11
  162. package/src/tabbar.ts +17 -2
  163. package/src/tabview.ts +15 -11
  164. package/src/textarea.ts +15 -11
  165. package/src/textedit.ts +15 -11
  166. package/src/texthiliter.ts +15 -11
  167. package/src/toaster.ts +15 -11
  168. package/src/tools.ts +15 -11
  169. package/src/tooltips.ts +15 -11
  170. package/src/treeview.ts +15 -11
  171. package/src/x4.less +115 -87
  172. package/src/x4_events.ts +15 -11
  173. package/x4.css +111 -80
package/x4.css CHANGED
@@ -1,6 +1,34 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file x4.less
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
1
29
  :root {
2
- --x4-font: "sans serif";
3
- --x4-font-size: "13px";
30
+ --x4-font: "Inter";
31
+ --x4-font-size: 13px;
4
32
  --x4-base-color: #266888;
5
33
  --x4-selection-color: #2458B3;
6
34
  --x4-hover-color: rgba(36, 88, 179, 0.9);
@@ -10,19 +38,25 @@
10
38
  --x4-success-color: #0A6640;
11
39
  --x4-form-color: white;
12
40
  --x4-tip-background: rgba(0, 0, 0, 0.5);
13
- --x4-button-color: #363636;
14
- --x4-button-border-color: #000000;
41
+ --x4-button-color: white;
42
+ --x4-button-text-color: #363636;
15
43
  --x4-scrollbar-width: 6px;
16
44
  --x4-scrollbar-background: white;
17
45
  --x4-scrollbar-thumb: grey;
18
46
  --x4-sizer-size: 4px;
19
- --x4-panel-border-color: rgba(0, 0, 0, 0.1);
20
- --x4-icon-font-family: var("fonteawesome");
21
- --x4-icon-circle-exclamation: "\f06a";
22
- --x4-icon-chevron-right: "\f054";
23
- --x4-icon-window-restore: "\f2d2";
24
- --x4-icon-arrow-down-long: "\f175";
25
- --x4-icon-arrow-up-long: "\f176";
47
+ --x4-default-border-color: rgba(0, 0, 0, 0.1);
48
+ --x4-icon-font-family: "fonteawesome";
49
+ --x4-icon-circle-exclamation: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM232 152C232 138.8 242.8 128 256 128s24 10.75 24 24v128c0 13.25-10.75 24-24 24S232 293.3 232 280V152zM256 400c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 385.9 273.4 400 256 400z"/></svg>';
50
+ --x4-icon-chevron-right: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z"/></svg>';
51
+ --x4-icon-arrow-down: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="M9.375 329.4c12.51-12.51 32.76-12.49 45.25 0L128 402.8V32c0-17.69 14.31-32 32-32s32 14.31 32 32v370.8l73.38-73.38c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-128 128c-12.5 12.5-32.75 12.5-45.25 0l-128-128C-3.125 362.1-3.125 341.9 9.375 329.4z"/></svg>';
52
+ --x4-icon-arrow-up: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="M310.6 182.6c-12.51 12.51-32.76 12.49-45.25 0L192 109.3V480c0 17.69-14.31 32-32 32s-32-14.31-32-32V109.3L54.63 182.6c-12.5 12.5-32.75 12.5-45.25 0s-12.5-32.75 0-45.25l128-128c12.5-12.5 32.75-12.5 45.25 0l128 128C323.1 149.9 323.1 170.1 310.6 182.6z"/></svg>';
53
+ --x4-icon-exclamation: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 512" fill="currentColor"><path d="M64 352c17.69 0 32-14.32 32-31.1V64.01c0-17.67-14.31-32.01-32-32.01S32 46.34 32 64.01v255.1C32 337.7 46.31 352 64 352zM64 400c-22.09 0-40 17.91-40 40s17.91 39.1 40 39.1s40-17.9 40-39.1S86.09 400 64 400z"/></svg>';
54
+ --x4-icon-window-minimize: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M0 448C0 430.3 14.33 416 32 416H480C497.7 416 512 430.3 512 448C512 465.7 497.7 480 480 480H32C14.33 480 0 465.7 0 448z"/></svg>';
55
+ --x4-icon-window-maximize: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M448 32C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H448zM96 96C78.33 96 64 110.3 64 128C64 145.7 78.33 160 96 160H416C433.7 160 448 145.7 448 128C448 110.3 433.7 96 416 96H96z"/></svg>';
56
+ --x4-icon-window-restore: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M432 64H208C199.2 64 192 71.16 192 80V96H128V80C128 35.82 163.8 0 208 0H432C476.2 0 512 35.82 512 80V304C512 348.2 476.2 384 432 384H416V320H432C440.8 320 448 312.8 448 304V80C448 71.16 440.8 64 432 64zM0 192C0 156.7 28.65 128 64 128H320C355.3 128 384 156.7 384 192V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V192zM96 256H288C305.7 256 320 241.7 320 224C320 206.3 305.7 192 288 192H96C78.33 192 64 206.3 64 224C64 241.7 78.33 256 96 256z"/></svg>';
57
+ --x4-icon-rectangle-times: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M448 32C483.3 32 512 60.65 512 96V416C512 451.3 483.3 480 448 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H448zM175 208.1L222.1 255.1L175 303C165.7 312.4 165.7 327.6 175 336.1C184.4 346.3 199.6 346.3 208.1 336.1L255.1 289.9L303 336.1C312.4 346.3 327.6 346.3 336.1 336.1C346.3 327.6 346.3 312.4 336.1 303L289.9 255.1L336.1 208.1C346.3 199.6 346.3 184.4 336.1 175C327.6 165.7 312.4 165.7 303 175L255.1 222.1L208.1 175C199.6 165.7 184.4 165.7 175 175C165.7 184.4 165.7 199.6 175 208.1V208.1z"/></svg>';
58
+ --x4-icon-xmark: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>';
59
+ --x4-icon-angle-down: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="currentColor"><path d="M192 384c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L192 306.8l137.4-137.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-160 160C208.4 380.9 200.2 384 192 384z"/></svg>';
26
60
  }
27
61
  .x4-root-element {
28
62
  padding: 0;
@@ -161,7 +195,8 @@ textarea::selection {
161
195
  .x-icon:before {
162
196
  font-family: var(--x4-icon-font-family);
163
197
  }
164
- .x-icon.x-svg-icon {
198
+ .x-icon.x-svg-icon,
199
+ .x-icon svg {
165
200
  width: 1em;
166
201
  height: 1em;
167
202
  }
@@ -171,23 +206,21 @@ textarea::selection {
171
206
  align-items: center;
172
207
  outline: none;
173
208
  cursor: pointer;
174
- height: 2.5em;
209
+ height: 2rem;
175
210
  padding: 8px;
176
- border: 1px solid var(--x4-button-border-color);
177
211
  overflow: hidden;
212
+ border: 1px solid var(--x4-default-border-color);
178
213
  background-color: var(--x4-button-color);
179
- color: rgba(255, 255, 255, 0.6);
214
+ color: var(--x4-button-text-color);
180
215
  }
181
216
  .x-base-button .x-icon {
182
217
  margin: 0 4px;
183
218
  color: inherit;
184
219
  }
185
- .x-base-button:not(.x-disable):focus {
186
- border-color: white;
187
- }
188
- .x-base-button:not(.x-disable).x-active {
220
+ .x-base-button:focus {
221
+ border-color: var(--x4-focus-color);
222
+ background-color: var(--x4-focus-color);
189
223
  color: white;
190
- background-color: rgba(255, 255, 255, 0.2);
191
224
  }
192
225
  .x-base-button.x-disable {
193
226
  color: gray;
@@ -330,28 +363,30 @@ textarea::selection {
330
363
  background-color: var(--x4-selection-color);
331
364
  color: #fff;
332
365
  }
333
- .x-text-edit:focus,
334
- .x-combo-box:focus {
335
- outline: none;
366
+ .x-text-edit input:focus,
367
+ .x-combo-box input:focus,
368
+ .x-text-edit .x-fake-input:focus,
369
+ .x-combo-box .x-fake-input:focus {
370
+ border-bottom-color: var(--x4-focus-color);
336
371
  }
337
- .x-text-edit:focus > .x-label,
338
- .x-combo-box:focus > .x-label {
372
+ .x-text-edit:focus-within > .x-label,
373
+ .x-combo-box:focus-within > .x-label {
339
374
  color: var(--x4-focus-color);
340
375
  }
341
376
  .x-text-edit .x-button.gadget,
342
377
  .x-combo-box .x-button.gadget {
378
+ background-color: transparent;
343
379
  font-size: var(--x4-font-size);
344
- background-color: rgba(0, 0, 0, 0.1);
380
+ color: black;
345
381
  border: none;
346
382
  margin: 0;
347
383
  padding: 0;
348
384
  height: 2em;
349
385
  margin-top: 1px;
350
386
  }
351
- .x-text-edit .x-button.gadget .x-icon,
352
- .x-combo-box .x-button.gadget .x-icon {
353
- font-size: 85%;
354
- padding-right: 2px;
387
+ .x-text-edit .x-button.gadget:focus,
388
+ .x-combo-box .x-button.gadget:focus {
389
+ color: var(--x4-focus-color);
355
390
  }
356
391
  .x-text-edit:focus .x-button.gadget,
357
392
  .x-combo-box:focus .x-button.gadget,
@@ -384,15 +419,6 @@ textarea::selection {
384
419
  top: -2px;
385
420
  z-index: 1;
386
421
  }
387
- .x-text-edit .error-info:before,
388
- .x-combo-box .error-info:before {
389
- font-family: var(--x4-icon-font-family);
390
- content: var(--x4-icon-circle-exclamation);
391
- padding-right: 3px;
392
- position: absolute;
393
- left: 1px;
394
- top: 6px;
395
- }
396
422
  .x-text-edit.x-required .label1:before,
397
423
  .x-combo-box.x-required .label1:before {
398
424
  content: '*';
@@ -564,11 +590,6 @@ textarea::selection {
564
590
  .x-menu-item:hover .x-icon {
565
591
  color: black;
566
592
  }
567
- .x-popup-menu-item:after {
568
- content: var(--x4-icon-chevron-right);
569
- font-family: var(--x4-icon-font-family);
570
- font-size: 80%;
571
- }
572
593
  .x-menu-separator {
573
594
  margin-top: 4px;
574
595
  border-top: 1px solid rgba(0, 0, 0, 0.1);
@@ -611,10 +632,7 @@ textarea::selection {
611
632
  margin-right: var(--x4-scrollbar-width);
612
633
  }
613
634
  .x-list-view {
614
- border: 1px solid transparent;
615
- }
616
- .x-list-view:focus {
617
- outline: none;
635
+ border: 1px solid var(--x4-default-border-color);
618
636
  }
619
637
  .x-list-view .x-list-item {
620
638
  padding: 4px;
@@ -632,6 +650,10 @@ textarea::selection {
632
650
  .x-list-view .x-list-item:focus {
633
651
  outline: none;
634
652
  }
653
+ .x-list-view:focus {
654
+ outline: none;
655
+ border-color: var(--x4-focus-color);
656
+ }
635
657
  .x-list-view .gadgets {
636
658
  border-top: 1px solid rgba(0, 0, 0, 0.5);
637
659
  background-color: rgba(0, 0, 0, 0.1);
@@ -658,6 +680,8 @@ textarea::selection {
658
680
  .x-popup {
659
681
  position: absolute;
660
682
  z-index: 1000;
683
+ font-family: var(--x4-font);
684
+ font-size: var(--x4-font-size);
661
685
  }
662
686
  .x-popup:focus {
663
687
  outline: none;
@@ -666,7 +690,7 @@ textarea::selection {
666
690
  align-items: center;
667
691
  line-height: 1.5em;
668
692
  padding: 4px;
669
- border-bottom: 1px solid var(--x4-panel-border-color);
693
+ border-bottom: 1px solid var(--x4-default-border-color);
670
694
  }
671
695
  .x-panel > .title > .x-label {
672
696
  flex: 1;
@@ -691,26 +715,40 @@ textarea::selection {
691
715
  min-height: 100px;
692
716
  }
693
717
  .x-dialog > .title {
694
- height: 3rem;
718
+ height: 2rem;
695
719
  color: white;
696
720
  padding: 0 8px;
697
721
  display: flex;
698
722
  align-items: center;
723
+ background-color: var(--x4-selection-color);
699
724
  }
700
725
  .x-dialog > .title .x-icon {
701
- width: 1.7em;
726
+ width: 2em;
727
+ height: 1.9em;
728
+ padding: 4px;
702
729
  text-align: center;
703
730
  cursor: pointer;
704
731
  }
705
732
  .x-dialog > .title .x-icon:hover {
706
733
  background-color: rgba(255, 255, 255, 0.1);
707
734
  }
735
+ .x-dialog > .title .x-icon.close-btn:hover {
736
+ background-color: var(--x4-error-color);
737
+ color: white;
738
+ }
708
739
  .x-dialog > .title .x-label {
709
740
  border-bottom: none;
710
741
  padding: 0;
711
742
  }
712
- .x-dialog.maximized > .title .max-btn:before {
713
- content: var(--x4-icon-window-restore);
743
+ .x-dialog > .title .res-btn {
744
+ display: none;
745
+ }
746
+ .x-dialog.maximized > .title .min-btn,
747
+ .x-dialog.maximized > .title .max-btn {
748
+ display: none;
749
+ }
750
+ .x-dialog.maximized > .title .res-btn {
751
+ display: block;
714
752
  }
715
753
  .x-dialog.x-resized {
716
754
  display: flex;
@@ -800,6 +838,7 @@ textarea::selection {
800
838
  }
801
839
  .x-form {
802
840
  background-color: var(--x4-form-color);
841
+ margin-block-end: 0;
803
842
  padding: 8px;
804
843
  min-width: 250px;
805
844
  min-height: 50px;
@@ -824,19 +863,6 @@ textarea::selection {
824
863
  .x-form > .footer .x-button:not(:first-child) {
825
864
  margin-left: 8px;
826
865
  }
827
- .x-button {
828
- background-color: rgba(255, 255, 255, 0.25);
829
- border-color: transparent;
830
- font-family: var(--x4-font);
831
- font-size: var(--x4-font-size);
832
- }
833
- .x-button .x-icon {
834
- width: 1.5em;
835
- }
836
- .x-button:focus {
837
- border-color: rgba(255, 255, 255, 0.4);
838
- color: black;
839
- }
840
866
  .x-hidden {
841
867
  display: none ! important;
842
868
  }
@@ -961,21 +987,26 @@ textarea::selection {
961
987
  border-right: 1px solid rgba(0, 0, 0, 0.1);
962
988
  height: unset;
963
989
  }
964
- .x-spreadsheet .x-footer .x-cell.sort:before,
965
- .x-grid-view .x-footer .x-cell.sort:before,
966
- .x-spreadsheet .x-header .x-cell.sort:before,
967
- .x-grid-view .x-header .x-cell.sort:before {
968
- content: var(--x4-icon-arrow-down-long);
969
- font-family: var(--x4-icon-font-family);
970
- padding-right: 4px;
990
+ .x-spreadsheet .x-footer .x-cell.sort,
991
+ .x-grid-view .x-footer .x-cell.sort,
992
+ .x-spreadsheet .x-header .x-cell.sort,
993
+ .x-grid-view .x-header .x-cell.sort {
994
+ background-image: var(--x4-icon-arrow-down-long);
995
+ background-repeat: no-repeat;
996
+ background-size: 1rem 1rem;
997
+ background-position: right 0 top 6px;
998
+ padding-right: calc(1rem + 4px);
999
+ }
1000
+ .x-spreadsheet .x-footer .x-cell.sort.desc,
1001
+ .x-grid-view .x-footer .x-cell.sort.desc,
1002
+ .x-spreadsheet .x-header .x-cell.sort.desc,
1003
+ .x-grid-view .x-header .x-cell.sort.desc {
1004
+ background-image: var(--x4-icon-arrow-up-long);
971
1005
  }
972
- .x-spreadsheet .x-footer .x-cell.sort.desc:before,
973
- .x-grid-view .x-footer .x-cell.sort.desc:before,
974
- .x-spreadsheet .x-header .x-cell.sort.desc:before,
975
- .x-grid-view .x-header .x-cell.sort.desc:before {
976
- content: var(--x4-icon-arrow-up-long);
977
- font-family: var(--x4-icon-font-family);
978
- padding-right: 4px;
1006
+ .x-spreadsheet .x-header .x-cell,
1007
+ .x-grid-view .x-header .x-cell {
1008
+ display: flex;
1009
+ align-items: center;
979
1010
  }
980
1011
  .x-spreadsheet .x-row,
981
1012
  .x-grid-view .x-row {