x4js 1.4.53 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/lib/cjs/action.d.ts +57 -0
  2. package/lib/cjs/application.d.ts +104 -0
  3. package/lib/cjs/autocomplete.d.ts +58 -0
  4. package/lib/cjs/base_component.d.ts +88 -0
  5. package/lib/cjs/button.d.ts +151 -0
  6. package/lib/cjs/calendar.d.ts +81 -0
  7. package/lib/cjs/canvas.d.ts +92 -0
  8. package/lib/cjs/cardview.d.ts +87 -0
  9. package/lib/cjs/checkbox.d.ts +77 -0
  10. package/lib/cjs/color.d.ts +148 -0
  11. package/lib/cjs/colorpicker.d.ts +107 -0
  12. package/lib/cjs/combobox.d.ts +101 -0
  13. package/lib/cjs/component.d.ts +601 -0
  14. package/lib/cjs/datastore.d.ts +396 -0
  15. package/lib/cjs/dialog.d.ts +175 -0
  16. package/lib/cjs/dom_events.d.ts +302 -0
  17. package/lib/cjs/drag_manager.d.ts +54 -0
  18. package/lib/cjs/drawtext.d.ts +48 -0
  19. package/lib/cjs/fileupload.d.ts +64 -0
  20. package/lib/cjs/form.d.ts +126 -0
  21. package/lib/cjs/formatters.d.ts +35 -0
  22. package/lib/cjs/gridview.d.ts +175 -0
  23. package/lib/cjs/i18n.d.ts +73 -0
  24. package/lib/cjs/icon.d.ts +64 -0
  25. package/lib/cjs/image.d.ts +55 -0
  26. package/lib/cjs/index.d.ts +83 -0
  27. package/lib/cjs/input.d.ts +91 -0
  28. package/lib/cjs/label.d.ts +58 -0
  29. package/lib/cjs/layout.d.ts +87 -0
  30. package/lib/cjs/link.d.ts +50 -0
  31. package/lib/cjs/listview.d.ts +178 -0
  32. package/lib/cjs/md5.d.ts +61 -0
  33. package/lib/cjs/menu.d.ts +130 -0
  34. package/lib/cjs/messagebox.d.ts +68 -0
  35. package/lib/cjs/panel.d.ts +47 -0
  36. package/lib/cjs/popup.d.ts +75 -0
  37. package/lib/cjs/property_editor.d.ts +71 -0
  38. package/lib/cjs/radiobtn.d.ts +72 -0
  39. package/lib/cjs/rating.d.ts +53 -0
  40. package/lib/cjs/request.d.ts +52 -0
  41. package/lib/cjs/router.d.ts +42 -0
  42. package/lib/cjs/settings.d.ts +37 -0
  43. package/lib/cjs/sidebarview.d.ts +49 -0
  44. package/lib/cjs/spreadsheet.d.ts +218 -0
  45. package/lib/cjs/styles.d.ts +85 -0
  46. package/lib/cjs/svgcomponent.d.ts +191 -0
  47. package/lib/cjs/tabbar.d.ts +58 -0
  48. package/lib/cjs/tabview.d.ts +49 -0
  49. package/lib/cjs/textarea.d.ts +63 -0
  50. package/lib/cjs/textedit.d.ts +123 -0
  51. package/lib/cjs/toaster.d.ts +42 -0
  52. package/lib/cjs/tools.d.ts +394 -0
  53. package/lib/cjs/tooltips.d.ts +46 -0
  54. package/lib/cjs/treeview.d.ts +132 -0
  55. package/lib/cjs/version.d.ts +29 -0
  56. package/lib/cjs/x4dom.d.ts +49 -0
  57. package/lib/cjs/x4events.d.ts +269 -0
  58. package/lib/cjs/x4react.d.ts +41 -0
  59. package/lib/esm/action.d.ts +57 -0
  60. package/lib/esm/application.d.ts +104 -0
  61. package/lib/esm/autocomplete.d.ts +58 -0
  62. package/lib/esm/base_component.d.ts +88 -0
  63. package/lib/esm/button.d.ts +151 -0
  64. package/lib/esm/calendar.d.ts +81 -0
  65. package/lib/esm/canvas.d.ts +92 -0
  66. package/lib/esm/cardview.d.ts +87 -0
  67. package/lib/esm/checkbox.d.ts +77 -0
  68. package/lib/esm/color.d.ts +148 -0
  69. package/lib/esm/colorpicker.d.ts +107 -0
  70. package/lib/esm/combobox.d.ts +101 -0
  71. package/lib/esm/component.d.ts +601 -0
  72. package/lib/esm/datastore.d.ts +396 -0
  73. package/lib/esm/dialog.d.ts +175 -0
  74. package/lib/esm/dom_events.d.ts +302 -0
  75. package/lib/esm/drag_manager.d.ts +54 -0
  76. package/lib/esm/drawtext.d.ts +48 -0
  77. package/lib/esm/fileupload.d.ts +64 -0
  78. package/lib/esm/form.d.ts +126 -0
  79. package/lib/esm/formatters.d.ts +35 -0
  80. package/lib/esm/gridview.d.ts +175 -0
  81. package/lib/esm/i18n.d.ts +73 -0
  82. package/lib/esm/icon.d.ts +64 -0
  83. package/lib/esm/image.d.ts +55 -0
  84. package/lib/esm/index.d.ts +83 -0
  85. package/lib/esm/input.d.ts +91 -0
  86. package/lib/esm/label.d.ts +58 -0
  87. package/lib/esm/layout.d.ts +87 -0
  88. package/lib/esm/link.d.ts +50 -0
  89. package/lib/esm/listview.d.ts +178 -0
  90. package/lib/esm/md5.d.ts +61 -0
  91. package/lib/esm/menu.d.ts +130 -0
  92. package/lib/esm/messagebox.d.ts +68 -0
  93. package/lib/esm/panel.d.ts +47 -0
  94. package/lib/esm/popup.d.ts +75 -0
  95. package/lib/esm/property_editor.d.ts +71 -0
  96. package/lib/esm/radiobtn.d.ts +72 -0
  97. package/lib/esm/rating.d.ts +53 -0
  98. package/lib/esm/request.d.ts +52 -0
  99. package/lib/esm/router.d.ts +42 -0
  100. package/lib/esm/settings.d.ts +37 -0
  101. package/lib/esm/sidebarview.d.ts +49 -0
  102. package/lib/esm/spreadsheet.d.ts +218 -0
  103. package/lib/esm/styles.d.ts +85 -0
  104. package/lib/esm/svgcomponent.d.ts +191 -0
  105. package/lib/esm/tabbar.d.ts +58 -0
  106. package/lib/esm/tabview.d.ts +49 -0
  107. package/lib/esm/textarea.d.ts +63 -0
  108. package/lib/esm/textedit.d.ts +123 -0
  109. package/lib/esm/toaster.d.ts +42 -0
  110. package/lib/esm/tools.d.ts +394 -0
  111. package/lib/esm/tooltips.d.ts +46 -0
  112. package/lib/esm/treeview.d.ts +132 -0
  113. package/lib/esm/version.d.ts +29 -0
  114. package/lib/esm/x4dom.d.ts +49 -0
  115. package/lib/esm/x4events.d.ts +269 -0
  116. package/lib/esm/x4react.d.ts +41 -0
  117. package/lib/ts_src/MIT-license.md +14 -0
  118. package/lib/ts_src/action.ts +88 -0
  119. package/lib/ts_src/alpha.jpg +0 -0
  120. package/lib/ts_src/application.ts +251 -0
  121. package/lib/ts_src/autocomplete.ts +197 -0
  122. package/lib/ts_src/base64.ts +166 -0
  123. package/lib/ts_src/base_component.ts +152 -0
  124. package/lib/ts_src/button.ts +355 -0
  125. package/lib/ts_src/calendar.ts +322 -0
  126. package/lib/ts_src/canvas.ts +505 -0
  127. package/lib/ts_src/cardview.ts +227 -0
  128. package/lib/ts_src/checkbox.ts +187 -0
  129. package/lib/ts_src/color.ts +752 -0
  130. package/lib/ts_src/colorpicker.ts +1639 -0
  131. package/lib/ts_src/combobox.ts +362 -0
  132. package/lib/ts_src/component.ts +2329 -0
  133. package/lib/ts_src/datastore.ts +1322 -0
  134. package/lib/ts_src/dialog.ts +656 -0
  135. package/lib/ts_src/dom_events.ts +315 -0
  136. package/lib/ts_src/drag_manager.ts +199 -0
  137. package/lib/ts_src/drawtext.ts +355 -0
  138. package/lib/ts_src/fileupload.ts +213 -0
  139. package/lib/ts_src/form.ts +366 -0
  140. package/lib/ts_src/formatters.ts +105 -0
  141. package/lib/ts_src/gridview.ts +1185 -0
  142. package/lib/ts_src/i18n.ts +346 -0
  143. package/lib/ts_src/icon.ts +329 -0
  144. package/lib/ts_src/image.ts +204 -0
  145. package/lib/ts_src/index.ts +88 -0
  146. package/lib/ts_src/input.ts +249 -0
  147. package/lib/ts_src/label.ts +128 -0
  148. package/lib/ts_src/layout.ts +430 -0
  149. package/lib/ts_src/link.ts +86 -0
  150. package/lib/ts_src/listview.ts +762 -0
  151. package/lib/ts_src/md5.ts +438 -0
  152. package/lib/ts_src/menu.ts +425 -0
  153. package/lib/ts_src/messagebox.ts +203 -0
  154. package/lib/ts_src/panel.ts +86 -0
  155. package/lib/ts_src/popup.ts +494 -0
  156. package/lib/ts_src/property_editor.ts +337 -0
  157. package/lib/ts_src/radiobtn.ts +196 -0
  158. package/lib/ts_src/rating.ts +135 -0
  159. package/lib/ts_src/request.ts +300 -0
  160. package/lib/ts_src/router.ts +185 -0
  161. package/lib/ts_src/settings.ts +77 -0
  162. package/lib/ts_src/sidebarview.ts +103 -0
  163. package/lib/ts_src/spreadsheet.ts +1442 -0
  164. package/lib/ts_src/styles.ts +343 -0
  165. package/lib/ts_src/svgcomponent.ts +537 -0
  166. package/lib/ts_src/tabbar.ts +151 -0
  167. package/lib/ts_src/tabview.ts +110 -0
  168. package/lib/ts_src/textarea.ts +187 -0
  169. package/lib/ts_src/textedit.ts +544 -0
  170. package/lib/ts_src/toaster.ts +80 -0
  171. package/lib/ts_src/tools.ts +1468 -0
  172. package/lib/ts_src/tooltips.ts +191 -0
  173. package/lib/ts_src/treeview.ts +675 -0
  174. package/lib/ts_src/version.ts +30 -0
  175. package/lib/ts_src/x4.less +2236 -0
  176. package/lib/ts_src/x4dom.ts +57 -0
  177. package/lib/ts_src/x4events.ts +585 -0
  178. package/lib/ts_src/x4react.ts +90 -0
  179. package/package.json +3 -2
@@ -0,0 +1,2236 @@
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
+ outline: none;
411
+ cursor: pointer;
412
+ font-family: var( --x4-font );
413
+ font-size: var( --x4-font-size );
414
+
415
+ height: 2rem;
416
+ padding: 8px;
417
+ overflow: hidden;
418
+
419
+ border: 1px solid var( --x4-default-border-color );
420
+ background-color: var( --x4-button-color );
421
+ color: var( --x4-button-text-color );
422
+
423
+ .x-icon {
424
+ margin: 0 4px;
425
+ color: inherit;
426
+ }
427
+
428
+ .x-svg-icon {
429
+ width: 100%;
430
+ height: 100%;
431
+ margin: 0;
432
+ }
433
+
434
+ &:focus {
435
+ border-color: var( --x4-focus-color );
436
+ background-color: var( --x4-focus-color );
437
+ color: white;
438
+ }
439
+
440
+ &.x-disable {
441
+ color: gray;
442
+
443
+ &:after {
444
+ content: "";
445
+ background-color: @WHITE60;
446
+ left: 0;
447
+ right: 0;
448
+ display: block;
449
+ top: 0;
450
+ bottom: 0;
451
+ position: absolute;
452
+ cursor: default;
453
+ }
454
+ }
455
+ }
456
+
457
+ .x-image {
458
+ display: flex;
459
+ overflow: hidden;
460
+
461
+ img {
462
+ width: 100%;
463
+ height: 100%;
464
+ }
465
+ }
466
+
467
+ .x-video {
468
+ display: flex;
469
+ overflow: hidden;
470
+
471
+ video {
472
+ width: 100%;
473
+ height: 100%;
474
+ }
475
+ }
476
+
477
+ .x-image-upload {
478
+ @size: 96px;
479
+
480
+ width: @size;
481
+ height: @size;
482
+ margin: 24px;
483
+
484
+ img {
485
+ width: @size;
486
+ height: @size;
487
+
488
+ background-color: @WHITE70;
489
+ //border: 1px solid white;
490
+ border-radius: 50%;
491
+ }
492
+ }
493
+
494
+ .x-canvas {
495
+ overflow: hidden;
496
+ canvas {
497
+ position: absolute;
498
+ left: 0;
499
+ top: 0;
500
+ right: 0;
501
+ bottom: 0;
502
+ }
503
+ }
504
+
505
+ ::-webkit-scrollbar {
506
+ width: var( --x4-scrollbar-width );
507
+ height: var( --x4-scrollbar-width );
508
+ background-color: var( --x4-scrollbar-background );
509
+ box-sizing: border-box;
510
+ }
511
+
512
+ ::-webkit-scrollbar-thumb {
513
+ background-color: var( --x4-scrollbar-thumb );
514
+ //border-radius: calc( var( --x4-scrollbar-width ) / 2 - 1px );
515
+ }
516
+
517
+ .x-circular-chart {
518
+ background-color: white;
519
+ .z-float-6;
520
+
521
+ .head {
522
+ border-bottom: 1px solid @WHITE10;
523
+ padding: 2px;
524
+ height: 37px;
525
+ white-space: nowrap;
526
+
527
+ .x-label {
528
+ color: white;
529
+ padding: 8px;
530
+ }
531
+
532
+ .x-button {
533
+ height: 32px;
534
+ border: 1px solid @WHITE10;
535
+ }
536
+
537
+ .close-box {
538
+ color: white;
539
+ background-color: transparent;
540
+ border: none;
541
+ font-size: 28px;
542
+ padding-right: 0;
543
+ }
544
+ }
545
+ }
546
+
547
+ .x-text-edit,
548
+ .x-combo-box {
549
+
550
+ display: flex;
551
+ align-items: center;
552
+ //width: 100%;
553
+ min-width: min-content;
554
+ min-height: 32px;
555
+ padding: 0;
556
+
557
+ margin: 0;
558
+ margin-bottom: 4px;
559
+
560
+ .x-hlayout,
561
+ .x-vlayout {
562
+ overflow: visible;
563
+ }
564
+
565
+ &>.x-label {
566
+ &:after {
567
+ content: ':';
568
+ }
569
+
570
+ padding: 4px;
571
+ color: var( --gray-900 );
572
+ margin-top: 1px; // hack alignement label / edit
573
+ line-height: 1.3em;
574
+ min-height: 2em;
575
+ }
576
+
577
+ input,
578
+ .x-fake-input {
579
+ height: 2em;
580
+ font-size: inherit;
581
+ outline: none;
582
+ border: none;
583
+ padding: 4px;
584
+ color: var( --gray-900 );
585
+ border-bottom: 1px solid transparent;
586
+ margin-top: 1px; // hack alignement label / edit
587
+ line-height: 1.3em;
588
+
589
+ &::placeholder {
590
+ color: var( --gray-800 );
591
+ }
592
+
593
+ &::selection {
594
+ background-color: var( --x4-selection-color );
595
+ color: #fff;
596
+ }
597
+
598
+ &:focus {
599
+ border-bottom-color: var( --x4-focus-color );
600
+ }
601
+ }
602
+
603
+ &:focus-within {
604
+ &> .x-label {
605
+ color: var( --x4-focus-color );
606
+ }
607
+ }
608
+
609
+ .x-button.gadget {
610
+ background-color: transparent;
611
+ font-size: var( --x4-font-size );
612
+ color: var( --gray-900 );
613
+ border: none;
614
+
615
+ margin: 0;
616
+ padding: 0;
617
+ height: 2em;
618
+ margin-top: 1px;
619
+
620
+ &:hover {
621
+ background-color: transparent;
622
+ }
623
+
624
+ &:focus {
625
+ color: var( --x4-focus-color );
626
+ }
627
+ }
628
+
629
+ &:focus {
630
+ .x-button.gadget,
631
+ input {
632
+ border-color: var( --x4-focus-color );
633
+ }
634
+
635
+ input {
636
+ border-bottom: 1px solid var( --x4-focus-color );
637
+ }
638
+
639
+ .x-button.gadget {
640
+ color: var( --x4-focus-color );
641
+ }
642
+
643
+ .x-label {
644
+ color: var( --x4-focus-color );
645
+ }
646
+ }
647
+
648
+ .error-info {
649
+ font-size: 70%;
650
+ padding: 4px;
651
+ color: white;
652
+ padding-left: 19px;
653
+ padding-top: 6px;
654
+ pointer-events: none;
655
+ right: 0;
656
+ position: absolute;
657
+ top: -2px;
658
+ z-index: 1;
659
+ }
660
+
661
+ &.x-required .label1:before {
662
+ content: '*';
663
+ padding-right: 2px;
664
+ }
665
+
666
+ &.x-error {
667
+ input {
668
+ border-bottom: none;
669
+ border-left: 4px solid var( --x4-error-color );
670
+ }
671
+ }
672
+ }
673
+
674
+ .x-text-edit {
675
+ // align with combo
676
+ .x-button.gadget {
677
+ margin-left:1 px;
678
+ margin-right:1 px;
679
+ }
680
+ }
681
+
682
+ .x-combo-box {
683
+
684
+ &> .x-label {
685
+ border-top: 1px solid transparent;
686
+ }
687
+
688
+ .x-button.gadget,
689
+ input,
690
+ .x-fake-input {
691
+ border: 1px solid @BLACK10;
692
+ }
693
+
694
+ .x-fake-input {
695
+ min-width: 2em;
696
+ }
697
+
698
+ input,
699
+ .x-fake-input {
700
+ cursor: default;
701
+ border-right: none;
702
+ }
703
+
704
+ &:focus {
705
+ .x-button.gadget,
706
+ input,
707
+ .x-fake-input {
708
+ border-color: var( --x4-focus-color );
709
+ }
710
+
711
+ input,
712
+ .x-fake-input {
713
+ border-bottom: 1px solid var( --x4-focus-color );
714
+ }
715
+
716
+ .x-button.gadget {
717
+ color: var( --x4-focus-color );
718
+ }
719
+
720
+ .x-label {
721
+ color: var( --x4-focus-color );
722
+ }
723
+ }
724
+
725
+ }
726
+
727
+
728
+
729
+
730
+ .x-hlayout {
731
+ & > .x-combo-box {
732
+ margin-bottom: 0;
733
+ //min-height: unset;
734
+ margin-right: 4px;
735
+ }
736
+ }
737
+
738
+ .x-text-edit {
739
+
740
+ &.vertical {
741
+ align-items: stretch;
742
+ }
743
+
744
+ input {
745
+ &:read-only {
746
+ background-color: transparent;
747
+ border-bottom: 1px solid @BLACK10;
748
+ }
749
+ }
750
+
751
+ .x-button {
752
+ padding: 8px 4px;
753
+ height: auto;
754
+ border: none;
755
+ background-color: rgba(0,0,0,0.1);
756
+
757
+ &:hover {
758
+ background-color: rgba(0,0,0,0.3);
759
+ }
760
+ }
761
+
762
+
763
+
764
+ &:focus {
765
+ input {
766
+ border-bottom: 1px solid white;
767
+ }
768
+
769
+ .label1 {
770
+ color: black;
771
+ }
772
+ }
773
+
774
+ }
775
+
776
+ .x-radio-btn,
777
+ .x-check-box {
778
+ align-items: center;
779
+ color: var( --gray-900 );
780
+ outline: none;
781
+ //min-height: 2em;
782
+ padding: 4px 0;
783
+
784
+ input {
785
+ //position: absolute;
786
+ //display: none;
787
+ outline: none;
788
+ margin: 4px;
789
+ padding: 0;
790
+ }
791
+
792
+ .x-label {
793
+ padding: 4px;
794
+ }
795
+
796
+ &:focus-within {
797
+ text-decoration: underline;
798
+ color: var( --x4-selection-color );
799
+ }
800
+ }
801
+
802
+ .x-check-box.slider {
803
+ @delay: 0.2s;
804
+
805
+ input {
806
+ position: absolute;
807
+ clip: rect(0 0 0 0);
808
+ position: absolute;
809
+ width: 1px;
810
+ height: 1px;
811
+ }
812
+
813
+ .x-label:before {
814
+ box-sizing: border-box;
815
+ position: absolute;
816
+ left: 0px;
817
+ top: 3px;
818
+ content: "";
819
+ display: inline-block;
820
+ width: 2.4em;
821
+ height: 1.4em;
822
+ border-radius: 1.4rem;
823
+ padding: 2px;
824
+ background-color: @BLACK30;
825
+ transition: all .2s;
826
+ border: 1px solid @WHITE50
827
+ }
828
+
829
+ // circle
830
+ .x-label:after {
831
+ box-sizing: border-box;
832
+ content: "";
833
+ top: 5px;
834
+ height: calc(1.4em - 4px);
835
+ width: calc(1.4em - 4px);
836
+ border-radius: 50%;
837
+ background-color: #fff;
838
+ transition: all .2s;
839
+ position: absolute;
840
+ left: 2px;
841
+ }
842
+
843
+ input:checked + .x-label:before {
844
+ background-color: var( --x4-selection-color );
845
+ }
846
+
847
+ input:checked + .x-label:after {
848
+ left: calc( 1em + 2px);
849
+ background-color: white;
850
+ }
851
+
852
+ .x-label {
853
+ padding-left: calc(2.5em + 4px );
854
+ height: 2em;
855
+ }
856
+ }
857
+
858
+ .x-menu {
859
+ box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
860
+ background-color: #f7f7f7;
861
+ padding: 2px 0;
862
+
863
+ max-height: 80%;
864
+ overflow: auto;
865
+ }
866
+
867
+ .x-menu-title {
868
+ width: 100%;
869
+ background-color: #e22e6d;
870
+ color: white;
871
+ height: 2.3em;
872
+ display: block;
873
+ padding: 0 8px;
874
+ line-height: 2.5em;
875
+ }
876
+
877
+ .x-menu-item {
878
+ display: flex;
879
+ flex-direction: row;
880
+ align-items: center;
881
+ outline: none;
882
+
883
+ background-color: transparent;
884
+ color: var( --gray-900 );
885
+
886
+ padding: 0px 8px;
887
+ min-width: 120px;
888
+ border: none;
889
+
890
+ .x-icon {
891
+ width: 1em;
892
+ margin-right: 8px;
893
+ color: var( --gray-700 );
894
+
895
+ &.pop-mark {
896
+ height: 0.8em;
897
+ }
898
+ }
899
+
900
+ .x-label {
901
+ padding: 4px;
902
+ }
903
+
904
+ &:hover {
905
+ background-color: var( --x4-hover-color);
906
+ color: var(--x4-hover-text);
907
+
908
+ .x-icon {
909
+ color: var( --gray-900 );
910
+ }
911
+ }
912
+ }
913
+
914
+ .x-menu-separator {
915
+ margin-top: 4px;
916
+ border-top: 1px solid @BLACK10;
917
+ margin-bottom: 3px;
918
+ }
919
+
920
+ .x-link {
921
+ padding: 4px;
922
+ color: var( --x4-selection-color );
923
+ cursor: pointer;
924
+ outline: none;
925
+
926
+ display: flex;
927
+ align-items: center;
928
+
929
+ &:focus {
930
+ color: var( --x4-selection-color );
931
+ text-decoration: underline;
932
+ }
933
+
934
+ // min-height: 32px;
935
+ color: inherit;
936
+ }
937
+
938
+ .x-column-view {
939
+ border-bottom: 1px solid @WHITE50;
940
+ overflow: hidden;
941
+
942
+ .line {
943
+ height: 48px;
944
+ }
945
+
946
+ .head {
947
+ background: none;
948
+ background-color: inherit;
949
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
950
+ z-index: 2;
951
+
952
+ border: 1px solid transparent;
953
+ border-bottom: 1px solid @WHITE50;
954
+ height: 40px;
955
+
956
+ margin: 0 4px;
957
+
958
+ .x-label {
959
+ line-height: 32px;
960
+ }
961
+ }
962
+
963
+ .h-container {
964
+ margin-right: var( --x4-scrollbar-width );
965
+ }
966
+ }
967
+
968
+ .x-list-view {
969
+
970
+ border: 1px solid var( --x4-default-border-color );
971
+
972
+ .x-list-item {
973
+ padding: 4px;
974
+ line-height: 2em;
975
+ white-space: nowrap;
976
+
977
+ &:hover {
978
+ background-color: var( --x4-hover-color );
979
+ color: var( --x4-hover-text );
980
+ }
981
+
982
+ &.x-selected {
983
+ background-color: var( --x4-selection-color );
984
+ color: var( --x4-selection-text );
985
+ }
986
+
987
+ &:focus {
988
+ outline: none;
989
+ }
990
+ }
991
+
992
+ &:focus {
993
+ outline: none;
994
+ border-color: var( --x4-focus-color );
995
+ }
996
+
997
+ .gadgets {
998
+ border-top: 1px solid @BLACK50;
999
+ background-color: @BLACK10;
1000
+
1001
+ .x-button {
1002
+ background-color: transparent;
1003
+ &:hover {
1004
+ background-color: white;
1005
+ };
1006
+ }
1007
+ }
1008
+ }
1009
+
1010
+ .x-mask {
1011
+ filter: grayscale(80%);
1012
+
1013
+ &:after {
1014
+ content: '';
1015
+
1016
+ position: absolute; // to be sure it will be over everybody
1017
+ left: -100vw;
1018
+ top: -100vh;
1019
+ width: 200vw;
1020
+ height: 200vh;
1021
+
1022
+ background-color: var( --x4-mask-color );
1023
+ z-index: 999;
1024
+ }
1025
+ }
1026
+
1027
+ .x-popup {
1028
+ position: absolute;
1029
+ z-index: 1000;
1030
+
1031
+ font-family: var( --x4-font );
1032
+ font-size: var( --x4-font-size );
1033
+
1034
+ &:focus {
1035
+ outline: none;
1036
+ }
1037
+ }
1038
+
1039
+ .x-panel {
1040
+ &>.title {
1041
+ align-items: center;
1042
+ line-height: 1.5em;
1043
+ padding: 4px;
1044
+
1045
+ &> .x-label {
1046
+ flex: 1;
1047
+ }
1048
+
1049
+ &> .x-button {
1050
+ background-color: transparent;
1051
+ padding: 0;
1052
+ border: none;
1053
+ box-shadow: none;
1054
+ &:focus {
1055
+ color: var( --gray-900 );
1056
+ }
1057
+ }
1058
+
1059
+ border-bottom: 1px solid var( --x4-default-border-color );
1060
+ }
1061
+
1062
+ &>.body {
1063
+ padding: 8px;
1064
+ flex: 1;
1065
+ }
1066
+ }
1067
+
1068
+ .x-dialog {
1069
+ border: 0.5px solid @BLACK20;
1070
+
1071
+ .z-float-8;
1072
+
1073
+ & > .title {
1074
+ height: 2rem;
1075
+ color: white;
1076
+ padding: 0 8px;
1077
+ display: flex;
1078
+ align-items: center;
1079
+ background-color: var( --x4-selection-color );
1080
+ width: 0; // to avoid title changing dialog size when long
1081
+
1082
+ .x-icon {
1083
+ width: 2em;
1084
+ height: 1.9em;
1085
+ padding: 4px;
1086
+
1087
+ text-align: center;
1088
+ cursor: pointer;
1089
+
1090
+ &:hover {
1091
+ background-color: @WHITE10;
1092
+ }
1093
+ }
1094
+
1095
+ .x-icon.close-btn:hover {
1096
+ background-color: var( --x4-error-color );
1097
+ color: white;
1098
+ }
1099
+
1100
+ .x-label {
1101
+ border-bottom: none;
1102
+ padding: 0;
1103
+ overflow: hidden;
1104
+ text-overflow: ellipsis;
1105
+ white-space: nowrap;
1106
+ }
1107
+
1108
+ .res-btn {
1109
+ display: none;
1110
+ }
1111
+ }
1112
+
1113
+ &.maximized > .title {
1114
+ .min-btn,
1115
+ .max-btn {
1116
+ display: none;
1117
+ }
1118
+
1119
+ .res-btn {
1120
+ display: block;
1121
+ }
1122
+ }
1123
+
1124
+ min-width: 250px;
1125
+ min-height: 100px;
1126
+ }
1127
+
1128
+
1129
+ .x-dialog.x-resized {
1130
+ display: flex;
1131
+ flex-direction: column;
1132
+
1133
+ &>.x-form {
1134
+ flex: 1;
1135
+
1136
+ &>.container {
1137
+ .x-flex;
1138
+ }
1139
+ }
1140
+ }
1141
+
1142
+ .x-dialog.maximized {
1143
+ left: 0;
1144
+ top: 0;
1145
+ width: 100%;
1146
+ height: 100%;
1147
+ margin: 0;
1148
+
1149
+ & > .title {
1150
+ height: 2em;
1151
+ }
1152
+ }
1153
+
1154
+ .x-size-all {
1155
+ margin: 4px;
1156
+
1157
+ &> .x-sizer-overlay {
1158
+ background-color: transparent;
1159
+ border: none;
1160
+
1161
+ &.topleft,
1162
+ &.topright,
1163
+ &.bottomleft,
1164
+ &.bottomright {
1165
+ cursor: se-resize;
1166
+ width: 6px;
1167
+ height: 6px;
1168
+ z-index: 11;
1169
+ }
1170
+
1171
+ &.topleft {
1172
+ left: -4px;
1173
+ top: -4px;
1174
+ }
1175
+
1176
+ &.bottomright {
1177
+ right: -4px;
1178
+ bottom: -4px;
1179
+ }
1180
+
1181
+ &.topright {
1182
+ cursor: nesw-resize;
1183
+ right: -4px;
1184
+ top: -4px;
1185
+ }
1186
+
1187
+ &.bottomleft {
1188
+ cursor: nesw-resize;
1189
+ left: -4px;
1190
+ bottom: -4px;
1191
+ }
1192
+
1193
+ &.top,
1194
+ &.bottom {
1195
+ width: 100%;
1196
+ height: 4px;
1197
+ left: 0;
1198
+ z-index: 10;
1199
+ cursor: n-resize;
1200
+ }
1201
+
1202
+ &.top {
1203
+ top: -4px;
1204
+ }
1205
+
1206
+ &.bottom {
1207
+ bottom: -4px;
1208
+ }
1209
+
1210
+ &.left,
1211
+ &.right {
1212
+ height: 100%;
1213
+ width: 4px;
1214
+ top: 0;
1215
+ z-index: 10;
1216
+ cursor: w-resize;
1217
+ border: none;
1218
+ }
1219
+
1220
+ &.left {
1221
+ left: -4px;
1222
+ }
1223
+
1224
+ &.right {
1225
+ right: -4px;
1226
+ }
1227
+ }
1228
+ }
1229
+
1230
+ .x-form {
1231
+ background-color: var( --x4-form-color );
1232
+ margin-block-end: 0;
1233
+ padding: 8px 0;
1234
+ min-width: 250px;
1235
+ min-height: 50px;
1236
+ padding-right: 4px;
1237
+
1238
+ &>.container {
1239
+ padding: 0px;
1240
+ overflow: auto;
1241
+ padding: 0 4px 0 8px;
1242
+ }
1243
+
1244
+ &>.footer {
1245
+ position: relative;
1246
+ left: 0;
1247
+ bottom: 0;
1248
+ width: 100%;
1249
+ justify-content: flex-end;
1250
+ padding: 0px 4px 0 8px;
1251
+ margin-top: 8px;
1252
+ align-items: center;
1253
+
1254
+ .x-button:not(.x-small) {
1255
+ min-width: 110px;
1256
+ }
1257
+
1258
+ .x-button:not(:first-child) {
1259
+ margin-left: 8px;
1260
+ }
1261
+ }
1262
+ }
1263
+
1264
+ .x-hidden {
1265
+ display: none ! important;
1266
+ }
1267
+
1268
+ .x-tab-view {
1269
+ overflow: hidden;
1270
+ padding: 24px;
1271
+ padding-top: 0;
1272
+
1273
+ .x-tab-switch {
1274
+ border-bottom: 1px solid @WHITE10;
1275
+ background-color: rgba(0,0,0,0.1);
1276
+
1277
+ .x-tab-btn {
1278
+ border: none;
1279
+ background-color: transparent;
1280
+
1281
+ &:hover {
1282
+ .x-label {
1283
+ text-decoration: underline;
1284
+ }
1285
+ }
1286
+ }
1287
+
1288
+ .x-tab-btn.x-active {
1289
+ background-color: rgba(255,255,255,0.2);
1290
+ }
1291
+ }
1292
+ }
1293
+
1294
+ .x-tab-page {
1295
+ min-width: 0;
1296
+ }
1297
+
1298
+ .x-input-box,
1299
+ .x-message-box,
1300
+ .x-important {
1301
+
1302
+ &>.title {
1303
+ background: none;
1304
+ background-color: var( --x4-error-color );
1305
+ height: 2.5em;
1306
+
1307
+ .x-label {
1308
+ border-bottom: none;
1309
+ padding-bottom: 0;
1310
+ }
1311
+
1312
+ .x-icon {
1313
+ display: none;
1314
+ }
1315
+ }
1316
+
1317
+ .x-form {
1318
+ min-height: 100px;
1319
+ background-color: white;
1320
+
1321
+ .panel {
1322
+ align-items: center;
1323
+ }
1324
+
1325
+ .icon {
1326
+ font-size: 48px;
1327
+ width: 48px;
1328
+ height: 48px;
1329
+ color: var( --x4-error-color );
1330
+ margin-right: 8px;
1331
+ }
1332
+
1333
+ .text {
1334
+ padding: 8px;
1335
+ color: #666666;
1336
+ line-height: 1.7em;
1337
+ max-width: 50vw;
1338
+ }
1339
+
1340
+ &>.footer {
1341
+ background-color: white;
1342
+ border-top: 1px solid rgba(0,0,0,0.05);
1343
+ padding-top: 8px;
1344
+
1345
+ .x-button {
1346
+ background-color: var( --x4-error-color );
1347
+ color: white;
1348
+ }
1349
+
1350
+ .x-button:focus {
1351
+ border-color: black;
1352
+ }
1353
+ }
1354
+ }
1355
+ }
1356
+
1357
+ @bwidth: 4px;
1358
+
1359
+ .x-spreadsheet,
1360
+ .x-grid-view {
1361
+
1362
+ @def-height: 2em;
1363
+
1364
+ min-height: 0;
1365
+ overflow: hidden;
1366
+ background-color: white;
1367
+
1368
+ .x-cell {
1369
+ overflow: hidden;
1370
+ padding: 4px;
1371
+ white-space: nowrap;
1372
+ color: var( --gray-900 );
1373
+ height: @def-height;
1374
+
1375
+ span {
1376
+ width: 100%;
1377
+ }
1378
+ }
1379
+
1380
+ .x-footer,
1381
+ .x-header {
1382
+ height: @def-height;
1383
+ background-color: #f0f0f0;
1384
+ align-items: center;
1385
+ border-bottom: 1px solid rgba(0,0,0,0.4);
1386
+
1387
+ .x-sizer-bar {
1388
+ background-color: transparent;
1389
+ }
1390
+
1391
+ .x-cell {
1392
+ border-right: 1px solid rgba(0,0,0,0.1);
1393
+ height: 100%;
1394
+ display: flex;
1395
+ align-items: center;
1396
+
1397
+ span {
1398
+ min-width: 0;
1399
+ text-overflow: ellipsis;
1400
+ overflow: hidden;
1401
+ }
1402
+
1403
+ &.sort {
1404
+ height: 0.7rem;
1405
+ opacity: 0.7;
1406
+ }
1407
+ }
1408
+ }
1409
+
1410
+ .x-header {
1411
+ .x-cell {
1412
+ span {
1413
+ width: unset;
1414
+ text-transform: uppercase;
1415
+ font-weight: bold;
1416
+ }
1417
+
1418
+ .sort {
1419
+ width: 1em;
1420
+ height: 1em;
1421
+ padding-left: 4px;
1422
+ }
1423
+ }
1424
+ }
1425
+
1426
+ .x-row {
1427
+ position: absolute;
1428
+ width: calc( 100% - @bwidth ); // todo: border of 1st col
1429
+ border-bottom: 1px solid #d0d0d0;
1430
+ align-items: center;
1431
+ height: @def-height;
1432
+
1433
+ &.odd {
1434
+ background-color: rgb(250,250,250);
1435
+ }
1436
+ }
1437
+
1438
+ .x-cell {
1439
+ border-right: 1px solid #d0d0d0;
1440
+
1441
+ &.center {
1442
+ text-align: center;
1443
+ justify-content: center;
1444
+ }
1445
+
1446
+ &.right {
1447
+ text-align: right;
1448
+ justify-content: right;
1449
+ }
1450
+ }
1451
+
1452
+ &:focus {
1453
+ outline: none;
1454
+ }
1455
+ }
1456
+
1457
+ .x-grid-view {
1458
+ .x-footer,
1459
+ .x-header {
1460
+ border-left: @bwidth solid #f0f0f0;
1461
+ }
1462
+
1463
+ .x-row {
1464
+ border-left: @bwidth solid transparent;
1465
+
1466
+ &:hover {
1467
+ background-color: rgba(0,0,0,0.1);
1468
+ border-left-color: @BLACK60;
1469
+ }
1470
+
1471
+ &.x-selected {
1472
+ background-color: var( --x4-selection-color );
1473
+
1474
+ .x-cell {
1475
+ color: white;
1476
+ }
1477
+ }
1478
+ }
1479
+
1480
+ .empty-msg {
1481
+ position: absolute;
1482
+ left: 1em;
1483
+ top: 4em;
1484
+ }
1485
+ }
1486
+
1487
+ .x-spreadsheet {
1488
+
1489
+ .x-header {
1490
+ //position: absolute;
1491
+ }
1492
+
1493
+ .content .x-cell {
1494
+ position: absolute;
1495
+ border-right: 1px solid rgba(0,0,0,0.1);
1496
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1497
+ height: 2em;
1498
+ align-items: center;
1499
+ display: flex;
1500
+ }
1501
+
1502
+ .x-cell.x-selected {
1503
+ background-color: @BLACK10;
1504
+ }
1505
+
1506
+ &:focus {
1507
+ .x-cell.x-selected {
1508
+ background-color: var( --x4-selection-color );
1509
+ color: white;
1510
+ }
1511
+ }
1512
+
1513
+ .x-editor {
1514
+ position: absolute;
1515
+ min-height: 0;
1516
+ margin: 0;
1517
+
1518
+ input {
1519
+ margin: 0;
1520
+ min-height: 0;
1521
+ height: 100%;
1522
+ }
1523
+ }
1524
+ }
1525
+
1526
+ .x-form .x-spreadsheet .x-editor {
1527
+ background-color: white;
1528
+ }
1529
+
1530
+ .x-side-bar {
1531
+ min-width: 44px;
1532
+
1533
+ .x-button {
1534
+ background-color: transparent;
1535
+ color: var( --x4-base-color );
1536
+ border: none;
1537
+ //border-bottom: 1px solid fadeout(var( --x4-base-color ),90%);
1538
+
1539
+ min-height: 2em;
1540
+
1541
+ //.x-icon {
1542
+ // color: fadeout( var( --x4-base-color ), 50% );
1543
+ //}
1544
+
1545
+ &:hover {
1546
+ background-color: var( --x4-hover-color );
1547
+ color: white;
1548
+
1549
+ .x-icon {
1550
+ color: fadeout(white,50%);
1551
+ }
1552
+ }
1553
+
1554
+ &.x-active {
1555
+ background-color: var( --x4-base-color );
1556
+ color: white;
1557
+
1558
+ .x-icon {
1559
+ color: white;
1560
+ }
1561
+ }
1562
+
1563
+ &.x-active:hover {
1564
+ //background-color: fadeout(var( --x4-base-color ),20%);
1565
+ color: white;
1566
+
1567
+ .x-icon {
1568
+ color: fadeout(white,50%);
1569
+ }
1570
+ }
1571
+
1572
+ &.trans,
1573
+ &.trans .x-icon {
1574
+ transition: background-color 0.4s ease, color 0.4s ease;
1575
+ }
1576
+ }
1577
+
1578
+ &.collapsed {
1579
+ .x-button {
1580
+ .x-label {
1581
+ display: none;
1582
+ }
1583
+
1584
+ &.x-active .x-icon,
1585
+ &:hover .x-icon {
1586
+ color: white;
1587
+ }
1588
+ }
1589
+ }
1590
+ }
1591
+
1592
+ .x-tooltip {
1593
+ .z-float-4;
1594
+ z-index: 50000;
1595
+ display: inline-block;
1596
+ max-width: 400px;
1597
+ pointer-events: none;
1598
+
1599
+ background-color: white;
1600
+ color: white;
1601
+ padding-left: 24px;
1602
+
1603
+ font-family: var( --x4-font );
1604
+ font-size: var( --x4-font-size );
1605
+
1606
+ .x-icon {
1607
+ position: absolute;
1608
+ left: 5px;
1609
+ top: 7px;
1610
+ color: var( --x4-selection-color );
1611
+ }
1612
+
1613
+ .x-label {
1614
+ background-color: var( --x4-selection-color );
1615
+ white-space: break-spaces;
1616
+ display: inline-block;
1617
+ padding: 6px;
1618
+ line-height: 1.3em;
1619
+ }
1620
+ }
1621
+
1622
+ .x-search-bar {
1623
+ background-color: var( --x4-base-color );
1624
+ height: 2em;
1625
+ }
1626
+
1627
+ .x-popup-table {
1628
+ .z-float-8;
1629
+
1630
+ border-collapse: collapse;
1631
+ background-color: white;
1632
+ padding: 2px 0;
1633
+
1634
+ tr.x-selected {
1635
+ //background-color: rgba(200,255,255,1);
1636
+ background-color: var(--x4-selection-color);
1637
+ color: var( --x4-selection-text);
1638
+ }
1639
+
1640
+ tr:hover {
1641
+ background-color: var(--x4-hover-color);
1642
+ color: var( --x4-hover-text);
1643
+ }
1644
+
1645
+ td {
1646
+ padding: 3px 8px;
1647
+ border-bottom: 1px solid rgba(0,0,0,0.1);
1648
+ }
1649
+
1650
+ .hilite {
1651
+ font-weight: bold;
1652
+ }
1653
+ }
1654
+
1655
+
1656
+ .x-scroll-view,
1657
+ .x-container.x-scroll-view {
1658
+ overflow-y: auto;
1659
+
1660
+ .x-scroll-container {
1661
+ //min-height: 100%;
1662
+ //pb: le container réduit tous les éléments contenus
1663
+ }
1664
+ }
1665
+
1666
+
1667
+ .x-popup-list-view {
1668
+ .z-float-4( );
1669
+ background-color: white;
1670
+
1671
+ .x-combo-popup {
1672
+ min-height: 1em;
1673
+ max-height: 400px;
1674
+
1675
+ border: 1px solid #00000073;
1676
+
1677
+ .x-list-item {
1678
+ height: 2em;
1679
+ line-height: calc( 2em - 8px );
1680
+ }
1681
+
1682
+ overflow: auto;
1683
+ color: var( --gray-900 );
1684
+ }
1685
+ }
1686
+
1687
+ .x-calendar {
1688
+ border: 1px solid @BLACK10;
1689
+ padding: 4px;
1690
+
1691
+ .month-sel {
1692
+ height: 2em;
1693
+ align-items: center;
1694
+ padding-left: 2em;
1695
+
1696
+ .month {
1697
+ padding-right: 4px;
1698
+ }
1699
+
1700
+ .year {
1701
+ cursor: pointer;
1702
+ }
1703
+
1704
+ .month,
1705
+ .year {
1706
+ cursor: pointer;
1707
+ &:hover {
1708
+ text-decoration: underline;
1709
+ }
1710
+ }
1711
+
1712
+ .x-label {
1713
+ font-weight: bold;
1714
+ }
1715
+
1716
+ .x-button {
1717
+ height: auto;
1718
+ color: var( --gray-900 );
1719
+ }
1720
+
1721
+ margin-bottom: 8px;
1722
+ }
1723
+
1724
+ .week {
1725
+ align-items: center;
1726
+ border: 1px solid transparent;
1727
+
1728
+ &:hover {
1729
+ border-color: var( --x4-hover-color );
1730
+ border-radius: 4px;
1731
+ }
1732
+
1733
+ .cell {
1734
+ height: 100%;
1735
+ color: var( --gray-900 );
1736
+ text-align: center;
1737
+ span {
1738
+ margin: auto;
1739
+ }
1740
+ }
1741
+
1742
+ .today {
1743
+ font-weight: bold;
1744
+ background-color: var( --x4-error-color );
1745
+
1746
+ span {
1747
+ //border: 2px solid #013e69;
1748
+ //padding: 4px;
1749
+ border-radius: 2px;
1750
+ color: white;
1751
+ }
1752
+ }
1753
+
1754
+ .weeknum {
1755
+ width: 2em;
1756
+ color: @BLACK30;
1757
+ font-size: 70%;
1758
+ }
1759
+
1760
+ .day {
1761
+ cursor: pointer;
1762
+ }
1763
+
1764
+ .out {
1765
+ color: @BLACK30;
1766
+ }
1767
+
1768
+ .day:hover {
1769
+ background-color: var( --x4-hover-color );
1770
+ color: white;
1771
+ }
1772
+ }
1773
+
1774
+ .header {
1775
+ .cell {
1776
+ color: var( --gray-800 );
1777
+ height: 1.5em;
1778
+ }
1779
+
1780
+ &:hover {
1781
+ background-color: inherit;
1782
+ }
1783
+ }
1784
+ }
1785
+
1786
+ .x-container {
1787
+ // overflow: hidden;
1788
+ }
1789
+
1790
+ .x-popup-calendar {
1791
+ width: 250px;
1792
+ height: 200px;
1793
+ background-color: white;
1794
+ .z-float-8;
1795
+
1796
+
1797
+ }
1798
+
1799
+ .x-separator {
1800
+ background-color: white;
1801
+
1802
+ &.horizontal {
1803
+ width: 4px;
1804
+ border-left: 1px solid #c7c7c7;
1805
+ border-right: 1px solid #c7c7c7;
1806
+ cursor: e-resize;
1807
+ }
1808
+
1809
+ &.vertical {
1810
+ height: 4px;
1811
+ border-top: 1px solid #c7c7c7;
1812
+ border-bottom: 1px solid #c7c7c7;
1813
+ cursor: n-resize;
1814
+
1815
+ }
1816
+
1817
+ &:hover {
1818
+ background-color: #575757;
1819
+ border-color: #575757;
1820
+ }
1821
+ }
1822
+
1823
+ .x-toggle-button {
1824
+ &.checked {
1825
+ background-color: #a8a8a8;
1826
+ }
1827
+ }
1828
+
1829
+
1830
+ .x-color-picker-box {
1831
+ .customs {
1832
+ padding: 8px;
1833
+
1834
+ .cust-cc {
1835
+ height: 16px;
1836
+ border: 1px solid @BLACK40;
1837
+ }
1838
+ }
1839
+ }
1840
+
1841
+ .x-color-picker-editor {
1842
+ .alpha {
1843
+ background-image: url( 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==' );
1844
+ padding: 4px;
1845
+ }
1846
+ }
1847
+
1848
+ .x-color-picker {
1849
+
1850
+ .sel {
1851
+ position: absolute;
1852
+ left: 10px;
1853
+ top: 10px;
1854
+ right: 40px;
1855
+ bottom: 40px;
1856
+
1857
+ .marker {
1858
+ position: absolute;
1859
+ width: 6px;
1860
+ height: 6px;
1861
+ margin-top: -3px;
1862
+ margin-left: -3px;
1863
+
1864
+ border: 1px solid white;
1865
+ }
1866
+ }
1867
+
1868
+ .light {
1869
+ background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
1870
+ }
1871
+
1872
+ .dark {
1873
+ background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
1874
+ }
1875
+
1876
+ .hue {
1877
+ position: absolute;
1878
+ top: 10px;
1879
+ bottom: 40px;
1880
+ right: 10px;
1881
+ width: 20px;
1882
+ background: linear-gradient(to bottom, #ff0000 0%,#ffff00 17%,#00ff00 33%,#00ffff 50%,#0000ff 66%,#ff00ff 83%,#ff0000 100%);
1883
+
1884
+ .marker {
1885
+ position: absolute;
1886
+ width: calc( 100% + 6px );
1887
+ height: 4px;
1888
+ margin-top: -2px;
1889
+ margin-left: -3px;
1890
+ background-color: black;
1891
+ //border: 1px solid white;
1892
+ }
1893
+ }
1894
+
1895
+ .sample {
1896
+ position: absolute;
1897
+ bottom: 10px;
1898
+ height: 20px;
1899
+ width: 20px;
1900
+ right: 10px;
1901
+
1902
+ .color {
1903
+ background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgb(255,0,0) 100%);
1904
+ }
1905
+ }
1906
+
1907
+ .alpha,
1908
+ .transp {
1909
+ position: absolute;
1910
+ left: 10px;
1911
+ bottom: 10px;
1912
+ right: 20px;
1913
+ height: 20px;
1914
+ }
1915
+
1916
+ .transp {
1917
+ bottom: 8px;
1918
+ width: 115px;
1919
+ left: 4px;
1920
+ height: 24px;
1921
+ }
1922
+
1923
+ .hexv {
1924
+ position: absolute;
1925
+ bottom: 8px;
1926
+ left: 120px;
1927
+ height: 24px;
1928
+ margin: 0;
1929
+ width: 90px;
1930
+ min-height: unset;
1931
+ }
1932
+
1933
+ .alpha {
1934
+ background-image: url( 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==' );
1935
+
1936
+ .marker {
1937
+ position: absolute;
1938
+ height: calc( 100% + 6px );
1939
+ width: 4px;
1940
+ margin-top: -3px;
1941
+ margin-left: -2px;
1942
+ background-color: black;
1943
+ //border: 1px solid white;
1944
+ }
1945
+ }
1946
+
1947
+ &.with-alpha {
1948
+
1949
+ .sel {
1950
+ left: 4px;
1951
+ top: 4px;
1952
+ bottom: 34px;
1953
+ right: 34px;
1954
+ }
1955
+
1956
+ .hue {
1957
+ top: 4px;
1958
+ right: 4px;
1959
+ bottom: 34px;
1960
+ }
1961
+
1962
+ .hexv {
1963
+ bottom: 4px;
1964
+ left: 4px;
1965
+ width: 120px;
1966
+ }
1967
+
1968
+ .alpha {
1969
+ left: 130px;
1970
+ right: 4px;
1971
+ height: 24px;
1972
+ bottom: 4px;
1973
+ }
1974
+
1975
+ .transp,
1976
+ .sample {
1977
+ display: none;
1978
+ }
1979
+ }
1980
+
1981
+ &.pal-mode {
1982
+ display: flex;
1983
+ gap: 1px;
1984
+
1985
+ &>.x-container {
1986
+ width: 100%;
1987
+ }
1988
+
1989
+ .hcol, .vcol {
1990
+ justify-content: space-between;
1991
+ }
1992
+
1993
+ .hcol {
1994
+ min-height: 90px;
1995
+ margin-top: 40px;
1996
+ }
1997
+
1998
+ .hexv {
1999
+ bottom: 10px;
2000
+ left: 120px;
2001
+ right: 10px;
2002
+ width: unset;
2003
+ }
2004
+
2005
+ .transp {
2006
+ display: flex;
2007
+ }
2008
+
2009
+ #hsel {
2010
+ gap: 4px;
2011
+ flex-wrap: wrap;
2012
+ justify-content: center;
2013
+ }
2014
+
2015
+ #vsel {
2016
+ gap: 1px;
2017
+ margin-top: 10px;
2018
+ }
2019
+
2020
+ .clr-box {
2021
+ width: 19px;
2022
+ height: 10px;
2023
+ }
2024
+
2025
+ .hclr-box {
2026
+ height: 16px;
2027
+ min-width: 19px;
2028
+
2029
+ &.selected {
2030
+ border: 1px solid black;
2031
+ }
2032
+
2033
+ font-size: 9px;
2034
+ line-height: 16px;
2035
+ text-align: center;
2036
+ }
2037
+ }
2038
+ }
2039
+
2040
+
2041
+
2042
+ .x-tree-view {
2043
+
2044
+ .x-scroll-view {
2045
+ margin: 4px;
2046
+ }
2047
+
2048
+ .x-tree-item {
2049
+ line-height: 1.5em;
2050
+ white-space: nowrap;
2051
+ overflow: hidden;
2052
+ align-items: center;
2053
+
2054
+ span {
2055
+ padding: 0 4px;
2056
+ }
2057
+
2058
+ .tree-icon {
2059
+ width: 2em;
2060
+ color:#999;
2061
+ height: 0.8em;
2062
+ }
2063
+
2064
+ &.selected {
2065
+ background-color: var( --x4-selection-color );
2066
+ color: var( --x4-selection-text );
2067
+
2068
+ .tree-icon {
2069
+ color: var( --x4-selection-text );
2070
+ }
2071
+ }
2072
+
2073
+ &:hover {
2074
+ background-color: var( --x4-hover-color );
2075
+ color: var( --x4-hover-text );
2076
+
2077
+ .tree-icon {
2078
+ color: var( --x4-hover-text );
2079
+ }
2080
+ }
2081
+
2082
+ .indent {
2083
+ position: absolute;
2084
+ border-left: 1px solid @BLACK10;
2085
+ height: 100%;
2086
+ top: 0;
2087
+ }
2088
+ }
2089
+
2090
+ .gadgets {
2091
+ border-top: 1px solid @BLACK50;
2092
+ background-color: @BLACK10;
2093
+
2094
+ .x-button {
2095
+ background-color: transparent;
2096
+ &:hover {
2097
+ background-color: white;
2098
+ };
2099
+ }
2100
+ }
2101
+ }
2102
+
2103
+ .x-tooltip.error {
2104
+ background-color: var( --x4-error-color );
2105
+ padding: 0 6px;
2106
+ margin-left: 3px;
2107
+ position: absolute;
2108
+ border: 1px solid rgba(0,0,0,0.3);
2109
+
2110
+ .x-label {
2111
+ background-color: transparent;
2112
+ color: white;
2113
+ font-size: inherit;
2114
+ padding: 0;
2115
+ }
2116
+
2117
+ .x-icon {
2118
+ display: none;
2119
+ }
2120
+ }
2121
+
2122
+ .x-text-edit.with-gadgets {
2123
+ input {
2124
+ border-right: none;
2125
+ }
2126
+
2127
+ &> .x-icon {
2128
+ border: 1px solid @BLACK50;
2129
+ width: 1.5em;
2130
+ height: 100%;
2131
+ line-height: 1.8em;
2132
+ border-left: none;
2133
+ }
2134
+ }
2135
+
2136
+ .x-text-hiliter {
2137
+ overflow: hidden;
2138
+
2139
+ textarea {
2140
+ font-family: monospace;
2141
+ font-size: var( --x4-font-size );
2142
+ padding: 2px;
2143
+
2144
+ resize: none;
2145
+ outline: none;
2146
+ border: 1px solid transparent;
2147
+ width: 100%;
2148
+
2149
+ &:focus {
2150
+ border: 1px solid var( --x4-selection-color )
2151
+ }
2152
+
2153
+ color: transparent;
2154
+ background-color: transparent;
2155
+ color: var( --gray-900 );
2156
+
2157
+ -moz-tab-size : 4;
2158
+ -o-tab-size : 4;
2159
+ tab-size : 4;
2160
+ }
2161
+
2162
+ .x-syntax-hiliter {
2163
+ font-family: monospace;
2164
+ font-size: var( --x4-font-size );
2165
+ padding: 2px;
2166
+ border: 1px solid transparent;
2167
+ overflow: hidden;
2168
+ white-space: pre;
2169
+ color: rgb(92,92,92);
2170
+ background-color: white;
2171
+
2172
+ -moz-tab-size : 4;
2173
+ -o-tab-size : 4;
2174
+ tab-size : 4;
2175
+
2176
+ .num {
2177
+ color: #008000;
2178
+ }
2179
+
2180
+ .kword {
2181
+ color: #000080;
2182
+ }
2183
+
2184
+ .str {
2185
+ color: #8b0000;
2186
+ }
2187
+
2188
+ .cmt {
2189
+ color: #8b008b;
2190
+ background-color: fadeout( #8b008b, 80% );
2191
+ }
2192
+
2193
+ .punc {
2194
+ font-weight: bold;
2195
+ color: black;
2196
+ }
2197
+ }
2198
+ }
2199
+
2200
+ .x-list-view.virtual {
2201
+ .x-list-item {
2202
+ position: absolute;
2203
+ left: 0;
2204
+ right: 0;
2205
+ }
2206
+ }
2207
+
2208
+ .x-masonry {
2209
+ display: grid;
2210
+ grid-gap: 10px;
2211
+ grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
2212
+ grid-auto-rows: 10px;
2213
+ }
2214
+
2215
+ .x-tab-bar {
2216
+ border-bottom: 1px solid var(--gray-600);
2217
+ background-color: var(--gray-100);
2218
+
2219
+ &> .x-button {
2220
+ border: none;
2221
+ color: var( --gray-600 );
2222
+
2223
+ &.selected {
2224
+ font-weight: bold;
2225
+ //border: 1px solid var( --x4-selection-color );
2226
+ border-bottom: none;
2227
+ color: var( --x4-selection-color );
2228
+ background-color: transparent;
2229
+ }
2230
+
2231
+ &:focus:not(.selected) {
2232
+ text-decoration: underline;
2233
+ color: black;;
2234
+ }
2235
+ }
2236
+ }