x4js 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/lib/README.md +19 -0
  2. package/lib/changelog.txt +5 -0
  3. package/lib/cjs/application.js +6 -6
  4. package/lib/cjs/icon.js +5 -0
  5. package/lib/cjs/md5.js +7 -7
  6. package/lib/cjs/tools.js +8 -5
  7. package/lib/cjs/version.js +1 -1
  8. package/lib/esm/icon.js +5 -0
  9. package/lib/esm/tools.js +8 -5
  10. package/lib/esm/version.js +1 -1
  11. package/lib/license.md +21 -0
  12. package/lib/{ts_src → src}/MIT-license.md +0 -0
  13. package/lib/{ts_src → src}/action.ts +0 -0
  14. package/lib/{ts_src → src}/alpha.jpg +0 -0
  15. package/lib/{ts_src → src}/application.ts +0 -0
  16. package/lib/{ts_src → src}/autocomplete.ts +0 -0
  17. package/lib/{ts_src → src}/base64.ts +0 -0
  18. package/lib/{ts_src → src}/base_component.ts +0 -0
  19. package/lib/{ts_src → src}/button.ts +0 -0
  20. package/lib/{ts_src → src}/calendar.ts +0 -0
  21. package/lib/{ts_src → src}/canvas.ts +0 -0
  22. package/lib/{ts_src → src}/cardview.ts +0 -0
  23. package/lib/{ts_src → src}/checkbox.ts +0 -0
  24. package/lib/{ts_src → src}/color.ts +0 -0
  25. package/lib/{ts_src → src}/colorpicker.ts +0 -0
  26. package/lib/{ts_src → src}/combobox.ts +0 -0
  27. package/lib/{ts_src → src}/component.ts +0 -0
  28. package/lib/{ts_src → src}/datastore.ts +0 -0
  29. package/lib/{ts_src → src}/dialog.ts +0 -0
  30. package/lib/{ts_src → src}/dom_events.ts +0 -0
  31. package/lib/{ts_src → src}/drag_manager.ts +0 -0
  32. package/lib/{ts_src → src}/drawtext.ts +0 -0
  33. package/lib/{ts_src → src}/fileupload.ts +0 -0
  34. package/lib/{ts_src → src}/form.ts +0 -0
  35. package/lib/{ts_src → src}/formatters.ts +0 -0
  36. package/lib/{ts_src → src}/gridview.ts +0 -0
  37. package/lib/{ts_src → src}/i18n.ts +0 -0
  38. package/lib/{ts_src → src}/icon.ts +6 -0
  39. package/lib/{ts_src → src}/image.ts +0 -0
  40. package/lib/{ts_src → src}/index.ts +0 -0
  41. package/lib/{ts_src → src}/input.ts +0 -0
  42. package/lib/{ts_src → src}/label.ts +0 -0
  43. package/lib/{ts_src → src}/layout.ts +0 -0
  44. package/lib/{ts_src → src}/link.ts +0 -0
  45. package/lib/{ts_src → src}/listview.ts +0 -0
  46. package/lib/{ts_src → src}/md5.ts +0 -0
  47. package/lib/{ts_src → src}/menu.ts +0 -0
  48. package/lib/{ts_src → src}/messagebox.ts +0 -0
  49. package/lib/{ts_src → src}/panel.ts +0 -0
  50. package/lib/{ts_src → src}/popup.ts +0 -0
  51. package/lib/{ts_src → src}/property_editor.ts +0 -0
  52. package/lib/{ts_src → src}/radiobtn.ts +0 -0
  53. package/lib/{ts_src → src}/rating.ts +0 -0
  54. package/lib/{ts_src → src}/request.ts +0 -0
  55. package/lib/{ts_src → src}/router.ts +0 -0
  56. package/lib/{ts_src → src}/settings.ts +0 -0
  57. package/lib/{ts_src → src}/sidebarview.ts +0 -0
  58. package/lib/{ts_src → src}/spreadsheet.ts +0 -0
  59. package/lib/{ts_src → src}/styles.ts +0 -0
  60. package/lib/{ts_src → src}/svgcomponent.ts +0 -0
  61. package/lib/{ts_src → src}/tabbar.ts +0 -0
  62. package/lib/{ts_src → src}/tabview.ts +0 -0
  63. package/lib/{ts_src → src}/textarea.ts +0 -0
  64. package/lib/{ts_src → src}/textedit.ts +0 -0
  65. package/lib/{ts_src → src}/toaster.ts +0 -0
  66. package/lib/{ts_src → src}/tools.ts +12 -7
  67. package/lib/{ts_src → src}/tooltips.ts +0 -0
  68. package/lib/{ts_src → src}/treeview.ts +0 -0
  69. package/lib/{ts_src → src}/version.ts +1 -1
  70. package/lib/{ts_src → src}/x4.less +5 -3
  71. package/lib/{ts_src → src}/x4dom.ts +0 -0
  72. package/lib/{ts_src → src}/x4events.ts +0 -0
  73. package/lib/{ts_src → src}/x4react.ts +0 -0
  74. package/lib/styles/x4.css +5 -3
  75. package/lib/styles/x4.less +5 -3
  76. package/lib/{cjs → types}/action.d.ts +0 -0
  77. package/lib/{cjs → types}/application.d.ts +0 -0
  78. package/lib/{cjs → types}/autocomplete.d.ts +0 -0
  79. package/lib/{cjs → types}/base_component.d.ts +0 -0
  80. package/lib/{cjs/types → types}/button.d.ts +1 -1
  81. package/lib/{cjs → types}/calendar.d.ts +0 -0
  82. package/lib/{cjs → types}/canvas.d.ts +1 -1
  83. package/lib/{cjs/types → types}/cardview.d.ts +1 -1
  84. package/lib/{cjs → types}/checkbox.d.ts +0 -0
  85. package/lib/{cjs → types}/color.d.ts +0 -0
  86. package/lib/{cjs → types}/colorpicker.d.ts +0 -0
  87. package/lib/{cjs → types}/combobox.d.ts +0 -0
  88. package/lib/{cjs → types}/component.d.ts +6 -6
  89. package/lib/{cjs/types → types}/datastore.d.ts +5 -5
  90. package/lib/{cjs/types → types}/dialog.d.ts +1 -1
  91. package/lib/{cjs → types}/dom_events.d.ts +0 -0
  92. package/lib/{esm → types}/drag_manager.d.ts +2 -2
  93. package/lib/{cjs → types}/drawtext.d.ts +0 -0
  94. package/lib/{cjs → types}/fileupload.d.ts +0 -0
  95. package/lib/{cjs → types}/form.d.ts +2 -2
  96. package/lib/{cjs → types}/formatters.d.ts +1 -1
  97. package/lib/{cjs → types}/gridview.d.ts +4 -4
  98. package/lib/{cjs → types}/i18n.d.ts +0 -0
  99. package/lib/{cjs → types}/icon.d.ts +1 -1
  100. package/lib/{cjs → types}/image.d.ts +0 -0
  101. package/lib/{cjs → types}/index.d.ts +0 -0
  102. package/lib/{cjs/types → types}/input.d.ts +1 -1
  103. package/lib/{cjs → types}/label.d.ts +0 -0
  104. package/lib/{cjs → types}/layout.d.ts +0 -0
  105. package/lib/{cjs → types}/link.d.ts +0 -0
  106. package/lib/{cjs → types}/listview.d.ts +0 -0
  107. package/lib/{cjs → types}/md5.d.ts +0 -0
  108. package/lib/{esm → types}/menu.d.ts +1 -1
  109. package/lib/{cjs → types}/messagebox.d.ts +0 -0
  110. package/lib/{cjs → types}/panel.d.ts +0 -0
  111. package/lib/{cjs → types}/popup.d.ts +0 -0
  112. package/lib/{esm → types}/property_editor.d.ts +1 -1
  113. package/lib/{cjs → types}/radiobtn.d.ts +0 -0
  114. package/lib/{cjs → types}/rating.d.ts +0 -0
  115. package/lib/{cjs → types}/request.d.ts +0 -0
  116. package/lib/{cjs/types → types}/router.d.ts +1 -1
  117. package/lib/{cjs → types}/settings.d.ts +0 -0
  118. package/lib/{cjs → types}/sidebarview.d.ts +0 -0
  119. package/lib/{cjs → types}/spreadsheet.d.ts +0 -0
  120. package/lib/{cjs → types}/styles.d.ts +0 -0
  121. package/lib/{cjs → types}/svgcomponent.d.ts +0 -0
  122. package/lib/{cjs → types}/tabbar.d.ts +0 -0
  123. package/lib/{cjs → types}/tabview.d.ts +0 -0
  124. package/lib/{cjs → types}/textarea.d.ts +0 -0
  125. package/lib/{esm → types}/textedit.d.ts +1 -1
  126. package/lib/{cjs → types}/toaster.d.ts +0 -0
  127. package/lib/{cjs → types}/tools.d.ts +1 -1
  128. package/lib/{esm → types}/tooltips.d.ts +1 -1
  129. package/lib/{cjs → types}/treeview.d.ts +0 -0
  130. package/lib/{esm/types → types}/version.d.ts +1 -1
  131. package/lib/{cjs/types → types}/x4dom.d.ts +0 -0
  132. package/lib/{cjs/types → types}/x4events.d.ts +2 -2
  133. package/lib/{cjs/types → types}/x4react.d.ts +0 -0
  134. package/lib/x4.css +1780 -0
  135. package/package.json +11 -12
  136. package/lib/cjs/button.d.ts +0 -151
  137. package/lib/cjs/cardview.d.ts +0 -87
  138. package/lib/cjs/datastore.d.ts +0 -396
  139. package/lib/cjs/dialog.d.ts +0 -175
  140. package/lib/cjs/drag_manager.d.ts +0 -54
  141. package/lib/cjs/input.d.ts +0 -91
  142. package/lib/cjs/menu.d.ts +0 -130
  143. package/lib/cjs/property_editor.d.ts +0 -71
  144. package/lib/cjs/router.d.ts +0 -42
  145. package/lib/cjs/textedit.d.ts +0 -123
  146. package/lib/cjs/tooltips.d.ts +0 -46
  147. package/lib/cjs/types/action.d.ts +0 -57
  148. package/lib/cjs/types/application.d.ts +0 -104
  149. package/lib/cjs/types/autocomplete.d.ts +0 -58
  150. package/lib/cjs/types/base_component.d.ts +0 -88
  151. package/lib/cjs/types/calendar.d.ts +0 -81
  152. package/lib/cjs/types/canvas.d.ts +0 -92
  153. package/lib/cjs/types/checkbox.d.ts +0 -77
  154. package/lib/cjs/types/color.d.ts +0 -148
  155. package/lib/cjs/types/colorpicker.d.ts +0 -107
  156. package/lib/cjs/types/combobox.d.ts +0 -101
  157. package/lib/cjs/types/component.d.ts +0 -601
  158. package/lib/cjs/types/dom_events.d.ts +0 -302
  159. package/lib/cjs/types/drag_manager.d.ts +0 -54
  160. package/lib/cjs/types/drawtext.d.ts +0 -48
  161. package/lib/cjs/types/fileupload.d.ts +0 -64
  162. package/lib/cjs/types/form.d.ts +0 -126
  163. package/lib/cjs/types/formatters.d.ts +0 -35
  164. package/lib/cjs/types/gridview.d.ts +0 -175
  165. package/lib/cjs/types/i18n.d.ts +0 -73
  166. package/lib/cjs/types/icon.d.ts +0 -64
  167. package/lib/cjs/types/image.d.ts +0 -55
  168. package/lib/cjs/types/index.d.ts +0 -83
  169. package/lib/cjs/types/label.d.ts +0 -58
  170. package/lib/cjs/types/layout.d.ts +0 -87
  171. package/lib/cjs/types/link.d.ts +0 -50
  172. package/lib/cjs/types/listview.d.ts +0 -178
  173. package/lib/cjs/types/md5.d.ts +0 -61
  174. package/lib/cjs/types/menu.d.ts +0 -130
  175. package/lib/cjs/types/messagebox.d.ts +0 -68
  176. package/lib/cjs/types/panel.d.ts +0 -47
  177. package/lib/cjs/types/popup.d.ts +0 -75
  178. package/lib/cjs/types/property_editor.d.ts +0 -71
  179. package/lib/cjs/types/radiobtn.d.ts +0 -72
  180. package/lib/cjs/types/rating.d.ts +0 -53
  181. package/lib/cjs/types/request.d.ts +0 -52
  182. package/lib/cjs/types/settings.d.ts +0 -37
  183. package/lib/cjs/types/sidebarview.d.ts +0 -49
  184. package/lib/cjs/types/spreadsheet.d.ts +0 -218
  185. package/lib/cjs/types/styles.d.ts +0 -85
  186. package/lib/cjs/types/svgcomponent.d.ts +0 -191
  187. package/lib/cjs/types/tabbar.d.ts +0 -58
  188. package/lib/cjs/types/tabview.d.ts +0 -49
  189. package/lib/cjs/types/textarea.d.ts +0 -63
  190. package/lib/cjs/types/textedit.d.ts +0 -123
  191. package/lib/cjs/types/toaster.d.ts +0 -42
  192. package/lib/cjs/types/tools.d.ts +0 -394
  193. package/lib/cjs/types/tooltips.d.ts +0 -46
  194. package/lib/cjs/types/treeview.d.ts +0 -132
  195. package/lib/cjs/types/version.d.ts +0 -29
  196. package/lib/cjs/version.d.ts +0 -29
  197. package/lib/cjs/x4dom.d.ts +0 -49
  198. package/lib/cjs/x4events.d.ts +0 -269
  199. package/lib/cjs/x4react.d.ts +0 -41
  200. package/lib/esm/action.d.ts +0 -57
  201. package/lib/esm/application.d.ts +0 -104
  202. package/lib/esm/autocomplete.d.ts +0 -58
  203. package/lib/esm/base_component.d.ts +0 -88
  204. package/lib/esm/button.d.ts +0 -151
  205. package/lib/esm/calendar.d.ts +0 -81
  206. package/lib/esm/canvas.d.ts +0 -92
  207. package/lib/esm/cardview.d.ts +0 -87
  208. package/lib/esm/checkbox.d.ts +0 -77
  209. package/lib/esm/color.d.ts +0 -148
  210. package/lib/esm/colorpicker.d.ts +0 -107
  211. package/lib/esm/combobox.d.ts +0 -101
  212. package/lib/esm/component.d.ts +0 -601
  213. package/lib/esm/datastore.d.ts +0 -396
  214. package/lib/esm/dialog.d.ts +0 -175
  215. package/lib/esm/dom_events.d.ts +0 -302
  216. package/lib/esm/drawtext.d.ts +0 -48
  217. package/lib/esm/fileupload.d.ts +0 -64
  218. package/lib/esm/form.d.ts +0 -126
  219. package/lib/esm/formatters.d.ts +0 -35
  220. package/lib/esm/gridview.d.ts +0 -175
  221. package/lib/esm/i18n.d.ts +0 -73
  222. package/lib/esm/icon.d.ts +0 -64
  223. package/lib/esm/image.d.ts +0 -55
  224. package/lib/esm/index.d.ts +0 -83
  225. package/lib/esm/input.d.ts +0 -91
  226. package/lib/esm/label.d.ts +0 -58
  227. package/lib/esm/layout.d.ts +0 -87
  228. package/lib/esm/link.d.ts +0 -50
  229. package/lib/esm/listview.d.ts +0 -178
  230. package/lib/esm/md5.d.ts +0 -61
  231. package/lib/esm/messagebox.d.ts +0 -68
  232. package/lib/esm/panel.d.ts +0 -47
  233. package/lib/esm/popup.d.ts +0 -75
  234. package/lib/esm/radiobtn.d.ts +0 -72
  235. package/lib/esm/rating.d.ts +0 -53
  236. package/lib/esm/request.d.ts +0 -52
  237. package/lib/esm/router.d.ts +0 -42
  238. package/lib/esm/settings.d.ts +0 -37
  239. package/lib/esm/sidebarview.d.ts +0 -49
  240. package/lib/esm/spreadsheet.d.ts +0 -218
  241. package/lib/esm/styles.d.ts +0 -85
  242. package/lib/esm/svgcomponent.d.ts +0 -191
  243. package/lib/esm/tabbar.d.ts +0 -58
  244. package/lib/esm/tabview.d.ts +0 -49
  245. package/lib/esm/textarea.d.ts +0 -63
  246. package/lib/esm/toaster.d.ts +0 -42
  247. package/lib/esm/tools.d.ts +0 -394
  248. package/lib/esm/treeview.d.ts +0 -132
  249. package/lib/esm/types/action.d.ts +0 -57
  250. package/lib/esm/types/application.d.ts +0 -104
  251. package/lib/esm/types/autocomplete.d.ts +0 -58
  252. package/lib/esm/types/base_component.d.ts +0 -88
  253. package/lib/esm/types/button.d.ts +0 -151
  254. package/lib/esm/types/calendar.d.ts +0 -81
  255. package/lib/esm/types/canvas.d.ts +0 -92
  256. package/lib/esm/types/cardview.d.ts +0 -87
  257. package/lib/esm/types/checkbox.d.ts +0 -77
  258. package/lib/esm/types/color.d.ts +0 -148
  259. package/lib/esm/types/colorpicker.d.ts +0 -107
  260. package/lib/esm/types/combobox.d.ts +0 -101
  261. package/lib/esm/types/component.d.ts +0 -601
  262. package/lib/esm/types/datastore.d.ts +0 -396
  263. package/lib/esm/types/dialog.d.ts +0 -175
  264. package/lib/esm/types/dom_events.d.ts +0 -302
  265. package/lib/esm/types/drag_manager.d.ts +0 -54
  266. package/lib/esm/types/drawtext.d.ts +0 -48
  267. package/lib/esm/types/fileupload.d.ts +0 -64
  268. package/lib/esm/types/form.d.ts +0 -126
  269. package/lib/esm/types/formatters.d.ts +0 -35
  270. package/lib/esm/types/gridview.d.ts +0 -175
  271. package/lib/esm/types/i18n.d.ts +0 -73
  272. package/lib/esm/types/icon.d.ts +0 -64
  273. package/lib/esm/types/image.d.ts +0 -55
  274. package/lib/esm/types/index.d.ts +0 -83
  275. package/lib/esm/types/input.d.ts +0 -91
  276. package/lib/esm/types/label.d.ts +0 -58
  277. package/lib/esm/types/layout.d.ts +0 -87
  278. package/lib/esm/types/link.d.ts +0 -50
  279. package/lib/esm/types/listview.d.ts +0 -178
  280. package/lib/esm/types/md5.d.ts +0 -61
  281. package/lib/esm/types/menu.d.ts +0 -130
  282. package/lib/esm/types/messagebox.d.ts +0 -68
  283. package/lib/esm/types/panel.d.ts +0 -47
  284. package/lib/esm/types/popup.d.ts +0 -75
  285. package/lib/esm/types/property_editor.d.ts +0 -71
  286. package/lib/esm/types/radiobtn.d.ts +0 -72
  287. package/lib/esm/types/rating.d.ts +0 -53
  288. package/lib/esm/types/request.d.ts +0 -52
  289. package/lib/esm/types/router.d.ts +0 -42
  290. package/lib/esm/types/settings.d.ts +0 -37
  291. package/lib/esm/types/sidebarview.d.ts +0 -49
  292. package/lib/esm/types/spreadsheet.d.ts +0 -218
  293. package/lib/esm/types/styles.d.ts +0 -85
  294. package/lib/esm/types/svgcomponent.d.ts +0 -191
  295. package/lib/esm/types/tabbar.d.ts +0 -58
  296. package/lib/esm/types/tabview.d.ts +0 -49
  297. package/lib/esm/types/textarea.d.ts +0 -63
  298. package/lib/esm/types/textedit.d.ts +0 -123
  299. package/lib/esm/types/toaster.d.ts +0 -42
  300. package/lib/esm/types/tools.d.ts +0 -394
  301. package/lib/esm/types/tooltips.d.ts +0 -46
  302. package/lib/esm/types/treeview.d.ts +0 -132
  303. package/lib/esm/types/x4dom.d.ts +0 -49
  304. package/lib/esm/types/x4events.d.ts +0 -269
  305. package/lib/esm/types/x4react.d.ts +0 -41
  306. package/lib/esm/version.d.ts +0 -29
  307. package/lib/esm/x4dom.d.ts +0 -49
  308. package/lib/esm/x4events.d.ts +0 -269
  309. package/lib/esm/x4react.d.ts +0 -41
package/lib/x4.css ADDED
@@ -0,0 +1,1780 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file x4.less
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ :root {
30
+ --x4-font: Helvetica, Arial, Sans-Serif;
31
+ --x4-font-size: 13px;
32
+ --x4-base-color: #266888;
33
+ --x4-selection-color: #2458B3;
34
+ --x4-selection-text: white;
35
+ --x4-hover-color: rgba(36, 88, 179, 0.9);
36
+ --x4-hover-text: white;
37
+ --x4-mask-color: rgba(36, 88, 179, 0.6);
38
+ --x4-focus-color: #2458B3;
39
+ --x4-error-color: #b92a09;
40
+ --x4-success-color: #0A6640;
41
+ --x4-form-color: white;
42
+ --x4-tip-background: rgba(0, 0, 0, 0.5);
43
+ --x4-button-color: white;
44
+ --x4-button-text-color: #363636;
45
+ --x4-scrollbar-width: 6px;
46
+ --x4-scrollbar-background: white;
47
+ --x4-scrollbar-thumb: grey;
48
+ --x4-sizer-size: 4px;
49
+ --x4-default-border-color: rgba(0, 0, 0, 0.1);
50
+ --x4-icon-font-family: "fonteawesome";
51
+ --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>';
52
+ --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>';
53
+ --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>';
54
+ --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>';
55
+ --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>';
56
+ --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>';
57
+ --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>';
58
+ --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>';
59
+ --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>';
60
+ --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>';
61
+ --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>';
62
+ --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>';
63
+ --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>';
64
+ --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>';
65
+ --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>';
66
+ --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>';
67
+ --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>';
68
+ --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>';
69
+ --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>';
70
+ --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>';
71
+ --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>';
72
+ }
73
+ /* source: https://tailwindcss.com/docs/customizing-colors/#default-color-palette */
74
+ :root {
75
+ --black: #000000;
76
+ --white: #ffffff;
77
+ --gray-100: #f7fafc;
78
+ --gray-200: #edf2f7;
79
+ --gray-300: #e2e8f0;
80
+ --gray-400: #cbd5e0;
81
+ --gray-500: #a0aec0;
82
+ --gray-600: #718096;
83
+ --gray-700: #4a5568;
84
+ --gray-800: #2d3748;
85
+ --gray-900: #1a202c;
86
+ --red-100: #fff5f5;
87
+ --red-200: #fed7d7;
88
+ --red-300: #feb2b2;
89
+ --red-400: #fc8181;
90
+ --red-500: #f56565;
91
+ --red-600: #e53e3e;
92
+ --red-700: #c53030;
93
+ --red-800: #9b2c2c;
94
+ --red-900: #742a2a;
95
+ --orange-100: #fffaf0;
96
+ --orange-200: #feebc8;
97
+ --orange-300: #fbd38d;
98
+ --orange-400: #f6ad55;
99
+ --orange-500: #ed8936;
100
+ --orange-600: #dd6b20;
101
+ --orange-700: #c05621;
102
+ --orange-800: #9c4221;
103
+ --orange-900: #7b341e;
104
+ --yellow-100: #fffff0;
105
+ --yellow-200: #fefcbf;
106
+ --yellow-300: #faf089;
107
+ --yellow-400: #f6e05e;
108
+ --yellow-500: #ecc94b;
109
+ --yellow-600: #d69e2e;
110
+ --yellow-700: #b7791f;
111
+ --yellow-800: #975a16;
112
+ --yellow-900: #744210;
113
+ --green-100: #f0fff4;
114
+ --green-200: #c6f6d5;
115
+ --green-300: #9ae6b4;
116
+ --green-400: #68d391;
117
+ --green-500: #48bb78;
118
+ --green-600: #38a169;
119
+ --green-700: #2f855a;
120
+ --green-800: #276749;
121
+ --green-900: #22543d;
122
+ --teal-100: #e6fffa;
123
+ --teal-200: #b2f5ea;
124
+ --teal-300: #81e6d9;
125
+ --teal-400: #4fd1c5;
126
+ --teal-500: #38b2ac;
127
+ --teal-600: #319795;
128
+ --teal-700: #2c7a7b;
129
+ --teal-800: #285e61;
130
+ --teal-900: #234e52;
131
+ --blue-100: #ebf8ff;
132
+ --blue-200: #bee3f8;
133
+ --blue-300: #90cdf4;
134
+ --blue-400: #63b3ed;
135
+ --blue-500: #4299e1;
136
+ --blue-600: #3182ce;
137
+ --blue-700: #2b6cb0;
138
+ --blue-800: #2c5282;
139
+ --blue-900: #2a4365;
140
+ --indigo-100: #ebf4ff;
141
+ --indigo-200: #c3dafe;
142
+ --indigo-300: #a3bffa;
143
+ --indigo-400: #7f9cf5;
144
+ --indigo-500: #667eea;
145
+ --indigo-600: #5a67d8;
146
+ --indigo-700: #4c51bf;
147
+ --indigo-800: #434190;
148
+ --indigo-900: #3c366b;
149
+ --purple-100: #faf5ff;
150
+ --purple-200: #e9d8fd;
151
+ --purple-300: #d6bcfa;
152
+ --purple-400: #b794f4;
153
+ --purple-500: #9f7aea;
154
+ --purple-600: #805ad5;
155
+ --purple-700: #6b46c1;
156
+ --purple-800: #553c9a;
157
+ --purple-900: #44337a;
158
+ --pink-100: #fff5f7;
159
+ --pink-200: #fed7e2;
160
+ --pink-300: #fbb6ce;
161
+ --pink-400: #f687b3;
162
+ --pink-500: #ed64a6;
163
+ --pink-600: #d53f8c;
164
+ --pink-700: #b83280;
165
+ --pink-800: #97266d;
166
+ --pink-900: #702459;
167
+ }
168
+ .x4-root-element {
169
+ padding: 0;
170
+ margin: 0;
171
+ left: 0;
172
+ top: 0;
173
+ right: 0;
174
+ bottom: 0;
175
+ -webkit-font-smoothing: subpixel-antialiased;
176
+ text-rendering: geometricprecision;
177
+ font-family: var(--x4-font);
178
+ font-size: var(--x4-font-size);
179
+ }
180
+ input,
181
+ textarea {
182
+ font-family: inherit;
183
+ font-size: inherit;
184
+ }
185
+ textarea {
186
+ resize: none;
187
+ outline: none;
188
+ border: 1px solid transparent;
189
+ }
190
+ textarea:focus {
191
+ border: 1px solid var(--x4-selection-color);
192
+ }
193
+ textarea::selection {
194
+ background-color: var(--x4-selection-color);
195
+ color: #fff;
196
+ }
197
+ .z-float-4 {
198
+ box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
199
+ }
200
+ .z-float-6 {
201
+ box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.5);
202
+ }
203
+ .z-float-8 {
204
+ box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.6);
205
+ }
206
+ .z-float-15 {
207
+ box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.6);
208
+ }
209
+ .x-comp {
210
+ user-select: none;
211
+ box-sizing: border-box;
212
+ position: relative;
213
+ }
214
+ .x-flex {
215
+ min-height: 0;
216
+ min-width: 0;
217
+ flex: 1;
218
+ flex-basis: 0;
219
+ }
220
+ .x-hlayout > .x-min-content {
221
+ min-width: min-content;
222
+ }
223
+ .x-vlayout > .x-min-content {
224
+ min-height: min-content;
225
+ }
226
+ .x-fit {
227
+ position: absolute;
228
+ left: 0;
229
+ top: 0;
230
+ right: 0;
231
+ bottom: 0;
232
+ }
233
+ .x-hfit {
234
+ position: relative;
235
+ left: 0;
236
+ right: 0;
237
+ }
238
+ .x-vfit {
239
+ position: relative;
240
+ top: 0;
241
+ bottom: 0;
242
+ }
243
+ .x-hlayout {
244
+ display: flex;
245
+ flex-direction: row;
246
+ overflow: hidden;
247
+ }
248
+ .x-hlayout.center {
249
+ align-items: center;
250
+ }
251
+ .x-grid-layout {
252
+ display: grid;
253
+ justify-content: space-evenly;
254
+ }
255
+ .x-vlayout {
256
+ display: flex;
257
+ flex-direction: column;
258
+ }
259
+ .x-label {
260
+ color: inherit;
261
+ }
262
+ .x-label.right {
263
+ text-align: right;
264
+ }
265
+ .x-label.center {
266
+ text-align: center;
267
+ }
268
+ .x-sizer-overlay {
269
+ position: absolute;
270
+ }
271
+ .x-sizer-overlay.top {
272
+ width: 100%;
273
+ height: var(--x4-sizer-size);
274
+ cursor: n-resize;
275
+ left: 0;
276
+ top: 0;
277
+ }
278
+ .x-sizer-overlay.bottom {
279
+ width: 100%;
280
+ height: var(--x4-sizer-size);
281
+ cursor: n-resize;
282
+ left: 0;
283
+ bottom: 0;
284
+ }
285
+ .x-sizer-overlay.right {
286
+ top: 0;
287
+ right: 0;
288
+ width: var(--x4-sizer-size);
289
+ height: 100%;
290
+ cursor: e-resize;
291
+ }
292
+ .x-sizer-overlay.left {
293
+ top: 0;
294
+ left: 0;
295
+ width: var(--x4-sizer-size);
296
+ height: 100%;
297
+ cursor: e-resize;
298
+ }
299
+ .x-sizer-bottom {
300
+ padding-bottom: var(--x4-sizer-size);
301
+ }
302
+ .x-icon {
303
+ display: inline-flex;
304
+ align-items: center;
305
+ text-align: center;
306
+ flex-direction: column;
307
+ }
308
+ .x-icon:before {
309
+ font-family: var(--x4-icon-font-family);
310
+ }
311
+ .x-icon.x-svg-icon {
312
+ width: 1rem;
313
+ height: 1rem;
314
+ }
315
+ .x-icon.x-svg-icon > svg {
316
+ width: 100%;
317
+ height: 100%;
318
+ }
319
+ .x-base-button {
320
+ display: flex;
321
+ flex-direction: row;
322
+ align-items: center;
323
+ gap: 4px;
324
+ outline: none;
325
+ cursor: pointer;
326
+ font-family: var(--x4-font);
327
+ font-size: var(--x4-font-size);
328
+ height: 2rem;
329
+ padding: 8px;
330
+ overflow: hidden;
331
+ border: 1px solid var(--x4-default-border-color);
332
+ background-color: var(--x4-button-color);
333
+ color: var(--x4-button-text-color);
334
+ }
335
+ .x-base-button .x-icon {
336
+ margin: 0 4px;
337
+ color: inherit;
338
+ }
339
+ .x-base-button .x-svg-icon {
340
+ width: 1rem;
341
+ height: 1rem;
342
+ margin: 0;
343
+ }
344
+ .x-base-button:focus {
345
+ border-color: var(--x4-focus-color);
346
+ background-color: var(--x4-focus-color);
347
+ color: white;
348
+ }
349
+ .x-base-button.x-disable {
350
+ color: gray;
351
+ }
352
+ .x-base-button.x-disable:after {
353
+ content: "";
354
+ background-color: rgba(255, 255, 255, 0.6);
355
+ left: 0;
356
+ right: 0;
357
+ display: block;
358
+ top: 0;
359
+ bottom: 0;
360
+ position: absolute;
361
+ cursor: default;
362
+ }
363
+ .x-image {
364
+ display: flex;
365
+ overflow: hidden;
366
+ }
367
+ .x-image img {
368
+ width: 100%;
369
+ height: 100%;
370
+ }
371
+ .x-video {
372
+ display: flex;
373
+ overflow: hidden;
374
+ }
375
+ .x-video video {
376
+ width: 100%;
377
+ height: 100%;
378
+ }
379
+ .x-image-upload {
380
+ width: 96px;
381
+ height: 96px;
382
+ margin: 24px;
383
+ }
384
+ .x-image-upload img {
385
+ width: 96px;
386
+ height: 96px;
387
+ background-color: rgba(255, 255, 255, 0.7);
388
+ border-radius: 50%;
389
+ }
390
+ .x-canvas {
391
+ overflow: hidden;
392
+ }
393
+ .x-canvas canvas {
394
+ position: absolute;
395
+ left: 0;
396
+ top: 0;
397
+ right: 0;
398
+ bottom: 0;
399
+ }
400
+ ::-webkit-scrollbar {
401
+ width: var(--x4-scrollbar-width);
402
+ height: var(--x4-scrollbar-width);
403
+ background-color: var(--x4-scrollbar-background);
404
+ box-sizing: border-box;
405
+ }
406
+ ::-webkit-scrollbar-thumb {
407
+ background-color: var(--x4-scrollbar-thumb);
408
+ }
409
+ .x-circular-chart {
410
+ background-color: white;
411
+ box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.5);
412
+ }
413
+ .x-circular-chart .head {
414
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
415
+ padding: 2px;
416
+ height: 37px;
417
+ white-space: nowrap;
418
+ }
419
+ .x-circular-chart .head .x-label {
420
+ color: white;
421
+ padding: 8px;
422
+ }
423
+ .x-circular-chart .head .x-button {
424
+ height: 32px;
425
+ border: 1px solid rgba(255, 255, 255, 0.1);
426
+ }
427
+ .x-circular-chart .head .close-box {
428
+ color: white;
429
+ background-color: transparent;
430
+ border: none;
431
+ font-size: 28px;
432
+ padding-right: 0;
433
+ }
434
+ .x-text-edit,
435
+ .x-combo-box {
436
+ display: flex;
437
+ align-items: center;
438
+ min-width: min-content;
439
+ min-height: 32px;
440
+ padding: 0;
441
+ margin: 0;
442
+ margin-bottom: 4px;
443
+ }
444
+ .x-text-edit .x-hlayout,
445
+ .x-combo-box .x-hlayout,
446
+ .x-text-edit .x-vlayout,
447
+ .x-combo-box .x-vlayout {
448
+ overflow: visible;
449
+ }
450
+ .x-text-edit > .x-label,
451
+ .x-combo-box > .x-label {
452
+ padding: 4px;
453
+ color: var(--gray-900);
454
+ margin-top: 1px;
455
+ line-height: 1.3em;
456
+ min-height: 2em;
457
+ }
458
+ .x-text-edit > .x-label:after,
459
+ .x-combo-box > .x-label:after {
460
+ content: ':';
461
+ }
462
+ .x-text-edit input,
463
+ .x-combo-box input,
464
+ .x-text-edit .x-fake-input,
465
+ .x-combo-box .x-fake-input {
466
+ height: 2em;
467
+ font-size: inherit;
468
+ outline: none;
469
+ border: none;
470
+ padding: 4px;
471
+ color: var(--gray-900);
472
+ border-bottom: 1px solid transparent;
473
+ margin-top: 1px;
474
+ line-height: 1.3em;
475
+ width: 24px;
476
+ }
477
+ .x-text-edit input::placeholder,
478
+ .x-combo-box input::placeholder,
479
+ .x-text-edit .x-fake-input::placeholder,
480
+ .x-combo-box .x-fake-input::placeholder {
481
+ color: var(--gray-800);
482
+ }
483
+ .x-text-edit input::selection,
484
+ .x-combo-box input::selection,
485
+ .x-text-edit .x-fake-input::selection,
486
+ .x-combo-box .x-fake-input::selection {
487
+ background-color: var(--x4-selection-color);
488
+ color: #fff;
489
+ }
490
+ .x-text-edit input:focus,
491
+ .x-combo-box input:focus,
492
+ .x-text-edit .x-fake-input:focus,
493
+ .x-combo-box .x-fake-input:focus {
494
+ border-bottom-color: var(--x4-focus-color);
495
+ }
496
+ .x-text-edit:focus-within > .x-label,
497
+ .x-combo-box:focus-within > .x-label {
498
+ color: var(--x4-focus-color);
499
+ }
500
+ .x-text-edit .x-button.gadget,
501
+ .x-combo-box .x-button.gadget {
502
+ background-color: transparent;
503
+ font-size: var(--x4-font-size);
504
+ color: var(--gray-900);
505
+ border: none;
506
+ margin: 0;
507
+ padding: 4px;
508
+ height: 2em;
509
+ margin-top: 1px;
510
+ }
511
+ .x-text-edit .x-button.gadget:hover,
512
+ .x-combo-box .x-button.gadget:hover {
513
+ background-color: transparent;
514
+ }
515
+ .x-text-edit .x-button.gadget:focus,
516
+ .x-combo-box .x-button.gadget:focus {
517
+ color: var(--x4-focus-color);
518
+ }
519
+ .x-text-edit:focus .x-button.gadget,
520
+ .x-combo-box:focus .x-button.gadget,
521
+ .x-text-edit:focus input,
522
+ .x-combo-box:focus input {
523
+ border-color: var(--x4-focus-color);
524
+ }
525
+ .x-text-edit:focus input,
526
+ .x-combo-box:focus input {
527
+ border-bottom: 1px solid var(--x4-focus-color);
528
+ }
529
+ .x-text-edit:focus .x-button.gadget,
530
+ .x-combo-box:focus .x-button.gadget {
531
+ color: var(--x4-focus-color);
532
+ }
533
+ .x-text-edit:focus .x-label,
534
+ .x-combo-box:focus .x-label {
535
+ color: var(--x4-focus-color);
536
+ }
537
+ .x-text-edit .error-info,
538
+ .x-combo-box .error-info {
539
+ font-size: 70%;
540
+ padding: 4px;
541
+ color: white;
542
+ padding-left: 19px;
543
+ padding-top: 6px;
544
+ pointer-events: none;
545
+ right: 0;
546
+ position: absolute;
547
+ top: -2px;
548
+ z-index: 1;
549
+ }
550
+ .x-text-edit.x-required .label1:before,
551
+ .x-combo-box.x-required .label1:before {
552
+ content: '*';
553
+ padding-right: 2px;
554
+ }
555
+ .x-text-edit.x-error input,
556
+ .x-combo-box.x-error input {
557
+ border-bottom: none;
558
+ border-left: 4px solid var(--x4-error-color);
559
+ }
560
+ .x-text-edit .x-button.gadget {
561
+ margin-left: 1 px;
562
+ margin-right: 1 px;
563
+ }
564
+ .x-combo-box > .x-label {
565
+ border-top: 1px solid transparent;
566
+ }
567
+ .x-combo-box .x-button.gadget,
568
+ .x-combo-box input,
569
+ .x-combo-box .x-fake-input {
570
+ border: 1px solid rgba(0, 0, 0, 0.1);
571
+ }
572
+ .x-combo-box .x-fake-input {
573
+ min-width: 2em;
574
+ }
575
+ .x-combo-box input,
576
+ .x-combo-box .x-fake-input {
577
+ cursor: default;
578
+ border-right: none;
579
+ }
580
+ .x-combo-box:focus .x-button.gadget,
581
+ .x-combo-box:focus input,
582
+ .x-combo-box:focus .x-fake-input {
583
+ border-color: var(--x4-focus-color);
584
+ }
585
+ .x-combo-box:focus input,
586
+ .x-combo-box:focus .x-fake-input {
587
+ border-bottom: 1px solid var(--x4-focus-color);
588
+ }
589
+ .x-combo-box:focus .x-button.gadget {
590
+ color: var(--x4-focus-color);
591
+ }
592
+ .x-combo-box:focus .x-label {
593
+ color: var(--x4-focus-color);
594
+ }
595
+ .x-hlayout > .x-combo-box {
596
+ margin-bottom: 0;
597
+ margin-right: 4px;
598
+ }
599
+ .x-text-edit.vertical {
600
+ align-items: stretch;
601
+ }
602
+ .x-text-edit input:read-only {
603
+ background-color: transparent;
604
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
605
+ }
606
+ .x-text-edit .x-button {
607
+ padding: 8px 4px;
608
+ height: auto;
609
+ border: none;
610
+ background-color: rgba(0, 0, 0, 0.1);
611
+ }
612
+ .x-text-edit .x-button:hover {
613
+ background-color: rgba(0, 0, 0, 0.3);
614
+ }
615
+ .x-text-edit:focus input {
616
+ border-bottom: 1px solid white;
617
+ }
618
+ .x-text-edit:focus .label1 {
619
+ color: black;
620
+ }
621
+ .x-radio-btn,
622
+ .x-check-box {
623
+ align-items: center;
624
+ color: var(--gray-900);
625
+ outline: none;
626
+ padding: 4px 0;
627
+ }
628
+ .x-radio-btn input,
629
+ .x-check-box input {
630
+ outline: none;
631
+ margin: 4px;
632
+ padding: 0;
633
+ }
634
+ .x-radio-btn .x-label,
635
+ .x-check-box .x-label {
636
+ padding: 4px;
637
+ }
638
+ .x-radio-btn:focus-within,
639
+ .x-check-box:focus-within {
640
+ text-decoration: underline;
641
+ color: var(--x4-selection-color);
642
+ }
643
+ .x-check-box.slider input {
644
+ clip: rect(0 0 0 0);
645
+ position: absolute;
646
+ width: 1px;
647
+ height: 1px;
648
+ }
649
+ .x-check-box.slider .x-label:before {
650
+ box-sizing: border-box;
651
+ position: absolute;
652
+ left: 0px;
653
+ top: 3px;
654
+ content: "";
655
+ display: inline-block;
656
+ width: 2.4em;
657
+ height: 1.4em;
658
+ border-radius: 1.4rem;
659
+ padding: 2px;
660
+ background-color: rgba(0, 0, 0, 0.3);
661
+ transition: all 0.2s;
662
+ border: 1px solid rgba(255, 255, 255, 0.5);
663
+ }
664
+ .x-check-box.slider .x-label:after {
665
+ box-sizing: border-box;
666
+ content: "";
667
+ top: 5px;
668
+ height: calc(1.4em - 4px);
669
+ width: calc(1.4em - 4px);
670
+ border-radius: 50%;
671
+ background-color: #fff;
672
+ transition: all 0.2s;
673
+ position: absolute;
674
+ left: 2px;
675
+ }
676
+ .x-check-box.slider input:checked + .x-label:before {
677
+ background-color: var(--x4-selection-color);
678
+ }
679
+ .x-check-box.slider input:checked + .x-label:after {
680
+ left: calc(1em + 2px);
681
+ background-color: white;
682
+ }
683
+ .x-check-box.slider .x-label {
684
+ padding-left: calc(2.5em + 4px);
685
+ height: 2em;
686
+ }
687
+ .x-menu {
688
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
689
+ background-color: #f7f7f7;
690
+ padding: 2px 0;
691
+ max-height: 80%;
692
+ overflow: auto;
693
+ }
694
+ .x-menu-title {
695
+ width: 100%;
696
+ background-color: #e22e6d;
697
+ color: white;
698
+ height: 2.3em;
699
+ display: block;
700
+ padding: 0 8px;
701
+ line-height: 2.5em;
702
+ }
703
+ .x-menu-item {
704
+ display: flex;
705
+ flex-direction: row;
706
+ align-items: center;
707
+ outline: none;
708
+ background-color: transparent;
709
+ color: var(--gray-900);
710
+ padding: 0px 8px;
711
+ min-width: 120px;
712
+ border: none;
713
+ }
714
+ .x-menu-item .x-icon {
715
+ width: 1em;
716
+ margin-right: 8px;
717
+ color: var(--gray-700);
718
+ }
719
+ .x-menu-item .x-icon.pop-mark {
720
+ height: 0.8em;
721
+ }
722
+ .x-menu-item .x-label {
723
+ padding: 4px;
724
+ }
725
+ .x-menu-item:hover {
726
+ background-color: var(--x4-hover-color);
727
+ color: var(--x4-hover-text);
728
+ }
729
+ .x-menu-item:hover .x-icon {
730
+ color: var(--gray-900);
731
+ }
732
+ .x-menu-separator {
733
+ margin-top: 4px;
734
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
735
+ margin-bottom: 3px;
736
+ }
737
+ .x-link {
738
+ padding: 4px;
739
+ color: var(--x4-selection-color);
740
+ cursor: pointer;
741
+ outline: none;
742
+ display: flex;
743
+ align-items: center;
744
+ color: inherit;
745
+ }
746
+ .x-link:focus {
747
+ color: var(--x4-selection-color);
748
+ text-decoration: underline;
749
+ }
750
+ .x-column-view {
751
+ border-bottom: 1px solid rgba(255, 255, 255, 0.5);
752
+ overflow: hidden;
753
+ }
754
+ .x-column-view .line {
755
+ height: 48px;
756
+ }
757
+ .x-column-view .head {
758
+ background: none;
759
+ background-color: inherit;
760
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
761
+ z-index: 2;
762
+ border: 1px solid transparent;
763
+ border-bottom: 1px solid rgba(255, 255, 255, 0.5);
764
+ height: 40px;
765
+ margin: 0 4px;
766
+ }
767
+ .x-column-view .head .x-label {
768
+ line-height: 32px;
769
+ }
770
+ .x-column-view .h-container {
771
+ margin-right: var(--x4-scrollbar-width);
772
+ }
773
+ .x-list-view {
774
+ border: 1px solid var(--x4-default-border-color);
775
+ }
776
+ .x-list-view .x-list-item {
777
+ padding: 4px;
778
+ line-height: 2em;
779
+ white-space: nowrap;
780
+ }
781
+ .x-list-view .x-list-item:hover {
782
+ background-color: var(--x4-hover-color);
783
+ color: var(--x4-hover-text);
784
+ }
785
+ .x-list-view .x-list-item.x-selected {
786
+ background-color: var(--x4-selection-color);
787
+ color: var(--x4-selection-text);
788
+ }
789
+ .x-list-view .x-list-item:focus {
790
+ outline: none;
791
+ }
792
+ .x-list-view:focus {
793
+ outline: none;
794
+ border-color: var(--x4-focus-color);
795
+ }
796
+ .x-list-view .gadgets {
797
+ border-top: 1px solid rgba(0, 0, 0, 0.5);
798
+ background-color: rgba(0, 0, 0, 0.1);
799
+ }
800
+ .x-list-view .gadgets .x-button {
801
+ background-color: transparent;
802
+ }
803
+ .x-list-view .gadgets .x-button:hover {
804
+ background-color: white;
805
+ }
806
+ .x-mask {
807
+ filter: grayscale(80%);
808
+ }
809
+ .x-mask:after {
810
+ content: '';
811
+ position: absolute;
812
+ left: -100vw;
813
+ top: -100vh;
814
+ width: 200vw;
815
+ height: 200vh;
816
+ background-color: var(--x4-mask-color);
817
+ z-index: 999;
818
+ }
819
+ .x-popup {
820
+ position: absolute;
821
+ z-index: 1000;
822
+ font-family: var(--x4-font);
823
+ font-size: var(--x4-font-size);
824
+ }
825
+ .x-popup:focus {
826
+ outline: none;
827
+ }
828
+ .x-panel > .title {
829
+ align-items: center;
830
+ line-height: 1.5em;
831
+ padding: 4px;
832
+ border-bottom: 1px solid var(--x4-default-border-color);
833
+ }
834
+ .x-panel > .title > .x-label {
835
+ flex: 1;
836
+ }
837
+ .x-panel > .title > .x-button {
838
+ background-color: transparent;
839
+ padding: 0;
840
+ border: none;
841
+ box-shadow: none;
842
+ }
843
+ .x-panel > .title > .x-button:focus {
844
+ color: var(--gray-900);
845
+ }
846
+ .x-panel > .body {
847
+ padding: 8px;
848
+ flex: 1;
849
+ }
850
+ .x-dialog {
851
+ border: 0.5px solid rgba(0, 0, 0, 0.2);
852
+ box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.6);
853
+ min-width: 250px;
854
+ min-height: 100px;
855
+ }
856
+ .x-dialog > .title {
857
+ height: 2rem;
858
+ color: white;
859
+ padding: 0 8px;
860
+ display: flex;
861
+ align-items: center;
862
+ background-color: var(--x4-selection-color);
863
+ width: 0;
864
+ }
865
+ .x-dialog > .title .x-icon {
866
+ width: 2em;
867
+ height: 1.9em;
868
+ padding: 4px;
869
+ text-align: center;
870
+ cursor: pointer;
871
+ }
872
+ .x-dialog > .title .x-icon:hover {
873
+ background-color: rgba(255, 255, 255, 0.1);
874
+ }
875
+ .x-dialog > .title .x-icon.close-btn:hover {
876
+ background-color: var(--x4-error-color);
877
+ color: white;
878
+ }
879
+ .x-dialog > .title .x-label {
880
+ border-bottom: none;
881
+ padding: 0;
882
+ overflow: hidden;
883
+ text-overflow: ellipsis;
884
+ white-space: nowrap;
885
+ }
886
+ .x-dialog > .title .res-btn {
887
+ display: none;
888
+ }
889
+ .x-dialog.maximized > .title .min-btn,
890
+ .x-dialog.maximized > .title .max-btn {
891
+ display: none;
892
+ }
893
+ .x-dialog.maximized > .title .res-btn {
894
+ display: block;
895
+ }
896
+ .x-dialog.x-resized {
897
+ display: flex;
898
+ flex-direction: column;
899
+ }
900
+ .x-dialog.x-resized > .x-form {
901
+ flex: 1;
902
+ }
903
+ .x-dialog.x-resized > .x-form > .container {
904
+ min-height: 0;
905
+ min-width: 0;
906
+ flex: 1;
907
+ flex-basis: 0;
908
+ }
909
+ .x-dialog.maximized {
910
+ left: 0;
911
+ top: 0;
912
+ width: 100%;
913
+ height: 100%;
914
+ margin: 0;
915
+ }
916
+ .x-dialog.maximized > .title {
917
+ height: 2em;
918
+ }
919
+ .x-size-all {
920
+ margin: 4px;
921
+ }
922
+ .x-size-all > .x-sizer-overlay {
923
+ background-color: transparent;
924
+ border: none;
925
+ }
926
+ .x-size-all > .x-sizer-overlay.topleft,
927
+ .x-size-all > .x-sizer-overlay.topright,
928
+ .x-size-all > .x-sizer-overlay.bottomleft,
929
+ .x-size-all > .x-sizer-overlay.bottomright {
930
+ cursor: se-resize;
931
+ width: 6px;
932
+ height: 6px;
933
+ z-index: 11;
934
+ }
935
+ .x-size-all > .x-sizer-overlay.topleft {
936
+ left: -4px;
937
+ top: -4px;
938
+ }
939
+ .x-size-all > .x-sizer-overlay.bottomright {
940
+ right: -4px;
941
+ bottom: -4px;
942
+ }
943
+ .x-size-all > .x-sizer-overlay.topright {
944
+ cursor: nesw-resize;
945
+ right: -4px;
946
+ top: -4px;
947
+ }
948
+ .x-size-all > .x-sizer-overlay.bottomleft {
949
+ cursor: nesw-resize;
950
+ left: -4px;
951
+ bottom: -4px;
952
+ }
953
+ .x-size-all > .x-sizer-overlay.top,
954
+ .x-size-all > .x-sizer-overlay.bottom {
955
+ width: 100%;
956
+ height: 4px;
957
+ left: 0;
958
+ z-index: 10;
959
+ cursor: n-resize;
960
+ }
961
+ .x-size-all > .x-sizer-overlay.top {
962
+ top: -4px;
963
+ }
964
+ .x-size-all > .x-sizer-overlay.bottom {
965
+ bottom: -4px;
966
+ }
967
+ .x-size-all > .x-sizer-overlay.left,
968
+ .x-size-all > .x-sizer-overlay.right {
969
+ height: 100%;
970
+ width: 4px;
971
+ top: 0;
972
+ z-index: 10;
973
+ cursor: w-resize;
974
+ border: none;
975
+ }
976
+ .x-size-all > .x-sizer-overlay.left {
977
+ left: -4px;
978
+ }
979
+ .x-size-all > .x-sizer-overlay.right {
980
+ right: -4px;
981
+ }
982
+ .x-form {
983
+ background-color: var(--x4-form-color);
984
+ margin-block-end: 0;
985
+ padding: 8px 0;
986
+ min-width: 250px;
987
+ min-height: 50px;
988
+ padding-right: 4px;
989
+ }
990
+ .x-form > .container {
991
+ padding: 0px;
992
+ overflow: auto;
993
+ padding: 0 4px 0 8px;
994
+ }
995
+ .x-form > .footer {
996
+ position: relative;
997
+ left: 0;
998
+ bottom: 0;
999
+ width: 100%;
1000
+ justify-content: flex-end;
1001
+ padding: 0px 4px 0 8px;
1002
+ margin-top: 8px;
1003
+ align-items: center;
1004
+ }
1005
+ .x-form > .footer .x-button:not(.x-small) {
1006
+ min-width: 110px;
1007
+ }
1008
+ .x-form > .footer .x-button:not(:first-child) {
1009
+ margin-left: 8px;
1010
+ }
1011
+ .x-hidden {
1012
+ display: none ! important;
1013
+ }
1014
+ .x-tab-view {
1015
+ overflow: hidden;
1016
+ padding: 24px;
1017
+ padding-top: 0;
1018
+ }
1019
+ .x-tab-view .x-tab-switch {
1020
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1021
+ background-color: rgba(0, 0, 0, 0.1);
1022
+ }
1023
+ .x-tab-view .x-tab-switch .x-tab-btn {
1024
+ border: none;
1025
+ background-color: transparent;
1026
+ }
1027
+ .x-tab-view .x-tab-switch .x-tab-btn:hover .x-label {
1028
+ text-decoration: underline;
1029
+ }
1030
+ .x-tab-view .x-tab-switch .x-tab-btn.x-active {
1031
+ background-color: rgba(255, 255, 255, 0.2);
1032
+ }
1033
+ .x-tab-page {
1034
+ min-width: 0;
1035
+ }
1036
+ .x-input-box > .title,
1037
+ .x-message-box > .title,
1038
+ .x-important > .title {
1039
+ background: none;
1040
+ background-color: var(--x4-error-color);
1041
+ height: 2.5em;
1042
+ }
1043
+ .x-input-box > .title .x-label,
1044
+ .x-message-box > .title .x-label,
1045
+ .x-important > .title .x-label {
1046
+ border-bottom: none;
1047
+ padding-bottom: 0;
1048
+ }
1049
+ .x-input-box > .title .x-icon,
1050
+ .x-message-box > .title .x-icon,
1051
+ .x-important > .title .x-icon {
1052
+ display: none;
1053
+ }
1054
+ .x-input-box .x-form,
1055
+ .x-message-box .x-form,
1056
+ .x-important .x-form {
1057
+ min-height: 100px;
1058
+ background-color: white;
1059
+ }
1060
+ .x-input-box .x-form .panel,
1061
+ .x-message-box .x-form .panel,
1062
+ .x-important .x-form .panel {
1063
+ align-items: center;
1064
+ }
1065
+ .x-input-box .x-form .icon,
1066
+ .x-message-box .x-form .icon,
1067
+ .x-important .x-form .icon {
1068
+ font-size: 48px;
1069
+ width: 48px;
1070
+ height: 48px;
1071
+ color: var(--x4-error-color);
1072
+ margin-right: 8px;
1073
+ }
1074
+ .x-input-box .x-form .text,
1075
+ .x-message-box .x-form .text,
1076
+ .x-important .x-form .text {
1077
+ padding: 8px;
1078
+ color: #666666;
1079
+ line-height: 1.7em;
1080
+ max-width: 50vw;
1081
+ }
1082
+ .x-input-box .x-form > .footer,
1083
+ .x-message-box .x-form > .footer,
1084
+ .x-important .x-form > .footer {
1085
+ background-color: white;
1086
+ border-top: 1px solid rgba(0, 0, 0, 0.05);
1087
+ padding-top: 8px;
1088
+ }
1089
+ .x-input-box .x-form > .footer .x-button,
1090
+ .x-message-box .x-form > .footer .x-button,
1091
+ .x-important .x-form > .footer .x-button {
1092
+ background-color: var(--x4-error-color);
1093
+ color: white;
1094
+ }
1095
+ .x-input-box .x-form > .footer .x-button:focus,
1096
+ .x-message-box .x-form > .footer .x-button:focus,
1097
+ .x-important .x-form > .footer .x-button:focus {
1098
+ border-color: black;
1099
+ }
1100
+ .x-spreadsheet,
1101
+ .x-grid-view {
1102
+ min-height: 0;
1103
+ overflow: hidden;
1104
+ background-color: white;
1105
+ }
1106
+ .x-spreadsheet .x-cell,
1107
+ .x-grid-view .x-cell {
1108
+ overflow: hidden;
1109
+ padding: 4px;
1110
+ white-space: nowrap;
1111
+ color: var(--gray-900);
1112
+ height: 2em;
1113
+ }
1114
+ .x-spreadsheet .x-cell span,
1115
+ .x-grid-view .x-cell span {
1116
+ width: 100%;
1117
+ }
1118
+ .x-spreadsheet .x-footer,
1119
+ .x-grid-view .x-footer,
1120
+ .x-spreadsheet .x-header,
1121
+ .x-grid-view .x-header {
1122
+ height: 2em;
1123
+ background-color: #f0f0f0;
1124
+ align-items: center;
1125
+ border-bottom: 1px solid rgba(0, 0, 0, 0.4);
1126
+ }
1127
+ .x-spreadsheet .x-footer .x-sizer-bar,
1128
+ .x-grid-view .x-footer .x-sizer-bar,
1129
+ .x-spreadsheet .x-header .x-sizer-bar,
1130
+ .x-grid-view .x-header .x-sizer-bar {
1131
+ background-color: transparent;
1132
+ }
1133
+ .x-spreadsheet .x-footer .x-cell,
1134
+ .x-grid-view .x-footer .x-cell,
1135
+ .x-spreadsheet .x-header .x-cell,
1136
+ .x-grid-view .x-header .x-cell {
1137
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
1138
+ height: 100%;
1139
+ display: flex;
1140
+ align-items: center;
1141
+ }
1142
+ .x-spreadsheet .x-footer .x-cell span,
1143
+ .x-grid-view .x-footer .x-cell span,
1144
+ .x-spreadsheet .x-header .x-cell span,
1145
+ .x-grid-view .x-header .x-cell span {
1146
+ min-width: 0;
1147
+ text-overflow: ellipsis;
1148
+ overflow: hidden;
1149
+ }
1150
+ .x-spreadsheet .x-footer .x-cell.sort,
1151
+ .x-grid-view .x-footer .x-cell.sort,
1152
+ .x-spreadsheet .x-header .x-cell.sort,
1153
+ .x-grid-view .x-header .x-cell.sort {
1154
+ height: 0.7rem;
1155
+ opacity: 0.7;
1156
+ }
1157
+ .x-spreadsheet .x-header .x-cell span,
1158
+ .x-grid-view .x-header .x-cell span {
1159
+ width: unset;
1160
+ text-transform: uppercase;
1161
+ font-weight: bold;
1162
+ }
1163
+ .x-spreadsheet .x-header .x-cell .sort,
1164
+ .x-grid-view .x-header .x-cell .sort {
1165
+ width: 1em;
1166
+ height: 1em;
1167
+ padding-left: 4px;
1168
+ }
1169
+ .x-spreadsheet .x-row,
1170
+ .x-grid-view .x-row {
1171
+ position: absolute;
1172
+ width: calc(100% - 4px);
1173
+ border-bottom: 1px solid #d0d0d0;
1174
+ align-items: center;
1175
+ height: 2em;
1176
+ }
1177
+ .x-spreadsheet .x-row.odd,
1178
+ .x-grid-view .x-row.odd {
1179
+ background-color: #fafafa;
1180
+ }
1181
+ .x-spreadsheet .x-cell,
1182
+ .x-grid-view .x-cell {
1183
+ border-right: 1px solid #d0d0d0;
1184
+ }
1185
+ .x-spreadsheet .x-cell.center,
1186
+ .x-grid-view .x-cell.center {
1187
+ text-align: center;
1188
+ justify-content: center;
1189
+ }
1190
+ .x-spreadsheet .x-cell.right,
1191
+ .x-grid-view .x-cell.right {
1192
+ text-align: right;
1193
+ justify-content: right;
1194
+ }
1195
+ .x-spreadsheet:focus,
1196
+ .x-grid-view:focus {
1197
+ outline: none;
1198
+ }
1199
+ .x-grid-view .x-footer,
1200
+ .x-grid-view .x-header {
1201
+ border-left: 4px solid #f0f0f0;
1202
+ }
1203
+ .x-grid-view .x-row {
1204
+ border-left: 4px solid transparent;
1205
+ }
1206
+ .x-grid-view .x-row:hover {
1207
+ background-color: rgba(0, 0, 0, 0.1);
1208
+ border-left-color: rgba(0, 0, 0, 0.6);
1209
+ }
1210
+ .x-grid-view .x-row.x-selected {
1211
+ background-color: var(--x4-selection-color);
1212
+ }
1213
+ .x-grid-view .x-row.x-selected .x-cell {
1214
+ color: white;
1215
+ }
1216
+ .x-grid-view .empty-msg {
1217
+ position: absolute;
1218
+ left: 1em;
1219
+ top: 4em;
1220
+ }
1221
+ .x-spreadsheet .content .x-cell {
1222
+ position: absolute;
1223
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
1224
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1225
+ height: 2em;
1226
+ align-items: center;
1227
+ display: flex;
1228
+ }
1229
+ .x-spreadsheet .x-cell.x-selected {
1230
+ background-color: rgba(0, 0, 0, 0.1);
1231
+ }
1232
+ .x-spreadsheet:focus .x-cell.x-selected {
1233
+ background-color: var(--x4-selection-color);
1234
+ color: white;
1235
+ }
1236
+ .x-spreadsheet .x-editor {
1237
+ position: absolute;
1238
+ min-height: 0;
1239
+ margin: 0;
1240
+ }
1241
+ .x-spreadsheet .x-editor input {
1242
+ margin: 0;
1243
+ min-height: 0;
1244
+ height: 100%;
1245
+ }
1246
+ .x-form .x-spreadsheet .x-editor {
1247
+ background-color: white;
1248
+ }
1249
+ .x-side-bar {
1250
+ min-width: 44px;
1251
+ }
1252
+ .x-side-bar .x-button {
1253
+ background-color: transparent;
1254
+ color: var(--x4-base-color);
1255
+ border: none;
1256
+ min-height: 2em;
1257
+ }
1258
+ .x-side-bar .x-button:hover {
1259
+ background-color: var(--x4-hover-color);
1260
+ color: white;
1261
+ }
1262
+ .x-side-bar .x-button:hover .x-icon {
1263
+ color: rgba(255, 255, 255, 0.5);
1264
+ }
1265
+ .x-side-bar .x-button.x-active {
1266
+ background-color: var(--x4-base-color);
1267
+ color: white;
1268
+ }
1269
+ .x-side-bar .x-button.x-active .x-icon {
1270
+ color: white;
1271
+ }
1272
+ .x-side-bar .x-button.x-active:hover {
1273
+ color: white;
1274
+ }
1275
+ .x-side-bar .x-button.x-active:hover .x-icon {
1276
+ color: rgba(255, 255, 255, 0.5);
1277
+ }
1278
+ .x-side-bar .x-button.trans,
1279
+ .x-side-bar .x-button.trans .x-icon {
1280
+ transition: background-color 0.4s ease, color 0.4s ease;
1281
+ }
1282
+ .x-side-bar.collapsed .x-button .x-label {
1283
+ display: none;
1284
+ }
1285
+ .x-side-bar.collapsed .x-button.x-active .x-icon,
1286
+ .x-side-bar.collapsed .x-button:hover .x-icon {
1287
+ color: white;
1288
+ }
1289
+ .x-tooltip {
1290
+ box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
1291
+ z-index: 50000;
1292
+ display: inline-block;
1293
+ max-width: 400px;
1294
+ pointer-events: none;
1295
+ background-color: white;
1296
+ color: white;
1297
+ padding-left: 24px;
1298
+ font-family: var(--x4-font);
1299
+ font-size: var(--x4-font-size);
1300
+ }
1301
+ .x-tooltip .x-icon {
1302
+ position: absolute;
1303
+ left: 5px;
1304
+ top: 7px;
1305
+ color: var(--x4-selection-color);
1306
+ }
1307
+ .x-tooltip .x-label {
1308
+ background-color: var(--x4-selection-color);
1309
+ white-space: break-spaces;
1310
+ display: inline-block;
1311
+ padding: 6px;
1312
+ line-height: 1.3em;
1313
+ }
1314
+ .x-search-bar {
1315
+ background-color: var(--x4-base-color);
1316
+ height: 2em;
1317
+ }
1318
+ .x-popup-table {
1319
+ box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.6);
1320
+ border-collapse: collapse;
1321
+ background-color: white;
1322
+ padding: 2px 0;
1323
+ }
1324
+ .x-popup-table tr.x-selected {
1325
+ background-color: var(--x4-selection-color);
1326
+ color: var(--x4-selection-text);
1327
+ }
1328
+ .x-popup-table tr:hover {
1329
+ background-color: var(--x4-hover-color);
1330
+ color: var(--x4-hover-text);
1331
+ }
1332
+ .x-popup-table td {
1333
+ padding: 3px 8px;
1334
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1335
+ }
1336
+ .x-popup-table .hilite {
1337
+ font-weight: bold;
1338
+ }
1339
+ .x-scroll-view,
1340
+ .x-container.x-scroll-view {
1341
+ overflow-y: auto;
1342
+ }
1343
+ .x-popup-list-view {
1344
+ box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.4);
1345
+ background-color: white;
1346
+ }
1347
+ .x-popup-list-view .x-combo-popup {
1348
+ min-height: 1em;
1349
+ max-height: 400px;
1350
+ border: 1px solid #00000073;
1351
+ overflow: auto;
1352
+ color: var(--gray-900);
1353
+ }
1354
+ .x-popup-list-view .x-combo-popup .x-list-item {
1355
+ height: 2em;
1356
+ line-height: calc(2em - 8px);
1357
+ }
1358
+ .x-calendar {
1359
+ border: 1px solid rgba(0, 0, 0, 0.1);
1360
+ padding: 4px;
1361
+ }
1362
+ .x-calendar .month-sel {
1363
+ height: 2em;
1364
+ align-items: center;
1365
+ padding-left: 2em;
1366
+ margin-bottom: 8px;
1367
+ }
1368
+ .x-calendar .month-sel .month {
1369
+ padding-right: 4px;
1370
+ }
1371
+ .x-calendar .month-sel .year {
1372
+ cursor: pointer;
1373
+ }
1374
+ .x-calendar .month-sel .month,
1375
+ .x-calendar .month-sel .year {
1376
+ cursor: pointer;
1377
+ }
1378
+ .x-calendar .month-sel .month:hover,
1379
+ .x-calendar .month-sel .year:hover {
1380
+ text-decoration: underline;
1381
+ }
1382
+ .x-calendar .month-sel .x-label {
1383
+ font-weight: bold;
1384
+ }
1385
+ .x-calendar .month-sel .x-button {
1386
+ height: auto;
1387
+ color: var(--gray-900);
1388
+ }
1389
+ .x-calendar .week {
1390
+ align-items: center;
1391
+ border: 1px solid transparent;
1392
+ }
1393
+ .x-calendar .week:hover {
1394
+ border-color: var(--x4-hover-color);
1395
+ border-radius: 4px;
1396
+ }
1397
+ .x-calendar .week .cell {
1398
+ height: 100%;
1399
+ color: var(--gray-900);
1400
+ text-align: center;
1401
+ }
1402
+ .x-calendar .week .cell span {
1403
+ margin: auto;
1404
+ }
1405
+ .x-calendar .week .today {
1406
+ font-weight: bold;
1407
+ background-color: var(--x4-error-color);
1408
+ }
1409
+ .x-calendar .week .today span {
1410
+ border-radius: 2px;
1411
+ color: white;
1412
+ }
1413
+ .x-calendar .week .weeknum {
1414
+ width: 2em;
1415
+ color: rgba(0, 0, 0, 0.3);
1416
+ font-size: 70%;
1417
+ }
1418
+ .x-calendar .week .day {
1419
+ cursor: pointer;
1420
+ }
1421
+ .x-calendar .week .out {
1422
+ color: rgba(0, 0, 0, 0.3);
1423
+ }
1424
+ .x-calendar .week .day:hover {
1425
+ background-color: var(--x4-hover-color);
1426
+ color: white;
1427
+ }
1428
+ .x-calendar .header .cell {
1429
+ color: var(--gray-800);
1430
+ height: 1.5em;
1431
+ }
1432
+ .x-calendar .header:hover {
1433
+ background-color: inherit;
1434
+ }
1435
+ .x-popup-calendar {
1436
+ width: 250px;
1437
+ height: 200px;
1438
+ background-color: white;
1439
+ box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.6);
1440
+ }
1441
+ .x-separator {
1442
+ background-color: white;
1443
+ }
1444
+ .x-separator.horizontal {
1445
+ width: 4px;
1446
+ border-left: 1px solid #c7c7c7;
1447
+ border-right: 1px solid #c7c7c7;
1448
+ cursor: e-resize;
1449
+ }
1450
+ .x-separator.vertical {
1451
+ height: 4px;
1452
+ border-top: 1px solid #c7c7c7;
1453
+ border-bottom: 1px solid #c7c7c7;
1454
+ cursor: n-resize;
1455
+ }
1456
+ .x-separator:hover {
1457
+ background-color: #575757;
1458
+ border-color: #575757;
1459
+ }
1460
+ .x-toggle-button.checked {
1461
+ background-color: #a8a8a8;
1462
+ }
1463
+ .x-color-picker-box .customs {
1464
+ padding: 8px;
1465
+ }
1466
+ .x-color-picker-box .customs .cust-cc {
1467
+ height: 16px;
1468
+ border: 1px solid rgba(0, 0, 0, 0.4);
1469
+ }
1470
+ .x-color-picker-editor .alpha {
1471
+ background-image: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==');
1472
+ padding: 4px;
1473
+ }
1474
+ .x-color-picker .sel {
1475
+ position: absolute;
1476
+ left: 10px;
1477
+ top: 10px;
1478
+ right: 40px;
1479
+ bottom: 40px;
1480
+ }
1481
+ .x-color-picker .sel .marker {
1482
+ position: absolute;
1483
+ width: 6px;
1484
+ height: 6px;
1485
+ margin-top: -3px;
1486
+ margin-left: -3px;
1487
+ border: 1px solid white;
1488
+ }
1489
+ .x-color-picker .light {
1490
+ background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
1491
+ }
1492
+ .x-color-picker .dark {
1493
+ background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000000 100%);
1494
+ }
1495
+ .x-color-picker .hue {
1496
+ position: absolute;
1497
+ top: 10px;
1498
+ bottom: 40px;
1499
+ right: 10px;
1500
+ width: 20px;
1501
+ background: linear-gradient(to bottom, #ff0000 0%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 66%, #ff00ff 83%, #ff0000 100%);
1502
+ }
1503
+ .x-color-picker .hue .marker {
1504
+ position: absolute;
1505
+ width: calc(100% + 6px);
1506
+ height: 4px;
1507
+ margin-top: -2px;
1508
+ margin-left: -3px;
1509
+ background-color: black;
1510
+ }
1511
+ .x-color-picker .sample {
1512
+ position: absolute;
1513
+ bottom: 10px;
1514
+ height: 20px;
1515
+ width: 20px;
1516
+ right: 10px;
1517
+ }
1518
+ .x-color-picker .sample .color {
1519
+ background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #ff0000 100%);
1520
+ }
1521
+ .x-color-picker .alpha,
1522
+ .x-color-picker .transp {
1523
+ position: absolute;
1524
+ left: 10px;
1525
+ bottom: 10px;
1526
+ right: 20px;
1527
+ height: 20px;
1528
+ }
1529
+ .x-color-picker .transp {
1530
+ bottom: 8px;
1531
+ width: 115px;
1532
+ left: 4px;
1533
+ height: 24px;
1534
+ }
1535
+ .x-color-picker .hexv {
1536
+ position: absolute;
1537
+ bottom: 8px;
1538
+ left: 120px;
1539
+ height: 24px;
1540
+ margin: 0;
1541
+ width: 90px;
1542
+ min-height: unset;
1543
+ }
1544
+ .x-color-picker .alpha {
1545
+ background-image: url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QA6RXhpZgAATU0AKgAAAAgAA1EAAAQAAAABAAAAAFEBAAMAAAABAAEAAFEEAAEAAAAB/AAAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAQABADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9iK90orwugD//2Q==');
1546
+ }
1547
+ .x-color-picker .alpha .marker {
1548
+ position: absolute;
1549
+ height: calc(100% + 6px);
1550
+ width: 4px;
1551
+ margin-top: -3px;
1552
+ margin-left: -2px;
1553
+ background-color: black;
1554
+ }
1555
+ .x-color-picker.with-alpha .sel {
1556
+ left: 4px;
1557
+ top: 4px;
1558
+ bottom: 34px;
1559
+ right: 34px;
1560
+ }
1561
+ .x-color-picker.with-alpha .hue {
1562
+ top: 4px;
1563
+ right: 4px;
1564
+ bottom: 34px;
1565
+ }
1566
+ .x-color-picker.with-alpha .hexv {
1567
+ bottom: 4px;
1568
+ left: 4px;
1569
+ width: 120px;
1570
+ }
1571
+ .x-color-picker.with-alpha .alpha {
1572
+ left: 130px;
1573
+ right: 4px;
1574
+ height: 24px;
1575
+ bottom: 4px;
1576
+ }
1577
+ .x-color-picker.with-alpha .transp,
1578
+ .x-color-picker.with-alpha .sample {
1579
+ display: none;
1580
+ }
1581
+ .x-color-picker.pal-mode {
1582
+ display: flex;
1583
+ gap: 1px;
1584
+ }
1585
+ .x-color-picker.pal-mode > .x-container {
1586
+ width: 100%;
1587
+ }
1588
+ .x-color-picker.pal-mode .hcol,
1589
+ .x-color-picker.pal-mode .vcol {
1590
+ justify-content: space-between;
1591
+ }
1592
+ .x-color-picker.pal-mode .hcol {
1593
+ min-height: 90px;
1594
+ margin-top: 40px;
1595
+ }
1596
+ .x-color-picker.pal-mode .hexv {
1597
+ bottom: 10px;
1598
+ left: 120px;
1599
+ right: 10px;
1600
+ width: unset;
1601
+ }
1602
+ .x-color-picker.pal-mode .transp {
1603
+ display: flex;
1604
+ }
1605
+ .x-color-picker.pal-mode #hsel {
1606
+ gap: 4px;
1607
+ flex-wrap: wrap;
1608
+ justify-content: center;
1609
+ }
1610
+ .x-color-picker.pal-mode #vsel {
1611
+ gap: 1px;
1612
+ margin-top: 10px;
1613
+ }
1614
+ .x-color-picker.pal-mode .clr-box {
1615
+ width: 19px;
1616
+ height: 10px;
1617
+ }
1618
+ .x-color-picker.pal-mode .hclr-box {
1619
+ height: 16px;
1620
+ min-width: 19px;
1621
+ font-size: 9px;
1622
+ line-height: 16px;
1623
+ text-align: center;
1624
+ }
1625
+ .x-color-picker.pal-mode .hclr-box.selected {
1626
+ border: 1px solid black;
1627
+ }
1628
+ .x-tree-view .x-scroll-view {
1629
+ margin: 4px;
1630
+ }
1631
+ .x-tree-view .x-tree-item {
1632
+ line-height: 1.5em;
1633
+ white-space: nowrap;
1634
+ overflow: hidden;
1635
+ align-items: center;
1636
+ }
1637
+ .x-tree-view .x-tree-item span {
1638
+ padding: 0 4px;
1639
+ }
1640
+ .x-tree-view .x-tree-item .tree-icon {
1641
+ width: 2em;
1642
+ color: #999;
1643
+ height: 0.8em;
1644
+ }
1645
+ .x-tree-view .x-tree-item.selected {
1646
+ background-color: var(--x4-selection-color);
1647
+ color: var(--x4-selection-text);
1648
+ }
1649
+ .x-tree-view .x-tree-item.selected .tree-icon {
1650
+ color: var(--x4-selection-text);
1651
+ }
1652
+ .x-tree-view .x-tree-item:hover {
1653
+ background-color: var(--x4-hover-color);
1654
+ color: var(--x4-hover-text);
1655
+ }
1656
+ .x-tree-view .x-tree-item:hover .tree-icon {
1657
+ color: var(--x4-hover-text);
1658
+ }
1659
+ .x-tree-view .x-tree-item .indent {
1660
+ position: absolute;
1661
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
1662
+ height: 100%;
1663
+ top: 0;
1664
+ }
1665
+ .x-tree-view .gadgets {
1666
+ border-top: 1px solid rgba(0, 0, 0, 0.5);
1667
+ background-color: rgba(0, 0, 0, 0.1);
1668
+ }
1669
+ .x-tree-view .gadgets .x-button {
1670
+ background-color: transparent;
1671
+ }
1672
+ .x-tree-view .gadgets .x-button:hover {
1673
+ background-color: white;
1674
+ }
1675
+ .x-tooltip.error {
1676
+ background-color: var(--x4-error-color);
1677
+ padding: 0 6px;
1678
+ margin-left: 3px;
1679
+ position: absolute;
1680
+ border: 1px solid rgba(0, 0, 0, 0.3);
1681
+ }
1682
+ .x-tooltip.error .x-label {
1683
+ background-color: transparent;
1684
+ color: white;
1685
+ font-size: inherit;
1686
+ padding: 0;
1687
+ }
1688
+ .x-tooltip.error .x-icon {
1689
+ display: none;
1690
+ }
1691
+ .x-text-edit.with-gadgets input {
1692
+ border-right: none;
1693
+ }
1694
+ .x-text-edit.with-gadgets > .x-icon {
1695
+ border: 1px solid rgba(0, 0, 0, 0.5);
1696
+ width: 1.5em;
1697
+ height: 100%;
1698
+ line-height: 1.8em;
1699
+ border-left: none;
1700
+ }
1701
+ .x-text-hiliter {
1702
+ overflow: hidden;
1703
+ }
1704
+ .x-text-hiliter textarea {
1705
+ font-family: monospace;
1706
+ font-size: var(--x4-font-size);
1707
+ padding: 2px;
1708
+ resize: none;
1709
+ outline: none;
1710
+ border: 1px solid transparent;
1711
+ width: 100%;
1712
+ color: transparent;
1713
+ background-color: transparent;
1714
+ color: var(--gray-900);
1715
+ -moz-tab-size: 4;
1716
+ -o-tab-size: 4;
1717
+ tab-size: 4;
1718
+ }
1719
+ .x-text-hiliter textarea:focus {
1720
+ border: 1px solid var(--x4-selection-color);
1721
+ }
1722
+ .x-text-hiliter .x-syntax-hiliter {
1723
+ font-family: monospace;
1724
+ font-size: var(--x4-font-size);
1725
+ padding: 2px;
1726
+ border: 1px solid transparent;
1727
+ overflow: hidden;
1728
+ white-space: pre;
1729
+ color: #5c5c5c;
1730
+ background-color: white;
1731
+ -moz-tab-size: 4;
1732
+ -o-tab-size: 4;
1733
+ tab-size: 4;
1734
+ }
1735
+ .x-text-hiliter .x-syntax-hiliter .num {
1736
+ color: #008000;
1737
+ }
1738
+ .x-text-hiliter .x-syntax-hiliter .kword {
1739
+ color: #000080;
1740
+ }
1741
+ .x-text-hiliter .x-syntax-hiliter .str {
1742
+ color: #8b0000;
1743
+ }
1744
+ .x-text-hiliter .x-syntax-hiliter .cmt {
1745
+ color: #8b008b;
1746
+ background-color: rgba(139, 0, 139, 0.2);
1747
+ }
1748
+ .x-text-hiliter .x-syntax-hiliter .punc {
1749
+ font-weight: bold;
1750
+ color: black;
1751
+ }
1752
+ .x-list-view.virtual .x-list-item {
1753
+ position: absolute;
1754
+ left: 0;
1755
+ right: 0;
1756
+ }
1757
+ .x-masonry {
1758
+ display: grid;
1759
+ grid-gap: 10px;
1760
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
1761
+ grid-auto-rows: 10px;
1762
+ }
1763
+ .x-tab-bar {
1764
+ border-bottom: 1px solid var(--gray-600);
1765
+ background-color: var(--gray-100);
1766
+ }
1767
+ .x-tab-bar > .x-button {
1768
+ border: none;
1769
+ color: var(--gray-600);
1770
+ }
1771
+ .x-tab-bar > .x-button.selected {
1772
+ font-weight: bold;
1773
+ border-bottom: none;
1774
+ color: var(--x4-selection-color);
1775
+ background-color: transparent;
1776
+ }
1777
+ .x-tab-bar > .x-button:focus:not(.selected) {
1778
+ text-decoration: underline;
1779
+ color: black;
1780
+ }