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