x4js 1.4.53 → 1.5.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.
Files changed (187) hide show
  1. package/lib/cjs/action.d.ts +57 -0
  2. package/lib/cjs/application.d.ts +104 -0
  3. package/lib/cjs/application.js +6 -6
  4. package/lib/cjs/autocomplete.d.ts +58 -0
  5. package/lib/cjs/base_component.d.ts +88 -0
  6. package/lib/cjs/button.d.ts +151 -0
  7. package/lib/cjs/calendar.d.ts +81 -0
  8. package/lib/cjs/canvas.d.ts +92 -0
  9. package/lib/cjs/cardview.d.ts +87 -0
  10. package/lib/cjs/checkbox.d.ts +77 -0
  11. package/lib/cjs/color.d.ts +148 -0
  12. package/lib/cjs/colorpicker.d.ts +107 -0
  13. package/lib/cjs/combobox.d.ts +101 -0
  14. package/lib/cjs/component.d.ts +601 -0
  15. package/lib/cjs/datastore.d.ts +396 -0
  16. package/lib/cjs/dialog.d.ts +175 -0
  17. package/lib/cjs/dom_events.d.ts +302 -0
  18. package/lib/cjs/drag_manager.d.ts +54 -0
  19. package/lib/cjs/drawtext.d.ts +48 -0
  20. package/lib/cjs/fileupload.d.ts +64 -0
  21. package/lib/cjs/form.d.ts +126 -0
  22. package/lib/cjs/formatters.d.ts +35 -0
  23. package/lib/cjs/gridview.d.ts +175 -0
  24. package/lib/cjs/i18n.d.ts +73 -0
  25. package/lib/cjs/icon.d.ts +64 -0
  26. package/lib/cjs/icon.js +5 -0
  27. package/lib/cjs/image.d.ts +55 -0
  28. package/lib/cjs/index.d.ts +83 -0
  29. package/lib/cjs/input.d.ts +91 -0
  30. package/lib/cjs/label.d.ts +58 -0
  31. package/lib/cjs/layout.d.ts +87 -0
  32. package/lib/cjs/link.d.ts +50 -0
  33. package/lib/cjs/listview.d.ts +178 -0
  34. package/lib/cjs/md5.d.ts +61 -0
  35. package/lib/cjs/md5.js +7 -7
  36. package/lib/cjs/menu.d.ts +130 -0
  37. package/lib/cjs/messagebox.d.ts +68 -0
  38. package/lib/cjs/panel.d.ts +47 -0
  39. package/lib/cjs/popup.d.ts +75 -0
  40. package/lib/cjs/property_editor.d.ts +71 -0
  41. package/lib/cjs/radiobtn.d.ts +72 -0
  42. package/lib/cjs/rating.d.ts +53 -0
  43. package/lib/cjs/request.d.ts +52 -0
  44. package/lib/cjs/router.d.ts +42 -0
  45. package/lib/cjs/settings.d.ts +37 -0
  46. package/lib/cjs/sidebarview.d.ts +49 -0
  47. package/lib/cjs/spreadsheet.d.ts +218 -0
  48. package/lib/cjs/styles.d.ts +85 -0
  49. package/lib/cjs/svgcomponent.d.ts +191 -0
  50. package/lib/cjs/tabbar.d.ts +58 -0
  51. package/lib/cjs/tabview.d.ts +49 -0
  52. package/lib/cjs/textarea.d.ts +63 -0
  53. package/lib/cjs/textedit.d.ts +123 -0
  54. package/lib/cjs/toaster.d.ts +42 -0
  55. package/lib/cjs/tools.d.ts +394 -0
  56. package/lib/cjs/tools.js +8 -5
  57. package/lib/cjs/tooltips.d.ts +46 -0
  58. package/lib/cjs/treeview.d.ts +132 -0
  59. package/lib/cjs/version.d.ts +29 -0
  60. package/lib/cjs/x4dom.d.ts +49 -0
  61. package/lib/cjs/x4events.d.ts +269 -0
  62. package/lib/cjs/x4react.d.ts +41 -0
  63. package/lib/esm/action.d.ts +57 -0
  64. package/lib/esm/application.d.ts +104 -0
  65. package/lib/esm/autocomplete.d.ts +58 -0
  66. package/lib/esm/base_component.d.ts +88 -0
  67. package/lib/esm/button.d.ts +151 -0
  68. package/lib/esm/calendar.d.ts +81 -0
  69. package/lib/esm/canvas.d.ts +92 -0
  70. package/lib/esm/cardview.d.ts +87 -0
  71. package/lib/esm/checkbox.d.ts +77 -0
  72. package/lib/esm/color.d.ts +148 -0
  73. package/lib/esm/colorpicker.d.ts +107 -0
  74. package/lib/esm/combobox.d.ts +101 -0
  75. package/lib/esm/component.d.ts +601 -0
  76. package/lib/esm/datastore.d.ts +396 -0
  77. package/lib/esm/dialog.d.ts +175 -0
  78. package/lib/esm/dom_events.d.ts +302 -0
  79. package/lib/esm/drag_manager.d.ts +54 -0
  80. package/lib/esm/drawtext.d.ts +48 -0
  81. package/lib/esm/fileupload.d.ts +64 -0
  82. package/lib/esm/form.d.ts +126 -0
  83. package/lib/esm/formatters.d.ts +35 -0
  84. package/lib/esm/gridview.d.ts +175 -0
  85. package/lib/esm/i18n.d.ts +73 -0
  86. package/lib/esm/icon.d.ts +64 -0
  87. package/lib/esm/icon.js +5 -0
  88. package/lib/esm/image.d.ts +55 -0
  89. package/lib/esm/index.d.ts +83 -0
  90. package/lib/esm/input.d.ts +91 -0
  91. package/lib/esm/label.d.ts +58 -0
  92. package/lib/esm/layout.d.ts +87 -0
  93. package/lib/esm/link.d.ts +50 -0
  94. package/lib/esm/listview.d.ts +178 -0
  95. package/lib/esm/md5.d.ts +61 -0
  96. package/lib/esm/menu.d.ts +130 -0
  97. package/lib/esm/messagebox.d.ts +68 -0
  98. package/lib/esm/panel.d.ts +47 -0
  99. package/lib/esm/popup.d.ts +75 -0
  100. package/lib/esm/property_editor.d.ts +71 -0
  101. package/lib/esm/radiobtn.d.ts +72 -0
  102. package/lib/esm/rating.d.ts +53 -0
  103. package/lib/esm/request.d.ts +52 -0
  104. package/lib/esm/router.d.ts +42 -0
  105. package/lib/esm/settings.d.ts +37 -0
  106. package/lib/esm/sidebarview.d.ts +49 -0
  107. package/lib/esm/spreadsheet.d.ts +218 -0
  108. package/lib/esm/styles.d.ts +85 -0
  109. package/lib/esm/svgcomponent.d.ts +191 -0
  110. package/lib/esm/tabbar.d.ts +58 -0
  111. package/lib/esm/tabview.d.ts +49 -0
  112. package/lib/esm/textarea.d.ts +63 -0
  113. package/lib/esm/textedit.d.ts +123 -0
  114. package/lib/esm/toaster.d.ts +42 -0
  115. package/lib/esm/tools.d.ts +394 -0
  116. package/lib/esm/tools.js +8 -5
  117. package/lib/esm/tooltips.d.ts +46 -0
  118. package/lib/esm/treeview.d.ts +132 -0
  119. package/lib/esm/version.d.ts +29 -0
  120. package/lib/esm/x4dom.d.ts +49 -0
  121. package/lib/esm/x4events.d.ts +269 -0
  122. package/lib/esm/x4react.d.ts +41 -0
  123. package/lib/styles/x4.css +5 -3
  124. package/lib/styles/x4.less +5 -3
  125. package/lib/ts_src/MIT-license.md +14 -0
  126. package/lib/ts_src/action.ts +88 -0
  127. package/lib/ts_src/alpha.jpg +0 -0
  128. package/lib/ts_src/application.ts +251 -0
  129. package/lib/ts_src/autocomplete.ts +197 -0
  130. package/lib/ts_src/base64.ts +166 -0
  131. package/lib/ts_src/base_component.ts +152 -0
  132. package/lib/ts_src/button.ts +355 -0
  133. package/lib/ts_src/calendar.ts +322 -0
  134. package/lib/ts_src/canvas.ts +505 -0
  135. package/lib/ts_src/cardview.ts +227 -0
  136. package/lib/ts_src/checkbox.ts +187 -0
  137. package/lib/ts_src/color.ts +752 -0
  138. package/lib/ts_src/colorpicker.ts +1639 -0
  139. package/lib/ts_src/combobox.ts +362 -0
  140. package/lib/ts_src/component.ts +2329 -0
  141. package/lib/ts_src/datastore.ts +1322 -0
  142. package/lib/ts_src/dialog.ts +656 -0
  143. package/lib/ts_src/dom_events.ts +315 -0
  144. package/lib/ts_src/drag_manager.ts +199 -0
  145. package/lib/ts_src/drawtext.ts +355 -0
  146. package/lib/ts_src/fileupload.ts +213 -0
  147. package/lib/ts_src/form.ts +366 -0
  148. package/lib/ts_src/formatters.ts +105 -0
  149. package/lib/ts_src/gridview.ts +1185 -0
  150. package/lib/ts_src/i18n.ts +346 -0
  151. package/lib/ts_src/icon.ts +335 -0
  152. package/lib/ts_src/image.ts +204 -0
  153. package/lib/ts_src/index.ts +88 -0
  154. package/lib/ts_src/input.ts +249 -0
  155. package/lib/ts_src/label.ts +128 -0
  156. package/lib/ts_src/layout.ts +430 -0
  157. package/lib/ts_src/link.ts +86 -0
  158. package/lib/ts_src/listview.ts +762 -0
  159. package/lib/ts_src/md5.ts +438 -0
  160. package/lib/ts_src/menu.ts +425 -0
  161. package/lib/ts_src/messagebox.ts +203 -0
  162. package/lib/ts_src/panel.ts +86 -0
  163. package/lib/ts_src/popup.ts +494 -0
  164. package/lib/ts_src/property_editor.ts +337 -0
  165. package/lib/ts_src/radiobtn.ts +196 -0
  166. package/lib/ts_src/rating.ts +135 -0
  167. package/lib/ts_src/request.ts +300 -0
  168. package/lib/ts_src/router.ts +185 -0
  169. package/lib/ts_src/settings.ts +77 -0
  170. package/lib/ts_src/sidebarview.ts +103 -0
  171. package/lib/ts_src/spreadsheet.ts +1442 -0
  172. package/lib/ts_src/styles.ts +343 -0
  173. package/lib/ts_src/svgcomponent.ts +537 -0
  174. package/lib/ts_src/tabbar.ts +151 -0
  175. package/lib/ts_src/tabview.ts +110 -0
  176. package/lib/ts_src/textarea.ts +187 -0
  177. package/lib/ts_src/textedit.ts +544 -0
  178. package/lib/ts_src/toaster.ts +80 -0
  179. package/lib/ts_src/tools.ts +1473 -0
  180. package/lib/ts_src/tooltips.ts +191 -0
  181. package/lib/ts_src/treeview.ts +675 -0
  182. package/lib/ts_src/version.ts +30 -0
  183. package/lib/ts_src/x4.less +2238 -0
  184. package/lib/ts_src/x4dom.ts +57 -0
  185. package/lib/ts_src/x4events.ts +585 -0
  186. package/lib/ts_src/x4react.ts +90 -0
  187. package/package.json +3 -2
@@ -0,0 +1,2238 @@
1
+ // out: ../lib/x4.css
2
+
3
+ /**
4
+ * ___ ___ __
5
+ * \ \_/ / / _
6
+ * \ / /_| |_
7
+ * / _ \____ _|
8
+ * /__/ \__\ |_|
9
+ *
10
+ * @file x4.less
11
+ * @author Etienne Cochard
12
+ *
13
+ * Copyright (c) 2019-2022 R-libre ingenierie
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
19
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
20
+ * subject to the following conditions:
21
+ * The above copyright notice and this permission notice shall be included in all copies
22
+ * or substantial portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
25
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
26
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
27
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+ **/
31
+
32
+ :root {
33
+ --x4-font: Helvetica, Arial, Sans-Serif;
34
+ --x4-font-size: 13px;
35
+
36
+ --x4-base-color: #266888;
37
+
38
+ --x4-selection-color: #2458B3;
39
+ --x4-selection-text: white;
40
+
41
+ --x4-hover-color: fadeout( #2458B3, 10% );
42
+ --x4-hover-text: white;
43
+
44
+ --x4-mask-color: fadeout( #2458B3, 40% );
45
+ --x4-focus-color: #2458B3;
46
+ --x4-error-color: #b92a09;
47
+ --x4-success-color: #0A6640;
48
+ --x4-form-color: white;
49
+ --x4-tip-background: rgba(0,0,0,0.5);
50
+
51
+ --x4-button-color: white;
52
+ --x4-button-text-color: rgb(54,54,54);
53
+
54
+ --x4-scrollbar-width: 6px;
55
+ --x4-scrollbar-background: white;
56
+ --x4-scrollbar-thumb: grey;
57
+
58
+ --x4-sizer-size: 4px;
59
+ --x4-default-border-color: rgba(0,0,0,0.1);
60
+
61
+ // todo: svg
62
+ --x4-icon-font-family: "fonteawesome";
63
+
64
+ // icons are from Font Awesome by @fontawesome - https://fontawesome.com
65
+ --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>';
66
+ --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>';
67
+ --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>';
68
+ --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>';
69
+ --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>';
70
+ --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>';
71
+ --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>';
72
+ --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>';
73
+ --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>';
74
+ --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>';
75
+ --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>';
76
+ --x4-icon-calendar-days: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M160 32V64H288V32C288 14.33 302.3 0 320 0C337.7 0 352 14.33 352 32V64H400C426.5 64 448 85.49 448 112V160H0V112C0 85.49 21.49 64 48 64H96V32C96 14.33 110.3 0 128 0C145.7 0 160 14.33 160 32zM0 192H448V464C448 490.5 426.5 512 400 512H48C21.49 512 0 490.5 0 464V192zM64 304C64 312.8 71.16 320 80 320H112C120.8 320 128 312.8 128 304V272C128 263.2 120.8 256 112 256H80C71.16 256 64 263.2 64 272V304zM192 304C192 312.8 199.2 320 208 320H240C248.8 320 256 312.8 256 304V272C256 263.2 248.8 256 240 256H208C199.2 256 192 263.2 192 272V304zM336 256C327.2 256 320 263.2 320 272V304C320 312.8 327.2 320 336 320H368C376.8 320 384 312.8 384 304V272C384 263.2 376.8 256 368 256H336zM64 432C64 440.8 71.16 448 80 448H112C120.8 448 128 440.8 128 432V400C128 391.2 120.8 384 112 384H80C71.16 384 64 391.2 64 400V432zM208 384C199.2 384 192 391.2 192 400V432C192 440.8 199.2 448 208 448H240C248.8 448 256 440.8 256 432V400C256 391.2 248.8 384 240 384H208zM320 432C320 440.8 327.2 448 336 448H368C376.8 448 384 440.8 384 432V400C384 391.2 376.8 384 368 384H336C327.2 384 320 391.2 320 400V432z"/></svg>';
77
+ --x4-icon-tip: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM296 336h-16V248C280 234.8 269.3 224 256 224H224C210.8 224 200 234.8 200 248S210.8 272 224 272h8v64h-16C202.8 336 192 346.8 192 360S202.8 384 216 384h80c13.25 0 24-10.75 24-24S309.3 336 296 336zM256 192c17.67 0 32-14.33 32-32c0-17.67-14.33-32-32-32S224 142.3 224 160C224 177.7 238.3 192 256 192z"/></svg>';
78
+ --x4-icon-check: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M440.1 103C450.3 112.4 450.3 127.6 440.1 136.1L176.1 400.1C167.6 410.3 152.4 410.3 143 400.1L7.029 264.1C-2.343 255.6-2.343 240.4 7.029 231C16.4 221.7 31.6 221.7 40.97 231L160 350.1L407 103C416.4 93.66 431.6 93.66 440.1 103V103z"/></svg>';
79
+ --x4-icon-folder-closed: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M448 96h-172.1L226.7 50.75C214.7 38.74 198.5 32 181.5 32H64C28.65 32 0 60.66 0 96v320c0 35.34 28.65 64 64 64h384c35.35 0 64-28.66 64-64V160C512 124.7 483.3 96 448 96zM64 80h117.5c4.273 0 8.293 1.664 11.31 4.688L256 144h192c8.822 0 16 7.176 16 16v32h-416V96C48 87.18 55.18 80 64 80zM448 432H64c-8.822 0-16-7.176-16-16V240h416V416C464 424.8 456.8 432 448 432z"/></svg>';
80
+ --x4-icon-folder-opened: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" fill="currentColor"><path d="M572.6 270.3l-96 192C471.2 473.2 460.1 480 447.1 480H64c-35.35 0-64-28.66-64-64V96c0-35.34 28.65-64 64-64h117.5c16.97 0 33.25 6.742 45.26 18.75L275.9 96H416c35.35 0 64 28.66 64 64v32h-48V160c0-8.824-7.178-16-16-16H256L192.8 84.69C189.8 81.66 185.8 80 181.5 80H64C55.18 80 48 87.18 48 96v288l71.16-142.3C124.6 230.8 135.7 224 147.8 224h396.2C567.7 224 583.2 249 572.6 270.3z"/></svg>';
81
+
82
+ --x4-icon-chevron-down: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z"/></svg>';
83
+ --x4-icon-chevron-right: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><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>';
84
+ --x4-icon-chevron-left: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="currentColor"><path d="M206.7 464.6l-183.1-191.1C18.22 267.1 16 261.1 16 256s2.219-11.97 6.688-16.59l183.1-191.1c9.152-9.594 24.34-9.906 33.9-.7187c9.625 9.125 9.938 24.37 .7187 33.91L73.24 256l168 175.4c9.219 9.5 8.906 24.78-.7187 33.91C231 474.5 215.8 474.2 206.7 464.6z"/></svg>';
85
+ --x4-icon-chevron-up: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M15.41 302.7l191.1-183.1C212 114.2 218 111.1 224 111.1s11.97 2.219 16.59 6.688l191.1 183.1c9.594 9.152 9.906 24.34 .7187 33.9c-9.125 9.625-24.38 9.938-33.91 .7187L224 169.2l-175.4 168c-9.5 9.219-24.78 8.906-33.91-.7187C5.502 327 5.814 311.8 15.41 302.7z"/></svg>';
86
+
87
+ --x4-icon-square-check: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M211.8 339.8C200.9 350.7 183.1 350.7 172.2 339.8L108.2 275.8C97.27 264.9 97.27 247.1 108.2 236.2C119.1 225.3 136.9 225.3 147.8 236.2L192 280.4L300.2 172.2C311.1 161.3 328.9 161.3 339.8 172.2C350.7 183.1 350.7 200.9 339.8 211.8L211.8 339.8zM0 96C0 60.65 28.65 32 64 32H384C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96zM48 96V416C48 424.8 55.16 432 64 432H384C392.8 432 400 424.8 400 416V96C400 87.16 392.8 80 384 80H64C55.16 80 48 87.16 48 96z"/></svg>';
88
+ --x4-icon-square: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="currentColor"><path d="M384 32C419.3 32 448 60.65 448 96V416C448 451.3 419.3 480 384 480H64C28.65 480 0 451.3 0 416V96C0 60.65 28.65 32 64 32H384zM384 64H64C46.33 64 32 78.33 32 96V416C32 433.7 46.33 448 64 448H384C401.7 448 416 433.7 416 416V96C416 78.33 401.7 64 384 64z"/></svg>';
89
+ }
90
+
91
+ @BLACK10: rgba(0,0,0,0.1);
92
+ @BLACK20: rgba(0,0,0,0.2);
93
+ @BLACK30: rgba(0,0,0,0.3);
94
+ @BLACK40: rgba(0,0,0,0.4);
95
+ @BLACK50: rgba(0,0,0,0.5);
96
+ @BLACK60: rgba(0,0,0,0.6);
97
+ @BLACK70: rgba(0,0,0,0.7);
98
+ @BLACK80: rgba(0,0,0,0.8);
99
+ @BLACK90: rgba(0,0,0,0.9);
100
+ @BLACK: #000;
101
+
102
+ @WHITE5: rgba(255,255,255,0.05);
103
+ @WHITE10: rgba(255,255,255,0.1);
104
+ @WHITE20: rgba(255,255,255,0.2);
105
+ @WHITE25: rgba(255,255,255,0.25);
106
+ @WHITE30: rgba(255,255,255,0.3);
107
+ @WHITE40: rgba(255,255,255,0.4);
108
+ @WHITE50: rgba(255,255,255,0.5);
109
+ @WHITE60: rgba(255,255,255,0.6);
110
+ @WHITE70: rgba(255,255,255,0.7);
111
+ @WHITE80: rgba(255,255,255,0.8);
112
+ @WHITE90: rgba(255,255,255,0.9);
113
+ @WHITE: #fff;
114
+
115
+ /* source: https://tailwindcss.com/docs/customizing-colors/#default-color-palette */
116
+ :root {
117
+ --black: #000000;
118
+ --white: #ffffff;
119
+
120
+ --gray-100: #f7fafc;
121
+ --gray-200: #edf2f7;
122
+ --gray-300: #e2e8f0;
123
+ --gray-400: #cbd5e0;
124
+ --gray-500: #a0aec0;
125
+ --gray-600: #718096;
126
+ --gray-700: #4a5568;
127
+ --gray-800: #2d3748;
128
+ --gray-900: #1a202c;
129
+
130
+ --red-100: #fff5f5;
131
+ --red-200: #fed7d7;
132
+ --red-300: #feb2b2;
133
+ --red-400: #fc8181;
134
+ --red-500: #f56565;
135
+ --red-600: #e53e3e;
136
+ --red-700: #c53030;
137
+ --red-800: #9b2c2c;
138
+ --red-900: #742a2a;
139
+
140
+ --orange-100: #fffaf0;
141
+ --orange-200: #feebc8;
142
+ --orange-300: #fbd38d;
143
+ --orange-400: #f6ad55;
144
+ --orange-500: #ed8936;
145
+ --orange-600: #dd6b20;
146
+ --orange-700: #c05621;
147
+ --orange-800: #9c4221;
148
+ --orange-900: #7b341e;
149
+
150
+ --yellow-100: #fffff0;
151
+ --yellow-200: #fefcbf;
152
+ --yellow-300: #faf089;
153
+ --yellow-400: #f6e05e;
154
+ --yellow-500: #ecc94b;
155
+ --yellow-600: #d69e2e;
156
+ --yellow-700: #b7791f;
157
+ --yellow-800: #975a16;
158
+ --yellow-900: #744210;
159
+
160
+ --green-100: #f0fff4;
161
+ --green-200: #c6f6d5;
162
+ --green-300: #9ae6b4;
163
+ --green-400: #68d391;
164
+ --green-500: #48bb78;
165
+ --green-600: #38a169;
166
+ --green-700: #2f855a;
167
+ --green-800: #276749;
168
+ --green-900: #22543d;
169
+
170
+ --teal-100: #e6fffa;
171
+ --teal-200: #b2f5ea;
172
+ --teal-300: #81e6d9;
173
+ --teal-400: #4fd1c5;
174
+ --teal-500: #38b2ac;
175
+ --teal-600: #319795;
176
+ --teal-700: #2c7a7b;
177
+ --teal-800: #285e61;
178
+ --teal-900: #234e52;
179
+
180
+ --blue-100: #ebf8ff;
181
+ --blue-200: #bee3f8;
182
+ --blue-300: #90cdf4;
183
+ --blue-400: #63b3ed;
184
+ --blue-500: #4299e1;
185
+ --blue-600: #3182ce;
186
+ --blue-700: #2b6cb0;
187
+ --blue-800: #2c5282;
188
+ --blue-900: #2a4365;
189
+
190
+ --indigo-100: #ebf4ff;
191
+ --indigo-200: #c3dafe;
192
+ --indigo-300: #a3bffa;
193
+ --indigo-400: #7f9cf5;
194
+ --indigo-500: #667eea;
195
+ --indigo-600: #5a67d8;
196
+ --indigo-700: #4c51bf;
197
+ --indigo-800: #434190;
198
+ --indigo-900: #3c366b;
199
+
200
+ --purple-100: #faf5ff;
201
+ --purple-200: #e9d8fd;
202
+ --purple-300: #d6bcfa;
203
+ --purple-400: #b794f4;
204
+ --purple-500: #9f7aea;
205
+ --purple-600: #805ad5;
206
+ --purple-700: #6b46c1;
207
+ --purple-800: #553c9a;
208
+ --purple-900: #44337a;
209
+
210
+ --pink-100: #fff5f7;
211
+ --pink-200: #fed7e2;
212
+ --pink-300: #fbb6ce;
213
+ --pink-400: #f687b3;
214
+ --pink-500: #ed64a6;
215
+ --pink-600: #d53f8c;
216
+ --pink-700: #b83280;
217
+ --pink-800: #97266d;
218
+ --pink-900: #702459;
219
+ }
220
+
221
+ .x4-root-element {
222
+ padding: 0;
223
+ margin: 0;
224
+ left: 0;
225
+ top: 0;
226
+ right: 0;
227
+ bottom: 0;
228
+
229
+ -webkit-font-smoothing: subpixel-antialiased;
230
+ text-rendering: geometricprecision;
231
+
232
+ font-family: var( --x4-font );
233
+ font-size: var( --x4-font-size );
234
+ }
235
+
236
+ input,
237
+ textarea {
238
+ font-family: inherit;
239
+ font-size: inherit;
240
+ }
241
+
242
+ textarea {
243
+ resize: none;
244
+ outline: none;
245
+ border: 1px solid transparent;
246
+
247
+ &:focus {
248
+ border: 1px solid var( --x4-selection-color );
249
+ }
250
+
251
+ &::selection {
252
+ background-color: var( --x4-selection-color );
253
+ color: #fff;
254
+ }
255
+ }
256
+
257
+ .z-float-4 {
258
+ box-shadow: 4px 4px 8px @BLACK40;
259
+ }
260
+
261
+ .z-float-6 {
262
+ box-shadow: 6px 6px 10px @BLACK50;
263
+ }
264
+
265
+ .z-float-8 {
266
+ box-shadow: 8px 8px 16px @BLACK60;
267
+ }
268
+
269
+ .z-float-15 {
270
+ box-shadow: 4px 4px 15px @BLACK60;
271
+ }
272
+
273
+ .x-comp {
274
+ user-select: none;
275
+ box-sizing: border-box;
276
+ position: relative;
277
+ }
278
+
279
+ .x-flex {
280
+ min-height: 0;
281
+ min-width: 0;
282
+ flex: 1;
283
+ flex-basis: 0;
284
+ }
285
+
286
+ .x-hlayout > .x-min-content {
287
+ min-width: min-content;
288
+ }
289
+
290
+ .x-vlayout > .x-min-content {
291
+ min-height: min-content;
292
+ }
293
+
294
+ .x-fit {
295
+ position: absolute;
296
+ left: 0;
297
+ top: 0;
298
+ right: 0;
299
+ bottom: 0;
300
+ }
301
+
302
+ .x-hfit {
303
+ position: relative;
304
+ left: 0;
305
+ right: 0;
306
+ }
307
+
308
+ .x-vfit {
309
+ position: relative;
310
+ top: 0;
311
+ bottom: 0;
312
+ }
313
+
314
+ .x-hlayout {
315
+ display: flex;
316
+ flex-direction: row;
317
+ overflow: hidden;
318
+
319
+ &.center {
320
+ align-items: center;
321
+ }
322
+ }
323
+
324
+ .x-grid-layout {
325
+ display: grid;
326
+ justify-content: space-evenly;
327
+ }
328
+
329
+ .x-vlayout {
330
+ display: flex;
331
+ flex-direction: column;
332
+ }
333
+
334
+ .x-label {
335
+ color: inherit;
336
+ &.right {
337
+ text-align: right;
338
+ }
339
+
340
+ &.center {
341
+ text-align: center;
342
+ }
343
+ }
344
+
345
+ .x-sizer-overlay {
346
+ position: absolute;
347
+
348
+ &.top {
349
+ width: 100%;
350
+ height: var( --x4-sizer-size );
351
+ cursor: n-resize;
352
+ left: 0;
353
+ top: 0;
354
+ }
355
+
356
+ &.bottom {
357
+ width: 100%;
358
+ height: var( --x4-sizer-size );
359
+ cursor: n-resize;
360
+ left: 0;
361
+ bottom: 0;
362
+ }
363
+
364
+ &.right {
365
+ top: 0;
366
+ right: 0;
367
+ width: var( --x4-sizer-size );
368
+ height: 100%;
369
+ cursor: e-resize;
370
+ }
371
+
372
+ &.left {
373
+ top: 0;
374
+ left: 0;
375
+ width: var( --x4-sizer-size );
376
+ height: 100%;
377
+ cursor: e-resize;
378
+ }
379
+ }
380
+
381
+ .x-sizer-bottom {
382
+ padding-bottom: var( --x4-sizer-size );
383
+ }
384
+
385
+ .x-icon {
386
+ &:before {
387
+ font-family: var( --x4-icon-font-family );
388
+ }
389
+
390
+ display: inline-flex;
391
+ align-items: center;
392
+ text-align: center;
393
+ flex-direction: column;
394
+
395
+ &.x-svg-icon {
396
+ width: 1rem;
397
+ height: 1rem;
398
+
399
+ & > svg {
400
+ width: 100%;
401
+ height: 100%;
402
+ }
403
+ }
404
+ }
405
+
406
+ .x-base-button {
407
+ display: flex;
408
+ flex-direction: row;
409
+ align-items: center;
410
+ gap: 4px;
411
+ outline: none;
412
+ cursor: pointer;
413
+ font-family: var( --x4-font );
414
+ font-size: var( --x4-font-size );
415
+
416
+ height: 2rem;
417
+ padding: 8px;
418
+ overflow: hidden;
419
+
420
+ border: 1px solid var( --x4-default-border-color );
421
+ background-color: var( --x4-button-color );
422
+ color: var( --x4-button-text-color );
423
+
424
+ .x-icon {
425
+ margin: 0 4px;
426
+ color: inherit;
427
+ }
428
+
429
+ .x-svg-icon {
430
+ width: 1rem;
431
+ height: 1rem;
432
+ margin: 0;
433
+ }
434
+
435
+ &:focus {
436
+ border-color: var( --x4-focus-color );
437
+ background-color: var( --x4-focus-color );
438
+ color: white;
439
+ }
440
+
441
+ &.x-disable {
442
+ color: gray;
443
+
444
+ &:after {
445
+ content: "";
446
+ background-color: @WHITE60;
447
+ left: 0;
448
+ right: 0;
449
+ display: block;
450
+ top: 0;
451
+ bottom: 0;
452
+ position: absolute;
453
+ cursor: default;
454
+ }
455
+ }
456
+ }
457
+
458
+ .x-image {
459
+ display: flex;
460
+ overflow: hidden;
461
+
462
+ img {
463
+ width: 100%;
464
+ height: 100%;
465
+ }
466
+ }
467
+
468
+ .x-video {
469
+ display: flex;
470
+ overflow: hidden;
471
+
472
+ video {
473
+ width: 100%;
474
+ height: 100%;
475
+ }
476
+ }
477
+
478
+ .x-image-upload {
479
+ @size: 96px;
480
+
481
+ width: @size;
482
+ height: @size;
483
+ margin: 24px;
484
+
485
+ img {
486
+ width: @size;
487
+ height: @size;
488
+
489
+ background-color: @WHITE70;
490
+ //border: 1px solid white;
491
+ border-radius: 50%;
492
+ }
493
+ }
494
+
495
+ .x-canvas {
496
+ overflow: hidden;
497
+ canvas {
498
+ position: absolute;
499
+ left: 0;
500
+ top: 0;
501
+ right: 0;
502
+ bottom: 0;
503
+ }
504
+ }
505
+
506
+ ::-webkit-scrollbar {
507
+ width: var( --x4-scrollbar-width );
508
+ height: var( --x4-scrollbar-width );
509
+ background-color: var( --x4-scrollbar-background );
510
+ box-sizing: border-box;
511
+ }
512
+
513
+ ::-webkit-scrollbar-thumb {
514
+ background-color: var( --x4-scrollbar-thumb );
515
+ //border-radius: calc( var( --x4-scrollbar-width ) / 2 - 1px );
516
+ }
517
+
518
+ .x-circular-chart {
519
+ background-color: white;
520
+ .z-float-6;
521
+
522
+ .head {
523
+ border-bottom: 1px solid @WHITE10;
524
+ padding: 2px;
525
+ height: 37px;
526
+ white-space: nowrap;
527
+
528
+ .x-label {
529
+ color: white;
530
+ padding: 8px;
531
+ }
532
+
533
+ .x-button {
534
+ height: 32px;
535
+ border: 1px solid @WHITE10;
536
+ }
537
+
538
+ .close-box {
539
+ color: white;
540
+ background-color: transparent;
541
+ border: none;
542
+ font-size: 28px;
543
+ padding-right: 0;
544
+ }
545
+ }
546
+ }
547
+
548
+ .x-text-edit,
549
+ .x-combo-box {
550
+
551
+ display: flex;
552
+ align-items: center;
553
+ //width: 100%;
554
+ min-width: min-content;
555
+ min-height: 32px;
556
+ padding: 0;
557
+
558
+ margin: 0;
559
+ margin-bottom: 4px;
560
+
561
+ .x-hlayout,
562
+ .x-vlayout {
563
+ overflow: visible;
564
+ }
565
+
566
+ &>.x-label {
567
+ &:after {
568
+ content: ':';
569
+ }
570
+
571
+ padding: 4px;
572
+ color: var( --gray-900 );
573
+ margin-top: 1px; // hack alignement label / edit
574
+ line-height: 1.3em;
575
+ min-height: 2em;
576
+ }
577
+
578
+ input,
579
+ .x-fake-input {
580
+ height: 2em;
581
+ font-size: inherit;
582
+ outline: none;
583
+ border: none;
584
+ padding: 4px;
585
+ color: var( --gray-900 );
586
+ border-bottom: 1px solid transparent;
587
+ margin-top: 1px; // hack alignement label / edit
588
+ line-height: 1.3em;
589
+ width: 24px; // fix min-content
590
+
591
+ &::placeholder {
592
+ color: var( --gray-800 );
593
+ }
594
+
595
+ &::selection {
596
+ background-color: var( --x4-selection-color );
597
+ color: #fff;
598
+ }
599
+
600
+ &:focus {
601
+ border-bottom-color: var( --x4-focus-color );
602
+ }
603
+ }
604
+
605
+ &:focus-within {
606
+ &> .x-label {
607
+ color: var( --x4-focus-color );
608
+ }
609
+ }
610
+
611
+ .x-button.gadget {
612
+ background-color: transparent;
613
+ font-size: var( --x4-font-size );
614
+ color: var( --gray-900 );
615
+ border: none;
616
+
617
+ margin: 0;
618
+ padding: 4px;
619
+ height: 2em;
620
+ margin-top: 1px;
621
+
622
+ &:hover {
623
+ background-color: transparent;
624
+ }
625
+
626
+ &:focus {
627
+ color: var( --x4-focus-color );
628
+ }
629
+ }
630
+
631
+ &:focus {
632
+ .x-button.gadget,
633
+ input {
634
+ border-color: var( --x4-focus-color );
635
+ }
636
+
637
+ input {
638
+ border-bottom: 1px solid var( --x4-focus-color );
639
+ }
640
+
641
+ .x-button.gadget {
642
+ color: var( --x4-focus-color );
643
+ }
644
+
645
+ .x-label {
646
+ color: var( --x4-focus-color );
647
+ }
648
+ }
649
+
650
+ .error-info {
651
+ font-size: 70%;
652
+ padding: 4px;
653
+ color: white;
654
+ padding-left: 19px;
655
+ padding-top: 6px;
656
+ pointer-events: none;
657
+ right: 0;
658
+ position: absolute;
659
+ top: -2px;
660
+ z-index: 1;
661
+ }
662
+
663
+ &.x-required .label1:before {
664
+ content: '*';
665
+ padding-right: 2px;
666
+ }
667
+
668
+ &.x-error {
669
+ input {
670
+ border-bottom: none;
671
+ border-left: 4px solid var( --x4-error-color );
672
+ }
673
+ }
674
+ }
675
+
676
+ .x-text-edit {
677
+ // align with combo
678
+ .x-button.gadget {
679
+ margin-left:1 px;
680
+ margin-right:1 px;
681
+ }
682
+ }
683
+
684
+ .x-combo-box {
685
+
686
+ &> .x-label {
687
+ border-top: 1px solid transparent;
688
+ }
689
+
690
+ .x-button.gadget,
691
+ input,
692
+ .x-fake-input {
693
+ border: 1px solid @BLACK10;
694
+ }
695
+
696
+ .x-fake-input {
697
+ min-width: 2em;
698
+ }
699
+
700
+ input,
701
+ .x-fake-input {
702
+ cursor: default;
703
+ border-right: none;
704
+ }
705
+
706
+ &:focus {
707
+ .x-button.gadget,
708
+ input,
709
+ .x-fake-input {
710
+ border-color: var( --x4-focus-color );
711
+ }
712
+
713
+ input,
714
+ .x-fake-input {
715
+ border-bottom: 1px solid var( --x4-focus-color );
716
+ }
717
+
718
+ .x-button.gadget {
719
+ color: var( --x4-focus-color );
720
+ }
721
+
722
+ .x-label {
723
+ color: var( --x4-focus-color );
724
+ }
725
+ }
726
+
727
+ }
728
+
729
+
730
+
731
+
732
+ .x-hlayout {
733
+ & > .x-combo-box {
734
+ margin-bottom: 0;
735
+ //min-height: unset;
736
+ margin-right: 4px;
737
+ }
738
+ }
739
+
740
+ .x-text-edit {
741
+
742
+ &.vertical {
743
+ align-items: stretch;
744
+ }
745
+
746
+ input {
747
+ &:read-only {
748
+ background-color: transparent;
749
+ border-bottom: 1px solid @BLACK10;
750
+ }
751
+ }
752
+
753
+ .x-button {
754
+ padding: 8px 4px;
755
+ height: auto;
756
+ border: none;
757
+ background-color: rgba(0,0,0,0.1);
758
+
759
+ &:hover {
760
+ background-color: rgba(0,0,0,0.3);
761
+ }
762
+ }
763
+
764
+
765
+
766
+ &:focus {
767
+ input {
768
+ border-bottom: 1px solid white;
769
+ }
770
+
771
+ .label1 {
772
+ color: black;
773
+ }
774
+ }
775
+
776
+ }
777
+
778
+ .x-radio-btn,
779
+ .x-check-box {
780
+ align-items: center;
781
+ color: var( --gray-900 );
782
+ outline: none;
783
+ //min-height: 2em;
784
+ padding: 4px 0;
785
+
786
+ input {
787
+ //position: absolute;
788
+ //display: none;
789
+ outline: none;
790
+ margin: 4px;
791
+ padding: 0;
792
+ }
793
+
794
+ .x-label {
795
+ padding: 4px;
796
+ }
797
+
798
+ &:focus-within {
799
+ text-decoration: underline;
800
+ color: var( --x4-selection-color );
801
+ }
802
+ }
803
+
804
+ .x-check-box.slider {
805
+ @delay: 0.2s;
806
+
807
+ input {
808
+ position: absolute;
809
+ clip: rect(0 0 0 0);
810
+ position: absolute;
811
+ width: 1px;
812
+ height: 1px;
813
+ }
814
+
815
+ .x-label:before {
816
+ box-sizing: border-box;
817
+ position: absolute;
818
+ left: 0px;
819
+ top: 3px;
820
+ content: "";
821
+ display: inline-block;
822
+ width: 2.4em;
823
+ height: 1.4em;
824
+ border-radius: 1.4rem;
825
+ padding: 2px;
826
+ background-color: @BLACK30;
827
+ transition: all .2s;
828
+ border: 1px solid @WHITE50
829
+ }
830
+
831
+ // circle
832
+ .x-label:after {
833
+ box-sizing: border-box;
834
+ content: "";
835
+ top: 5px;
836
+ height: calc(1.4em - 4px);
837
+ width: calc(1.4em - 4px);
838
+ border-radius: 50%;
839
+ background-color: #fff;
840
+ transition: all .2s;
841
+ position: absolute;
842
+ left: 2px;
843
+ }
844
+
845
+ input:checked + .x-label:before {
846
+ background-color: var( --x4-selection-color );
847
+ }
848
+
849
+ input:checked + .x-label:after {
850
+ left: calc( 1em + 2px);
851
+ background-color: white;
852
+ }
853
+
854
+ .x-label {
855
+ padding-left: calc(2.5em + 4px );
856
+ height: 2em;
857
+ }
858
+ }
859
+
860
+ .x-menu {
861
+ box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
862
+ background-color: #f7f7f7;
863
+ padding: 2px 0;
864
+
865
+ max-height: 80%;
866
+ overflow: auto;
867
+ }
868
+
869
+ .x-menu-title {
870
+ width: 100%;
871
+ background-color: #e22e6d;
872
+ color: white;
873
+ height: 2.3em;
874
+ display: block;
875
+ padding: 0 8px;
876
+ line-height: 2.5em;
877
+ }
878
+
879
+ .x-menu-item {
880
+ display: flex;
881
+ flex-direction: row;
882
+ align-items: center;
883
+ outline: none;
884
+
885
+ background-color: transparent;
886
+ color: var( --gray-900 );
887
+
888
+ padding: 0px 8px;
889
+ min-width: 120px;
890
+ border: none;
891
+
892
+ .x-icon {
893
+ width: 1em;
894
+ margin-right: 8px;
895
+ color: var( --gray-700 );
896
+
897
+ &.pop-mark {
898
+ height: 0.8em;
899
+ }
900
+ }
901
+
902
+ .x-label {
903
+ padding: 4px;
904
+ }
905
+
906
+ &:hover {
907
+ background-color: var( --x4-hover-color);
908
+ color: var(--x4-hover-text);
909
+
910
+ .x-icon {
911
+ color: var( --gray-900 );
912
+ }
913
+ }
914
+ }
915
+
916
+ .x-menu-separator {
917
+ margin-top: 4px;
918
+ border-top: 1px solid @BLACK10;
919
+ margin-bottom: 3px;
920
+ }
921
+
922
+ .x-link {
923
+ padding: 4px;
924
+ color: var( --x4-selection-color );
925
+ cursor: pointer;
926
+ outline: none;
927
+
928
+ display: flex;
929
+ align-items: center;
930
+
931
+ &:focus {
932
+ color: var( --x4-selection-color );
933
+ text-decoration: underline;
934
+ }
935
+
936
+ // min-height: 32px;
937
+ color: inherit;
938
+ }
939
+
940
+ .x-column-view {
941
+ border-bottom: 1px solid @WHITE50;
942
+ overflow: hidden;
943
+
944
+ .line {
945
+ height: 48px;
946
+ }
947
+
948
+ .head {
949
+ background: none;
950
+ background-color: inherit;
951
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
952
+ z-index: 2;
953
+
954
+ border: 1px solid transparent;
955
+ border-bottom: 1px solid @WHITE50;
956
+ height: 40px;
957
+
958
+ margin: 0 4px;
959
+
960
+ .x-label {
961
+ line-height: 32px;
962
+ }
963
+ }
964
+
965
+ .h-container {
966
+ margin-right: var( --x4-scrollbar-width );
967
+ }
968
+ }
969
+
970
+ .x-list-view {
971
+
972
+ border: 1px solid var( --x4-default-border-color );
973
+
974
+ .x-list-item {
975
+ padding: 4px;
976
+ line-height: 2em;
977
+ white-space: nowrap;
978
+
979
+ &:hover {
980
+ background-color: var( --x4-hover-color );
981
+ color: var( --x4-hover-text );
982
+ }
983
+
984
+ &.x-selected {
985
+ background-color: var( --x4-selection-color );
986
+ color: var( --x4-selection-text );
987
+ }
988
+
989
+ &:focus {
990
+ outline: none;
991
+ }
992
+ }
993
+
994
+ &:focus {
995
+ outline: none;
996
+ border-color: var( --x4-focus-color );
997
+ }
998
+
999
+ .gadgets {
1000
+ border-top: 1px solid @BLACK50;
1001
+ background-color: @BLACK10;
1002
+
1003
+ .x-button {
1004
+ background-color: transparent;
1005
+ &:hover {
1006
+ background-color: white;
1007
+ };
1008
+ }
1009
+ }
1010
+ }
1011
+
1012
+ .x-mask {
1013
+ filter: grayscale(80%);
1014
+
1015
+ &:after {
1016
+ content: '';
1017
+
1018
+ position: absolute; // to be sure it will be over everybody
1019
+ left: -100vw;
1020
+ top: -100vh;
1021
+ width: 200vw;
1022
+ height: 200vh;
1023
+
1024
+ background-color: var( --x4-mask-color );
1025
+ z-index: 999;
1026
+ }
1027
+ }
1028
+
1029
+ .x-popup {
1030
+ position: absolute;
1031
+ z-index: 1000;
1032
+
1033
+ font-family: var( --x4-font );
1034
+ font-size: var( --x4-font-size );
1035
+
1036
+ &:focus {
1037
+ outline: none;
1038
+ }
1039
+ }
1040
+
1041
+ .x-panel {
1042
+ &>.title {
1043
+ align-items: center;
1044
+ line-height: 1.5em;
1045
+ padding: 4px;
1046
+
1047
+ &> .x-label {
1048
+ flex: 1;
1049
+ }
1050
+
1051
+ &> .x-button {
1052
+ background-color: transparent;
1053
+ padding: 0;
1054
+ border: none;
1055
+ box-shadow: none;
1056
+ &:focus {
1057
+ color: var( --gray-900 );
1058
+ }
1059
+ }
1060
+
1061
+ border-bottom: 1px solid var( --x4-default-border-color );
1062
+ }
1063
+
1064
+ &>.body {
1065
+ padding: 8px;
1066
+ flex: 1;
1067
+ }
1068
+ }
1069
+
1070
+ .x-dialog {
1071
+ border: 0.5px solid @BLACK20;
1072
+
1073
+ .z-float-8;
1074
+
1075
+ & > .title {
1076
+ height: 2rem;
1077
+ color: white;
1078
+ padding: 0 8px;
1079
+ display: flex;
1080
+ align-items: center;
1081
+ background-color: var( --x4-selection-color );
1082
+ width: 0; // to avoid title changing dialog size when long
1083
+
1084
+ .x-icon {
1085
+ width: 2em;
1086
+ height: 1.9em;
1087
+ padding: 4px;
1088
+
1089
+ text-align: center;
1090
+ cursor: pointer;
1091
+
1092
+ &:hover {
1093
+ background-color: @WHITE10;
1094
+ }
1095
+ }
1096
+
1097
+ .x-icon.close-btn:hover {
1098
+ background-color: var( --x4-error-color );
1099
+ color: white;
1100
+ }
1101
+
1102
+ .x-label {
1103
+ border-bottom: none;
1104
+ padding: 0;
1105
+ overflow: hidden;
1106
+ text-overflow: ellipsis;
1107
+ white-space: nowrap;
1108
+ }
1109
+
1110
+ .res-btn {
1111
+ display: none;
1112
+ }
1113
+ }
1114
+
1115
+ &.maximized > .title {
1116
+ .min-btn,
1117
+ .max-btn {
1118
+ display: none;
1119
+ }
1120
+
1121
+ .res-btn {
1122
+ display: block;
1123
+ }
1124
+ }
1125
+
1126
+ min-width: 250px;
1127
+ min-height: 100px;
1128
+ }
1129
+
1130
+
1131
+ .x-dialog.x-resized {
1132
+ display: flex;
1133
+ flex-direction: column;
1134
+
1135
+ &>.x-form {
1136
+ flex: 1;
1137
+
1138
+ &>.container {
1139
+ .x-flex;
1140
+ }
1141
+ }
1142
+ }
1143
+
1144
+ .x-dialog.maximized {
1145
+ left: 0;
1146
+ top: 0;
1147
+ width: 100%;
1148
+ height: 100%;
1149
+ margin: 0;
1150
+
1151
+ & > .title {
1152
+ height: 2em;
1153
+ }
1154
+ }
1155
+
1156
+ .x-size-all {
1157
+ margin: 4px;
1158
+
1159
+ &> .x-sizer-overlay {
1160
+ background-color: transparent;
1161
+ border: none;
1162
+
1163
+ &.topleft,
1164
+ &.topright,
1165
+ &.bottomleft,
1166
+ &.bottomright {
1167
+ cursor: se-resize;
1168
+ width: 6px;
1169
+ height: 6px;
1170
+ z-index: 11;
1171
+ }
1172
+
1173
+ &.topleft {
1174
+ left: -4px;
1175
+ top: -4px;
1176
+ }
1177
+
1178
+ &.bottomright {
1179
+ right: -4px;
1180
+ bottom: -4px;
1181
+ }
1182
+
1183
+ &.topright {
1184
+ cursor: nesw-resize;
1185
+ right: -4px;
1186
+ top: -4px;
1187
+ }
1188
+
1189
+ &.bottomleft {
1190
+ cursor: nesw-resize;
1191
+ left: -4px;
1192
+ bottom: -4px;
1193
+ }
1194
+
1195
+ &.top,
1196
+ &.bottom {
1197
+ width: 100%;
1198
+ height: 4px;
1199
+ left: 0;
1200
+ z-index: 10;
1201
+ cursor: n-resize;
1202
+ }
1203
+
1204
+ &.top {
1205
+ top: -4px;
1206
+ }
1207
+
1208
+ &.bottom {
1209
+ bottom: -4px;
1210
+ }
1211
+
1212
+ &.left,
1213
+ &.right {
1214
+ height: 100%;
1215
+ width: 4px;
1216
+ top: 0;
1217
+ z-index: 10;
1218
+ cursor: w-resize;
1219
+ border: none;
1220
+ }
1221
+
1222
+ &.left {
1223
+ left: -4px;
1224
+ }
1225
+
1226
+ &.right {
1227
+ right: -4px;
1228
+ }
1229
+ }
1230
+ }
1231
+
1232
+ .x-form {
1233
+ background-color: var( --x4-form-color );
1234
+ margin-block-end: 0;
1235
+ padding: 8px 0;
1236
+ min-width: 250px;
1237
+ min-height: 50px;
1238
+ padding-right: 4px;
1239
+
1240
+ &>.container {
1241
+ padding: 0px;
1242
+ overflow: auto;
1243
+ padding: 0 4px 0 8px;
1244
+ }
1245
+
1246
+ &>.footer {
1247
+ position: relative;
1248
+ left: 0;
1249
+ bottom: 0;
1250
+ width: 100%;
1251
+ justify-content: flex-end;
1252
+ padding: 0px 4px 0 8px;
1253
+ margin-top: 8px;
1254
+ align-items: center;
1255
+
1256
+ .x-button:not(.x-small) {
1257
+ min-width: 110px;
1258
+ }
1259
+
1260
+ .x-button:not(:first-child) {
1261
+ margin-left: 8px;
1262
+ }
1263
+ }
1264
+ }
1265
+
1266
+ .x-hidden {
1267
+ display: none ! important;
1268
+ }
1269
+
1270
+ .x-tab-view {
1271
+ overflow: hidden;
1272
+ padding: 24px;
1273
+ padding-top: 0;
1274
+
1275
+ .x-tab-switch {
1276
+ border-bottom: 1px solid @WHITE10;
1277
+ background-color: rgba(0,0,0,0.1);
1278
+
1279
+ .x-tab-btn {
1280
+ border: none;
1281
+ background-color: transparent;
1282
+
1283
+ &:hover {
1284
+ .x-label {
1285
+ text-decoration: underline;
1286
+ }
1287
+ }
1288
+ }
1289
+
1290
+ .x-tab-btn.x-active {
1291
+ background-color: rgba(255,255,255,0.2);
1292
+ }
1293
+ }
1294
+ }
1295
+
1296
+ .x-tab-page {
1297
+ min-width: 0;
1298
+ }
1299
+
1300
+ .x-input-box,
1301
+ .x-message-box,
1302
+ .x-important {
1303
+
1304
+ &>.title {
1305
+ background: none;
1306
+ background-color: var( --x4-error-color );
1307
+ height: 2.5em;
1308
+
1309
+ .x-label {
1310
+ border-bottom: none;
1311
+ padding-bottom: 0;
1312
+ }
1313
+
1314
+ .x-icon {
1315
+ display: none;
1316
+ }
1317
+ }
1318
+
1319
+ .x-form {
1320
+ min-height: 100px;
1321
+ background-color: white;
1322
+
1323
+ .panel {
1324
+ align-items: center;
1325
+ }
1326
+
1327
+ .icon {
1328
+ font-size: 48px;
1329
+ width: 48px;
1330
+ height: 48px;
1331
+ color: var( --x4-error-color );
1332
+ margin-right: 8px;
1333
+ }
1334
+
1335
+ .text {
1336
+ padding: 8px;
1337
+ color: #666666;
1338
+ line-height: 1.7em;
1339
+ max-width: 50vw;
1340
+ }
1341
+
1342
+ &>.footer {
1343
+ background-color: white;
1344
+ border-top: 1px solid rgba(0,0,0,0.05);
1345
+ padding-top: 8px;
1346
+
1347
+ .x-button {
1348
+ background-color: var( --x4-error-color );
1349
+ color: white;
1350
+ }
1351
+
1352
+ .x-button:focus {
1353
+ border-color: black;
1354
+ }
1355
+ }
1356
+ }
1357
+ }
1358
+
1359
+ @bwidth: 4px;
1360
+
1361
+ .x-spreadsheet,
1362
+ .x-grid-view {
1363
+
1364
+ @def-height: 2em;
1365
+
1366
+ min-height: 0;
1367
+ overflow: hidden;
1368
+ background-color: white;
1369
+
1370
+ .x-cell {
1371
+ overflow: hidden;
1372
+ padding: 4px;
1373
+ white-space: nowrap;
1374
+ color: var( --gray-900 );
1375
+ height: @def-height;
1376
+
1377
+ span {
1378
+ width: 100%;
1379
+ }
1380
+ }
1381
+
1382
+ .x-footer,
1383
+ .x-header {
1384
+ height: @def-height;
1385
+ background-color: #f0f0f0;
1386
+ align-items: center;
1387
+ border-bottom: 1px solid rgba(0,0,0,0.4);
1388
+
1389
+ .x-sizer-bar {
1390
+ background-color: transparent;
1391
+ }
1392
+
1393
+ .x-cell {
1394
+ border-right: 1px solid rgba(0,0,0,0.1);
1395
+ height: 100%;
1396
+ display: flex;
1397
+ align-items: center;
1398
+
1399
+ span {
1400
+ min-width: 0;
1401
+ text-overflow: ellipsis;
1402
+ overflow: hidden;
1403
+ }
1404
+
1405
+ &.sort {
1406
+ height: 0.7rem;
1407
+ opacity: 0.7;
1408
+ }
1409
+ }
1410
+ }
1411
+
1412
+ .x-header {
1413
+ .x-cell {
1414
+ span {
1415
+ width: unset;
1416
+ text-transform: uppercase;
1417
+ font-weight: bold;
1418
+ }
1419
+
1420
+ .sort {
1421
+ width: 1em;
1422
+ height: 1em;
1423
+ padding-left: 4px;
1424
+ }
1425
+ }
1426
+ }
1427
+
1428
+ .x-row {
1429
+ position: absolute;
1430
+ width: calc( 100% - @bwidth ); // todo: border of 1st col
1431
+ border-bottom: 1px solid #d0d0d0;
1432
+ align-items: center;
1433
+ height: @def-height;
1434
+
1435
+ &.odd {
1436
+ background-color: rgb(250,250,250);
1437
+ }
1438
+ }
1439
+
1440
+ .x-cell {
1441
+ border-right: 1px solid #d0d0d0;
1442
+
1443
+ &.center {
1444
+ text-align: center;
1445
+ justify-content: center;
1446
+ }
1447
+
1448
+ &.right {
1449
+ text-align: right;
1450
+ justify-content: right;
1451
+ }
1452
+ }
1453
+
1454
+ &:focus {
1455
+ outline: none;
1456
+ }
1457
+ }
1458
+
1459
+ .x-grid-view {
1460
+ .x-footer,
1461
+ .x-header {
1462
+ border-left: @bwidth solid #f0f0f0;
1463
+ }
1464
+
1465
+ .x-row {
1466
+ border-left: @bwidth solid transparent;
1467
+
1468
+ &:hover {
1469
+ background-color: rgba(0,0,0,0.1);
1470
+ border-left-color: @BLACK60;
1471
+ }
1472
+
1473
+ &.x-selected {
1474
+ background-color: var( --x4-selection-color );
1475
+
1476
+ .x-cell {
1477
+ color: white;
1478
+ }
1479
+ }
1480
+ }
1481
+
1482
+ .empty-msg {
1483
+ position: absolute;
1484
+ left: 1em;
1485
+ top: 4em;
1486
+ }
1487
+ }
1488
+
1489
+ .x-spreadsheet {
1490
+
1491
+ .x-header {
1492
+ //position: absolute;
1493
+ }
1494
+
1495
+ .content .x-cell {
1496
+ position: absolute;
1497
+ border-right: 1px solid rgba(0,0,0,0.1);
1498
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1499
+ height: 2em;
1500
+ align-items: center;
1501
+ display: flex;
1502
+ }
1503
+
1504
+ .x-cell.x-selected {
1505
+ background-color: @BLACK10;
1506
+ }
1507
+
1508
+ &:focus {
1509
+ .x-cell.x-selected {
1510
+ background-color: var( --x4-selection-color );
1511
+ color: white;
1512
+ }
1513
+ }
1514
+
1515
+ .x-editor {
1516
+ position: absolute;
1517
+ min-height: 0;
1518
+ margin: 0;
1519
+
1520
+ input {
1521
+ margin: 0;
1522
+ min-height: 0;
1523
+ height: 100%;
1524
+ }
1525
+ }
1526
+ }
1527
+
1528
+ .x-form .x-spreadsheet .x-editor {
1529
+ background-color: white;
1530
+ }
1531
+
1532
+ .x-side-bar {
1533
+ min-width: 44px;
1534
+
1535
+ .x-button {
1536
+ background-color: transparent;
1537
+ color: var( --x4-base-color );
1538
+ border: none;
1539
+ //border-bottom: 1px solid fadeout(var( --x4-base-color ),90%);
1540
+
1541
+ min-height: 2em;
1542
+
1543
+ //.x-icon {
1544
+ // color: fadeout( var( --x4-base-color ), 50% );
1545
+ //}
1546
+
1547
+ &:hover {
1548
+ background-color: var( --x4-hover-color );
1549
+ color: white;
1550
+
1551
+ .x-icon {
1552
+ color: fadeout(white,50%);
1553
+ }
1554
+ }
1555
+
1556
+ &.x-active {
1557
+ background-color: var( --x4-base-color );
1558
+ color: white;
1559
+
1560
+ .x-icon {
1561
+ color: white;
1562
+ }
1563
+ }
1564
+
1565
+ &.x-active:hover {
1566
+ //background-color: fadeout(var( --x4-base-color ),20%);
1567
+ color: white;
1568
+
1569
+ .x-icon {
1570
+ color: fadeout(white,50%);
1571
+ }
1572
+ }
1573
+
1574
+ &.trans,
1575
+ &.trans .x-icon {
1576
+ transition: background-color 0.4s ease, color 0.4s ease;
1577
+ }
1578
+ }
1579
+
1580
+ &.collapsed {
1581
+ .x-button {
1582
+ .x-label {
1583
+ display: none;
1584
+ }
1585
+
1586
+ &.x-active .x-icon,
1587
+ &:hover .x-icon {
1588
+ color: white;
1589
+ }
1590
+ }
1591
+ }
1592
+ }
1593
+
1594
+ .x-tooltip {
1595
+ .z-float-4;
1596
+ z-index: 50000;
1597
+ display: inline-block;
1598
+ max-width: 400px;
1599
+ pointer-events: none;
1600
+
1601
+ background-color: white;
1602
+ color: white;
1603
+ padding-left: 24px;
1604
+
1605
+ font-family: var( --x4-font );
1606
+ font-size: var( --x4-font-size );
1607
+
1608
+ .x-icon {
1609
+ position: absolute;
1610
+ left: 5px;
1611
+ top: 7px;
1612
+ color: var( --x4-selection-color );
1613
+ }
1614
+
1615
+ .x-label {
1616
+ background-color: var( --x4-selection-color );
1617
+ white-space: break-spaces;
1618
+ display: inline-block;
1619
+ padding: 6px;
1620
+ line-height: 1.3em;
1621
+ }
1622
+ }
1623
+
1624
+ .x-search-bar {
1625
+ background-color: var( --x4-base-color );
1626
+ height: 2em;
1627
+ }
1628
+
1629
+ .x-popup-table {
1630
+ .z-float-8;
1631
+
1632
+ border-collapse: collapse;
1633
+ background-color: white;
1634
+ padding: 2px 0;
1635
+
1636
+ tr.x-selected {
1637
+ //background-color: rgba(200,255,255,1);
1638
+ background-color: var(--x4-selection-color);
1639
+ color: var( --x4-selection-text);
1640
+ }
1641
+
1642
+ tr:hover {
1643
+ background-color: var(--x4-hover-color);
1644
+ color: var( --x4-hover-text);
1645
+ }
1646
+
1647
+ td {
1648
+ padding: 3px 8px;
1649
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1650
+ }
1651
+
1652
+ .hilite {
1653
+ font-weight: bold;
1654
+ }
1655
+ }
1656
+
1657
+
1658
+ .x-scroll-view,
1659
+ .x-container.x-scroll-view {
1660
+ overflow-y: auto;
1661
+
1662
+ .x-scroll-container {
1663
+ //min-height: 100%;
1664
+ //pb: le container réduit tous les éléments contenus
1665
+ }
1666
+ }
1667
+
1668
+
1669
+ .x-popup-list-view {
1670
+ .z-float-4( );
1671
+ background-color: white;
1672
+
1673
+ .x-combo-popup {
1674
+ min-height: 1em;
1675
+ max-height: 400px;
1676
+
1677
+ border: 1px solid #00000073;
1678
+
1679
+ .x-list-item {
1680
+ height: 2em;
1681
+ line-height: calc( 2em - 8px );
1682
+ }
1683
+
1684
+ overflow: auto;
1685
+ color: var( --gray-900 );
1686
+ }
1687
+ }
1688
+
1689
+ .x-calendar {
1690
+ border: 1px solid @BLACK10;
1691
+ padding: 4px;
1692
+
1693
+ .month-sel {
1694
+ height: 2em;
1695
+ align-items: center;
1696
+ padding-left: 2em;
1697
+
1698
+ .month {
1699
+ padding-right: 4px;
1700
+ }
1701
+
1702
+ .year {
1703
+ cursor: pointer;
1704
+ }
1705
+
1706
+ .month,
1707
+ .year {
1708
+ cursor: pointer;
1709
+ &:hover {
1710
+ text-decoration: underline;
1711
+ }
1712
+ }
1713
+
1714
+ .x-label {
1715
+ font-weight: bold;
1716
+ }
1717
+
1718
+ .x-button {
1719
+ height: auto;
1720
+ color: var( --gray-900 );
1721
+ }
1722
+
1723
+ margin-bottom: 8px;
1724
+ }
1725
+
1726
+ .week {
1727
+ align-items: center;
1728
+ border: 1px solid transparent;
1729
+
1730
+ &:hover {
1731
+ border-color: var( --x4-hover-color );
1732
+ border-radius: 4px;
1733
+ }
1734
+
1735
+ .cell {
1736
+ height: 100%;
1737
+ color: var( --gray-900 );
1738
+ text-align: center;
1739
+ span {
1740
+ margin: auto;
1741
+ }
1742
+ }
1743
+
1744
+ .today {
1745
+ font-weight: bold;
1746
+ background-color: var( --x4-error-color );
1747
+
1748
+ span {
1749
+ //border: 2px solid #013e69;
1750
+ //padding: 4px;
1751
+ border-radius: 2px;
1752
+ color: white;
1753
+ }
1754
+ }
1755
+
1756
+ .weeknum {
1757
+ width: 2em;
1758
+ color: @BLACK30;
1759
+ font-size: 70%;
1760
+ }
1761
+
1762
+ .day {
1763
+ cursor: pointer;
1764
+ }
1765
+
1766
+ .out {
1767
+ color: @BLACK30;
1768
+ }
1769
+
1770
+ .day:hover {
1771
+ background-color: var( --x4-hover-color );
1772
+ color: white;
1773
+ }
1774
+ }
1775
+
1776
+ .header {
1777
+ .cell {
1778
+ color: var( --gray-800 );
1779
+ height: 1.5em;
1780
+ }
1781
+
1782
+ &:hover {
1783
+ background-color: inherit;
1784
+ }
1785
+ }
1786
+ }
1787
+
1788
+ .x-container {
1789
+ // overflow: hidden;
1790
+ }
1791
+
1792
+ .x-popup-calendar {
1793
+ width: 250px;
1794
+ height: 200px;
1795
+ background-color: white;
1796
+ .z-float-8;
1797
+
1798
+
1799
+ }
1800
+
1801
+ .x-separator {
1802
+ background-color: white;
1803
+
1804
+ &.horizontal {
1805
+ width: 4px;
1806
+ border-left: 1px solid #c7c7c7;
1807
+ border-right: 1px solid #c7c7c7;
1808
+ cursor: e-resize;
1809
+ }
1810
+
1811
+ &.vertical {
1812
+ height: 4px;
1813
+ border-top: 1px solid #c7c7c7;
1814
+ border-bottom: 1px solid #c7c7c7;
1815
+ cursor: n-resize;
1816
+
1817
+ }
1818
+
1819
+ &:hover {
1820
+ background-color: #575757;
1821
+ border-color: #575757;
1822
+ }
1823
+ }
1824
+
1825
+ .x-toggle-button {
1826
+ &.checked {
1827
+ background-color: #a8a8a8;
1828
+ }
1829
+ }
1830
+
1831
+
1832
+ .x-color-picker-box {
1833
+ .customs {
1834
+ padding: 8px;
1835
+
1836
+ .cust-cc {
1837
+ height: 16px;
1838
+ border: 1px solid @BLACK40;
1839
+ }
1840
+ }
1841
+ }
1842
+
1843
+ .x-color-picker-editor {
1844
+ .alpha {
1845
+ background-image: url( 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==' );
1846
+ padding: 4px;
1847
+ }
1848
+ }
1849
+
1850
+ .x-color-picker {
1851
+
1852
+ .sel {
1853
+ position: absolute;
1854
+ left: 10px;
1855
+ top: 10px;
1856
+ right: 40px;
1857
+ bottom: 40px;
1858
+
1859
+ .marker {
1860
+ position: absolute;
1861
+ width: 6px;
1862
+ height: 6px;
1863
+ margin-top: -3px;
1864
+ margin-left: -3px;
1865
+
1866
+ border: 1px solid white;
1867
+ }
1868
+ }
1869
+
1870
+ .light {
1871
+ background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
1872
+ }
1873
+
1874
+ .dark {
1875
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
1876
+ }
1877
+
1878
+ .hue {
1879
+ position: absolute;
1880
+ top: 10px;
1881
+ bottom: 40px;
1882
+ right: 10px;
1883
+ width: 20px;
1884
+ background: linear-gradient(to bottom, #ff0000 0%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 66%,#ff00ff 83%,#ff0000 100%);
1885
+
1886
+ .marker {
1887
+ position: absolute;
1888
+ width: calc( 100% + 6px );
1889
+ height: 4px;
1890
+ margin-top: -2px;
1891
+ margin-left: -3px;
1892
+ background-color: black;
1893
+ //border: 1px solid white;
1894
+ }
1895
+ }
1896
+
1897
+ .sample {
1898
+ position: absolute;
1899
+ bottom: 10px;
1900
+ height: 20px;
1901
+ width: 20px;
1902
+ right: 10px;
1903
+
1904
+ .color {
1905
+ background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgb(255,0,0) 100%);
1906
+ }
1907
+ }
1908
+
1909
+ .alpha,
1910
+ .transp {
1911
+ position: absolute;
1912
+ left: 10px;
1913
+ bottom: 10px;
1914
+ right: 20px;
1915
+ height: 20px;
1916
+ }
1917
+
1918
+ .transp {
1919
+ bottom: 8px;
1920
+ width: 115px;
1921
+ left: 4px;
1922
+ height: 24px;
1923
+ }
1924
+
1925
+ .hexv {
1926
+ position: absolute;
1927
+ bottom: 8px;
1928
+ left: 120px;
1929
+ height: 24px;
1930
+ margin: 0;
1931
+ width: 90px;
1932
+ min-height: unset;
1933
+ }
1934
+
1935
+ .alpha {
1936
+ background-image: url( 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==' );
1937
+
1938
+ .marker {
1939
+ position: absolute;
1940
+ height: calc( 100% + 6px );
1941
+ width: 4px;
1942
+ margin-top: -3px;
1943
+ margin-left: -2px;
1944
+ background-color: black;
1945
+ //border: 1px solid white;
1946
+ }
1947
+ }
1948
+
1949
+ &.with-alpha {
1950
+
1951
+ .sel {
1952
+ left: 4px;
1953
+ top: 4px;
1954
+ bottom: 34px;
1955
+ right: 34px;
1956
+ }
1957
+
1958
+ .hue {
1959
+ top: 4px;
1960
+ right: 4px;
1961
+ bottom: 34px;
1962
+ }
1963
+
1964
+ .hexv {
1965
+ bottom: 4px;
1966
+ left: 4px;
1967
+ width: 120px;
1968
+ }
1969
+
1970
+ .alpha {
1971
+ left: 130px;
1972
+ right: 4px;
1973
+ height: 24px;
1974
+ bottom: 4px;
1975
+ }
1976
+
1977
+ .transp,
1978
+ .sample {
1979
+ display: none;
1980
+ }
1981
+ }
1982
+
1983
+ &.pal-mode {
1984
+ display: flex;
1985
+ gap: 1px;
1986
+
1987
+ &>.x-container {
1988
+ width: 100%;
1989
+ }
1990
+
1991
+ .hcol, .vcol {
1992
+ justify-content: space-between;
1993
+ }
1994
+
1995
+ .hcol {
1996
+ min-height: 90px;
1997
+ margin-top: 40px;
1998
+ }
1999
+
2000
+ .hexv {
2001
+ bottom: 10px;
2002
+ left: 120px;
2003
+ right: 10px;
2004
+ width: unset;
2005
+ }
2006
+
2007
+ .transp {
2008
+ display: flex;
2009
+ }
2010
+
2011
+ #hsel {
2012
+ gap: 4px;
2013
+ flex-wrap: wrap;
2014
+ justify-content: center;
2015
+ }
2016
+
2017
+ #vsel {
2018
+ gap: 1px;
2019
+ margin-top: 10px;
2020
+ }
2021
+
2022
+ .clr-box {
2023
+ width: 19px;
2024
+ height: 10px;
2025
+ }
2026
+
2027
+ .hclr-box {
2028
+ height: 16px;
2029
+ min-width: 19px;
2030
+
2031
+ &.selected {
2032
+ border: 1px solid black;
2033
+ }
2034
+
2035
+ font-size: 9px;
2036
+ line-height: 16px;
2037
+ text-align: center;
2038
+ }
2039
+ }
2040
+ }
2041
+
2042
+
2043
+
2044
+ .x-tree-view {
2045
+
2046
+ .x-scroll-view {
2047
+ margin: 4px;
2048
+ }
2049
+
2050
+ .x-tree-item {
2051
+ line-height: 1.5em;
2052
+ white-space: nowrap;
2053
+ overflow: hidden;
2054
+ align-items: center;
2055
+
2056
+ span {
2057
+ padding: 0 4px;
2058
+ }
2059
+
2060
+ .tree-icon {
2061
+ width: 2em;
2062
+ color:#999;
2063
+ height: 0.8em;
2064
+ }
2065
+
2066
+ &.selected {
2067
+ background-color: var( --x4-selection-color );
2068
+ color: var( --x4-selection-text );
2069
+
2070
+ .tree-icon {
2071
+ color: var( --x4-selection-text );
2072
+ }
2073
+ }
2074
+
2075
+ &:hover {
2076
+ background-color: var( --x4-hover-color );
2077
+ color: var( --x4-hover-text );
2078
+
2079
+ .tree-icon {
2080
+ color: var( --x4-hover-text );
2081
+ }
2082
+ }
2083
+
2084
+ .indent {
2085
+ position: absolute;
2086
+ border-left: 1px solid @BLACK10;
2087
+ height: 100%;
2088
+ top: 0;
2089
+ }
2090
+ }
2091
+
2092
+ .gadgets {
2093
+ border-top: 1px solid @BLACK50;
2094
+ background-color: @BLACK10;
2095
+
2096
+ .x-button {
2097
+ background-color: transparent;
2098
+ &:hover {
2099
+ background-color: white;
2100
+ };
2101
+ }
2102
+ }
2103
+ }
2104
+
2105
+ .x-tooltip.error {
2106
+ background-color: var( --x4-error-color );
2107
+ padding: 0 6px;
2108
+ margin-left: 3px;
2109
+ position: absolute;
2110
+ border: 1px solid rgba(0,0,0,0.3);
2111
+
2112
+ .x-label {
2113
+ background-color: transparent;
2114
+ color: white;
2115
+ font-size: inherit;
2116
+ padding: 0;
2117
+ }
2118
+
2119
+ .x-icon {
2120
+ display: none;
2121
+ }
2122
+ }
2123
+
2124
+ .x-text-edit.with-gadgets {
2125
+ input {
2126
+ border-right: none;
2127
+ }
2128
+
2129
+ &> .x-icon {
2130
+ border: 1px solid @BLACK50;
2131
+ width: 1.5em;
2132
+ height: 100%;
2133
+ line-height: 1.8em;
2134
+ border-left: none;
2135
+ }
2136
+ }
2137
+
2138
+ .x-text-hiliter {
2139
+ overflow: hidden;
2140
+
2141
+ textarea {
2142
+ font-family: monospace;
2143
+ font-size: var( --x4-font-size );
2144
+ padding: 2px;
2145
+
2146
+ resize: none;
2147
+ outline: none;
2148
+ border: 1px solid transparent;
2149
+ width: 100%;
2150
+
2151
+ &:focus {
2152
+ border: 1px solid var( --x4-selection-color )
2153
+ }
2154
+
2155
+ color: transparent;
2156
+ background-color: transparent;
2157
+ color: var( --gray-900 );
2158
+
2159
+ -moz-tab-size : 4;
2160
+ -o-tab-size : 4;
2161
+ tab-size : 4;
2162
+ }
2163
+
2164
+ .x-syntax-hiliter {
2165
+ font-family: monospace;
2166
+ font-size: var( --x4-font-size );
2167
+ padding: 2px;
2168
+ border: 1px solid transparent;
2169
+ overflow: hidden;
2170
+ white-space: pre;
2171
+ color: rgb(92,92,92);
2172
+ background-color: white;
2173
+
2174
+ -moz-tab-size : 4;
2175
+ -o-tab-size : 4;
2176
+ tab-size : 4;
2177
+
2178
+ .num {
2179
+ color: #008000;
2180
+ }
2181
+
2182
+ .kword {
2183
+ color: #000080;
2184
+ }
2185
+
2186
+ .str {
2187
+ color: #8b0000;
2188
+ }
2189
+
2190
+ .cmt {
2191
+ color: #8b008b;
2192
+ background-color: fadeout( #8b008b, 80% );
2193
+ }
2194
+
2195
+ .punc {
2196
+ font-weight: bold;
2197
+ color: black;
2198
+ }
2199
+ }
2200
+ }
2201
+
2202
+ .x-list-view.virtual {
2203
+ .x-list-item {
2204
+ position: absolute;
2205
+ left: 0;
2206
+ right: 0;
2207
+ }
2208
+ }
2209
+
2210
+ .x-masonry {
2211
+ display: grid;
2212
+ grid-gap: 10px;
2213
+ grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
2214
+ grid-auto-rows: 10px;
2215
+ }
2216
+
2217
+ .x-tab-bar {
2218
+ border-bottom: 1px solid var(--gray-600);
2219
+ background-color: var(--gray-100);
2220
+
2221
+ &> .x-button {
2222
+ border: none;
2223
+ color: var( --gray-600 );
2224
+
2225
+ &.selected {
2226
+ font-weight: bold;
2227
+ //border: 1px solid var( --x4-selection-color );
2228
+ border-bottom: none;
2229
+ color: var( --x4-selection-color );
2230
+ background-color: transparent;
2231
+ }
2232
+
2233
+ &:focus:not(.selected) {
2234
+ text-decoration: underline;
2235
+ color: black;;
2236
+ }
2237
+ }
2238
+ }