x4js 1.4.8 → 1.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/build.sh +5 -0
  2. package/lib/application.d.ts +15 -11
  3. package/lib/application.js +15 -11
  4. package/lib/base64.d.ts +15 -11
  5. package/lib/base64.js +15 -11
  6. package/lib/base_component.d.ts +18 -1
  7. package/lib/base_component.js +18 -1
  8. package/lib/button.d.ts +15 -11
  9. package/lib/button.js +15 -11
  10. package/lib/calendar.d.ts +15 -11
  11. package/lib/calendar.js +29 -22
  12. package/lib/canvas.d.ts +15 -11
  13. package/lib/canvas.js +15 -11
  14. package/lib/cardview.d.ts +15 -11
  15. package/lib/cardview.js +15 -11
  16. package/lib/checkbox.d.ts +17 -12
  17. package/lib/checkbox.js +18 -11
  18. package/lib/color.d.ts +15 -11
  19. package/lib/color.js +15 -11
  20. package/lib/colorpicker.d.ts +18 -11
  21. package/lib/colorpicker.js +18 -11
  22. package/lib/combobox.d.ts +15 -11
  23. package/lib/combobox.js +16 -12
  24. package/lib/component.d.ts +19 -15
  25. package/lib/component.js +19 -15
  26. package/lib/datastore.d.ts +15 -11
  27. package/lib/datastore.js +16 -12
  28. package/lib/dialog.d.ts +15 -11
  29. package/lib/dialog.js +19 -14
  30. package/lib/dom_events.d.ts +17 -1
  31. package/lib/dom_events.js +17 -1
  32. package/lib/drag_manager.d.ts +28 -0
  33. package/lib/drawtext.d.ts +15 -11
  34. package/lib/drawtext.js +15 -11
  35. package/lib/fileupload.d.ts +15 -11
  36. package/lib/fileupload.js +15 -11
  37. package/lib/form.d.ts +15 -11
  38. package/lib/form.js +15 -11
  39. package/lib/formatters.d.ts +15 -11
  40. package/lib/formatters.js +16 -11
  41. package/lib/gridview.d.ts +15 -11
  42. package/lib/gridview.js +59 -29
  43. package/lib/i18n.d.ts +15 -11
  44. package/lib/i18n.js +15 -11
  45. package/lib/icon.d.ts +20 -12
  46. package/lib/icon.js +107 -25
  47. package/lib/image.d.ts +15 -11
  48. package/lib/image.js +15 -11
  49. package/lib/index.d.ts +28 -0
  50. package/lib/index.js +28 -0
  51. package/lib/input.d.ts +15 -11
  52. package/lib/input.js +15 -11
  53. package/lib/label.d.ts +15 -11
  54. package/lib/label.js +15 -11
  55. package/lib/layout.d.ts +27 -17
  56. package/lib/layout.js +61 -18
  57. package/lib/link.d.ts +15 -11
  58. package/lib/link.js +15 -11
  59. package/lib/listview.d.ts +18 -14
  60. package/lib/listview.js +16 -23
  61. package/lib/md5.d.ts +16 -11
  62. package/lib/md5.js +16 -10
  63. package/lib/menu.d.ts +15 -11
  64. package/lib/menu.js +19 -12
  65. package/lib/messagebox.d.ts +15 -11
  66. package/lib/messagebox.js +17 -13
  67. package/lib/panel.d.ts +15 -11
  68. package/lib/panel.js +15 -11
  69. package/lib/popup.d.ts +15 -11
  70. package/lib/popup.js +20 -18
  71. package/lib/property_editor.d.ts +15 -11
  72. package/lib/property_editor.js +15 -11
  73. package/lib/radiobtn.d.ts +15 -11
  74. package/lib/radiobtn.js +15 -11
  75. package/lib/rating.d.ts +15 -11
  76. package/lib/rating.js +15 -11
  77. package/lib/request.d.ts +15 -11
  78. package/lib/request.js +16 -12
  79. package/lib/router.d.ts +28 -0
  80. package/lib/router.js +28 -0
  81. package/lib/settings.d.ts +15 -11
  82. package/lib/settings.js +15 -11
  83. package/lib/sidebarview.d.ts +15 -11
  84. package/lib/sidebarview.js +15 -11
  85. package/lib/smartedit.d.ts +15 -11
  86. package/lib/smartedit.js +15 -11
  87. package/lib/spreadsheet.d.ts +15 -11
  88. package/lib/spreadsheet.js +15 -11
  89. package/lib/styles.d.ts +16 -12
  90. package/lib/styles.js +21 -14
  91. package/lib/svgcomponent.d.ts +15 -11
  92. package/lib/svgcomponent.js +15 -11
  93. package/lib/tabbar.d.ts +17 -2
  94. package/lib/tabbar.js +17 -2
  95. package/lib/tabview.d.ts +15 -11
  96. package/lib/tabview.js +15 -11
  97. package/lib/textarea.d.ts +15 -11
  98. package/lib/textarea.js +15 -11
  99. package/lib/textedit.d.ts +15 -11
  100. package/lib/textedit.js +16 -12
  101. package/lib/texthiliter.d.ts +15 -11
  102. package/lib/texthiliter.js +15 -11
  103. package/lib/toaster.d.ts +15 -11
  104. package/lib/toaster.js +15 -11
  105. package/lib/tools.d.ts +15 -11
  106. package/lib/tools.js +17 -12
  107. package/lib/tooltips.d.ts +15 -11
  108. package/lib/tooltips.js +16 -12
  109. package/lib/treeview.d.ts +15 -11
  110. package/lib/treeview.js +15 -11
  111. package/{x4.css → lib/x4.css} +269 -106
  112. package/lib/x4_events.d.ts +17 -12
  113. package/lib/x4_events.js +24 -14
  114. package/package.json +5 -1
  115. package/src/MIT-license.md +14 -0
  116. package/src/application.ts +15 -11
  117. package/src/base64.ts +15 -11
  118. package/src/base_component.ts +18 -1
  119. package/src/button.ts +15 -11
  120. package/src/calendar.ts +30 -22
  121. package/src/canvas.ts +22 -18
  122. package/src/cardview.ts +15 -11
  123. package/src/checkbox.ts +21 -12
  124. package/src/color.ts +15 -11
  125. package/src/colorpicker.ts +19 -11
  126. package/src/combobox.ts +16 -12
  127. package/src/component.ts +21 -16
  128. package/src/datastore.ts +16 -12
  129. package/src/dialog.ts +19 -14
  130. package/src/dom_events.ts +17 -1
  131. package/src/drag_manager.ts +28 -0
  132. package/src/drawtext.ts +15 -11
  133. package/src/fileupload.ts +15 -11
  134. package/src/form.ts +15 -11
  135. package/src/formatters.ts +19 -12
  136. package/src/gridview.ts +76 -30
  137. package/src/i18n.ts +15 -11
  138. package/src/icon.ts +125 -33
  139. package/src/image.ts +15 -11
  140. package/src/index.ts +29 -0
  141. package/src/input.ts +15 -11
  142. package/src/label.ts +15 -11
  143. package/src/layout.ts +75 -20
  144. package/src/link.ts +15 -11
  145. package/src/listview.ts +18 -14
  146. package/src/md5.ts +16 -10
  147. package/src/menu.ts +19 -12
  148. package/src/messagebox.ts +17 -13
  149. package/src/panel.ts +15 -11
  150. package/src/popup.ts +20 -19
  151. package/src/property_editor.ts +15 -11
  152. package/src/radiobtn.ts +15 -11
  153. package/src/rating.ts +15 -11
  154. package/src/request.ts +16 -12
  155. package/src/router.ts +28 -0
  156. package/src/settings.ts +15 -11
  157. package/src/sidebarview.ts +15 -11
  158. package/src/smartedit.ts +15 -11
  159. package/src/spreadsheet.ts +15 -11
  160. package/src/styles.ts +23 -14
  161. package/src/svgcomponent.ts +15 -11
  162. package/src/tabbar.ts +17 -2
  163. package/src/tabview.ts +15 -11
  164. package/src/textarea.ts +15 -11
  165. package/src/textedit.ts +17 -13
  166. package/src/texthiliter.ts +15 -11
  167. package/src/toaster.ts +15 -11
  168. package/src/tools.ts +18 -12
  169. package/src/tooltips.ts +16 -12
  170. package/src/treeview.ts +15 -11
  171. package/src/x4.less +289 -120
  172. package/src/x4_events.ts +27 -16
  173. package/tsconfig.json +1 -1
package/src/x4.less CHANGED
@@ -1,8 +1,37 @@
1
- // out: ../x4.css
1
+ // out: ../lib/x4.css
2
+
3
+ /**
4
+ * ___ ___ __
5
+ * \ \_/ / / _
6
+ * \ / /_| |_
7
+ * / _ \____ _|
8
+ * /__/ \__\ |_|
9
+ *
10
+ * @file x4.less
11
+ * @author Etienne Cochard
12
+ *
13
+ * Copyright (c) 2019-2022 R-libre ingenierie
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
19
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
20
+ * subject to the following conditions:
21
+ * The above copyright notice and this permission notice shall be included in all copies
22
+ * or substantial portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
25
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
26
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
27
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+ **/
2
31
 
3
32
  :root {
4
- --x4-font: "sans serif";
5
- --x4-font-size: "13px";
33
+ --x4-font: "Inter";
34
+ --x4-font-size: 13px;
6
35
 
7
36
  --x4-base-color: #266888;
8
37
 
@@ -15,24 +44,33 @@
15
44
  --x4-form-color: white;
16
45
  --x4-tip-background: rgba(0,0,0,0.5);
17
46
 
18
- --x4-button-color: rgb(54,54,54);
19
- --x4-button-border-color: rgb(0,0,0);
20
-
47
+ --x4-button-color: white;
48
+ --x4-button-text-color: rgb(54,54,54);
49
+
21
50
  --x4-scrollbar-width: 6px;
22
51
  --x4-scrollbar-background: white;
23
52
  --x4-scrollbar-thumb: grey;
24
53
 
25
54
  --x4-sizer-size: 4px;
26
-
27
- --x4-panel-border-color: rgba(0,0,0,0.1);
55
+ --x4-default-border-color: rgba(0,0,0,0.1);
28
56
 
29
57
  // todo: svg
30
- --x4-icon-font-family: var( "fonteawesome" );
31
- --x4-icon-circle-exclamation: "\f06a";
32
- --x4-icon-chevron-right: "\f054";
33
- --x4-icon-window-restore: "\f2d2";
34
- --x4-icon-arrow-down-long: "\f175";
35
- --x4-icon-arrow-up-long: "\f176";;
58
+ --x4-icon-font-family: "fonteawesome";
59
+
60
+ --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>';
61
+ --x4-icon-chevron-right: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z"/></svg>';
62
+ --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>';
63
+ --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>';
64
+ --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>';
65
+ --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>';
66
+ --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>';
67
+ --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>';
68
+ --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>';
69
+ --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>';
70
+ --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>';
71
+ --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>';
72
+ --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>';
73
+ --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>';
36
74
  }
37
75
 
38
76
  @BLACK10: rgba(0,0,0,0.1);
@@ -59,6 +97,112 @@
59
97
  @WHITE90: rgba(255,255,255,0.9);
60
98
  @WHITE: #fff;
61
99
 
100
+ /* source: https://tailwindcss.com/docs/customizing-colors/#default-color-palette */
101
+ :root {
102
+ --black: #000000;
103
+ --white: #ffffff;
104
+
105
+ --gray-100: #f7fafc;
106
+ --gray-200: #edf2f7;
107
+ --gray-300: #e2e8f0;
108
+ --gray-400: #cbd5e0;
109
+ --gray-500: #a0aec0;
110
+ --gray-600: #718096;
111
+ --gray-700: #4a5568;
112
+ --gray-800: #2d3748;
113
+ --gray-900: #1a202c;
114
+
115
+ --red-100: #fff5f5;
116
+ --red-200: #fed7d7;
117
+ --red-300: #feb2b2;
118
+ --red-400: #fc8181;
119
+ --red-500: #f56565;
120
+ --red-600: #e53e3e;
121
+ --red-700: #c53030;
122
+ --red-800: #9b2c2c;
123
+ --red-900: #742a2a;
124
+
125
+ --orange-100: #fffaf0;
126
+ --orange-200: #feebc8;
127
+ --orange-300: #fbd38d;
128
+ --orange-400: #f6ad55;
129
+ --orange-500: #ed8936;
130
+ --orange-600: #dd6b20;
131
+ --orange-700: #c05621;
132
+ --orange-800: #9c4221;
133
+ --orange-900: #7b341e;
134
+
135
+ --yellow-100: #fffff0;
136
+ --yellow-200: #fefcbf;
137
+ --yellow-300: #faf089;
138
+ --yellow-400: #f6e05e;
139
+ --yellow-500: #ecc94b;
140
+ --yellow-600: #d69e2e;
141
+ --yellow-700: #b7791f;
142
+ --yellow-800: #975a16;
143
+ --yellow-900: #744210;
144
+
145
+ --green-100: #f0fff4;
146
+ --green-200: #c6f6d5;
147
+ --green-300: #9ae6b4;
148
+ --green-400: #68d391;
149
+ --green-500: #48bb78;
150
+ --green-600: #38a169;
151
+ --green-700: #2f855a;
152
+ --green-800: #276749;
153
+ --green-900: #22543d;
154
+
155
+ --teal-100: #e6fffa;
156
+ --teal-200: #b2f5ea;
157
+ --teal-300: #81e6d9;
158
+ --teal-400: #4fd1c5;
159
+ --teal-500: #38b2ac;
160
+ --teal-600: #319795;
161
+ --teal-700: #2c7a7b;
162
+ --teal-800: #285e61;
163
+ --teal-900: #234e52;
164
+
165
+ --blue-100: #ebf8ff;
166
+ --blue-200: #bee3f8;
167
+ --blue-300: #90cdf4;
168
+ --blue-400: #63b3ed;
169
+ --blue-500: #4299e1;
170
+ --blue-600: #3182ce;
171
+ --blue-700: #2b6cb0;
172
+ --blue-800: #2c5282;
173
+ --blue-900: #2a4365;
174
+
175
+ --indigo-100: #ebf4ff;
176
+ --indigo-200: #c3dafe;
177
+ --indigo-300: #a3bffa;
178
+ --indigo-400: #7f9cf5;
179
+ --indigo-500: #667eea;
180
+ --indigo-600: #5a67d8;
181
+ --indigo-700: #4c51bf;
182
+ --indigo-800: #434190;
183
+ --indigo-900: #3c366b;
184
+
185
+ --purple-100: #faf5ff;
186
+ --purple-200: #e9d8fd;
187
+ --purple-300: #d6bcfa;
188
+ --purple-400: #b794f4;
189
+ --purple-500: #9f7aea;
190
+ --purple-600: #805ad5;
191
+ --purple-700: #6b46c1;
192
+ --purple-800: #553c9a;
193
+ --purple-900: #44337a;
194
+
195
+ --pink-100: #fff5f7;
196
+ --pink-200: #fed7e2;
197
+ --pink-300: #fbb6ce;
198
+ --pink-400: #f687b3;
199
+ --pink-500: #ed64a6;
200
+ --pink-600: #d53f8c;
201
+ --pink-700: #b83280;
202
+ --pink-800: #97266d;
203
+ --pink-900: #702459;
204
+ }
205
+
62
206
  .x4-root-element {
63
207
  padding: 0;
64
208
  margin: 0;
@@ -226,8 +370,13 @@ textarea {
226
370
  flex-direction: column;
227
371
 
228
372
  &.x-svg-icon {
229
- width: 1em;
230
- height: 1em;
373
+ width: 1rem;
374
+ height: 1rem;
375
+
376
+ & > svg {
377
+ width: 100%;
378
+ height: 100%;
379
+ }
231
380
  }
232
381
  }
233
382
 
@@ -238,28 +387,23 @@ textarea {
238
387
  outline: none;
239
388
  cursor: pointer;
240
389
 
241
- height: 2.5em;
390
+ height: 2rem;
242
391
  padding: 8px;
243
- border: 1px solid var( --x4-button-border-color );
244
392
  overflow: hidden;
245
393
 
394
+ border: 1px solid var( --x4-default-border-color );
246
395
  background-color: var( --x4-button-color );
247
- color: @WHITE60;
396
+ color: var( --x4-button-text-color );
248
397
 
249
398
  .x-icon {
250
399
  margin: 0 4px;
251
400
  color: inherit;
252
401
  }
253
402
 
254
- &:not(.x-disable) {
255
- &:focus {
256
- border-color: white;
257
- }
258
-
259
- &.x-active {
260
- color: white;
261
- background-color: @WHITE20;
262
- }
403
+ &:focus {
404
+ border-color: var( --x4-focus-color );
405
+ background-color: var( --x4-focus-color );
406
+ color: white;
263
407
  }
264
408
 
265
409
  &.x-disable {
@@ -393,7 +537,7 @@ textarea {
393
537
  }
394
538
 
395
539
  padding: 4px;
396
- color: @BLACK80;
540
+ color: var( --gray-900 );
397
541
  margin-top: 1px; // hack alignement label / edit
398
542
  line-height: 1.3em;
399
543
  min-height: 2em;
@@ -406,34 +550,35 @@ textarea {
406
550
  outline: none;
407
551
  border: none;
408
552
  padding: 4px;
409
- color: @BLACK90;
410
- background-color: @WHITE25;
553
+ color: var( --gray-900 );
411
554
  border-bottom: 1px solid transparent;
412
555
  margin-top: 1px; // hack alignement label / edit
413
556
  line-height: 1.3em;
414
557
 
415
558
  &::placeholder {
416
- color: @WHITE50;
559
+ color: var( --gray-800 );
417
560
  }
418
561
 
419
562
  &::selection {
420
563
  background-color: var( --x4-selection-color );
421
564
  color: #fff;
422
565
  }
423
- }
424
566
 
425
- &:focus {
426
- outline: none;
567
+ &:focus {
568
+ border-bottom-color: var( --x4-focus-color );
569
+ }
570
+ }
427
571
 
572
+ &:focus-within {
428
573
  &> .x-label {
429
574
  color: var( --x4-focus-color );
430
575
  }
431
576
  }
432
577
 
433
578
  .x-button.gadget {
434
-
579
+ background-color: transparent;
435
580
  font-size: var( --x4-font-size );
436
- background-color: @BLACK10;
581
+ color: var( --gray-900 );
437
582
  border: none;
438
583
 
439
584
  margin: 0;
@@ -441,9 +586,12 @@ textarea {
441
586
  height: 2em;
442
587
  margin-top: 1px;
443
588
 
444
- .x-icon {
445
- font-size: 85%;
446
- padding-right: 2px;
589
+ &:hover {
590
+ background-color: transparent;
591
+ }
592
+
593
+ &:focus {
594
+ color: var( --x4-focus-color );
447
595
  }
448
596
  }
449
597
 
@@ -477,15 +625,6 @@ textarea {
477
625
  position: absolute;
478
626
  top: -2px;
479
627
  z-index: 1;
480
-
481
- &:before {
482
- font-family: var( --x4-icon-font-family );
483
- content: var( --x4-icon-circle-exclamation );
484
- padding-right: 3px;
485
- position: absolute;
486
- left: 1px;
487
- top: 6px;
488
- }
489
628
  }
490
629
 
491
630
  &.x-required .label1:before {
@@ -501,6 +640,14 @@ textarea {
501
640
  }
502
641
  }
503
642
 
643
+ .x-text-edit {
644
+ // align with combo
645
+ .x-button.gadget {
646
+ margin-left:1 px;
647
+ margin-right:1 px;
648
+ }
649
+ }
650
+
504
651
  .x-combo-box {
505
652
 
506
653
  &> .x-label {
@@ -595,9 +742,10 @@ textarea {
595
742
 
596
743
  }
597
744
 
745
+ .x-radio-btn,
598
746
  .x-check-box {
599
747
  align-items: center;
600
- color: @BLACK80;
748
+ color: var( --gray-900 );
601
749
  outline: none;
602
750
  //min-height: 2em;
603
751
  padding: 4px 0;
@@ -702,7 +850,7 @@ textarea {
702
850
  outline: none;
703
851
 
704
852
  background-color: transparent;
705
- color: @BLACK80;
853
+ color: var( --gray-900 );
706
854
 
707
855
  padding: 0px 8px;
708
856
  min-width: 120px;
@@ -711,7 +859,7 @@ textarea {
711
859
  .x-icon {
712
860
  width: 1em;
713
861
  margin-right: 8px;
714
- color: @BLACK30;
862
+ color: var( --gray-700 );
715
863
  }
716
864
 
717
865
  .x-label {
@@ -720,22 +868,13 @@ textarea {
720
868
 
721
869
  &:hover {
722
870
  background-color: #c6d3d9;
723
- color: black;
871
+ color: var( --gray-900 );
724
872
  .x-icon {
725
- color: black;
873
+ color: var( --gray-900 );
726
874
  }
727
875
  }
728
876
  }
729
877
 
730
-
731
- .x-popup-menu-item {
732
- &:after {
733
- content: var( --x4-icon-chevron-right );
734
- font-family: var( --x4-icon-font-family );
735
- font-size: 80%;
736
- }
737
- }
738
-
739
878
  .x-menu-separator {
740
879
  margin-top: 4px;
741
880
  border-top: 1px solid @BLACK10;
@@ -792,11 +931,7 @@ textarea {
792
931
 
793
932
  .x-list-view {
794
933
 
795
- border: 1px solid transparent;
796
-
797
- &:focus {
798
- outline: none;
799
- }
934
+ border: 1px solid var( --x4-default-border-color );
800
935
 
801
936
  .x-list-item {
802
937
  padding: 4px;
@@ -818,6 +953,11 @@ textarea {
818
953
  }
819
954
  }
820
955
 
956
+ &:focus {
957
+ outline: none;
958
+ border-color: var( --x4-focus-color );
959
+ }
960
+
821
961
  .gadgets {
822
962
  border-top: 1px solid @BLACK50;
823
963
  background-color: @BLACK10;
@@ -852,6 +992,9 @@ textarea {
852
992
  position: absolute;
853
993
  z-index: 1000;
854
994
 
995
+ font-family: var( --x4-font );
996
+ font-size: var( --x4-font-size );
997
+
855
998
  &:focus {
856
999
  outline: none;
857
1000
  }
@@ -873,11 +1016,11 @@ textarea {
873
1016
  border: none;
874
1017
  box-shadow: none;
875
1018
  &:focus {
876
- color: black;
1019
+ color: var( --gray-900 );
877
1020
  }
878
1021
  }
879
1022
 
880
- border-bottom: 1px solid var( --x4-panel-border-color );
1023
+ border-bottom: 1px solid var( --x4-default-border-color );
881
1024
  }
882
1025
 
883
1026
  &>.body {
@@ -887,19 +1030,23 @@ textarea {
887
1030
  }
888
1031
 
889
1032
  .x-dialog {
890
-
891
1033
  border: 0.5px solid @BLACK20;
1034
+
892
1035
  .z-float-8;
893
1036
 
894
1037
  & > .title {
895
- height: 3rem;
1038
+ height: 2rem;
896
1039
  color: white;
897
1040
  padding: 0 8px;
898
1041
  display: flex;
899
1042
  align-items: center;
1043
+ background-color: var( --x4-selection-color );
900
1044
 
901
1045
  .x-icon {
902
- width: 1.7em;
1046
+ width: 2em;
1047
+ height: 1.9em;
1048
+ padding: 4px;
1049
+
903
1050
  text-align: center;
904
1051
  cursor: pointer;
905
1052
 
@@ -908,15 +1055,29 @@ textarea {
908
1055
  }
909
1056
  }
910
1057
 
1058
+ .x-icon.close-btn:hover {
1059
+ background-color: var( --x4-error-color );
1060
+ color: white;
1061
+ }
1062
+
911
1063
  .x-label {
912
1064
  border-bottom: none;
913
1065
  padding: 0;
914
1066
  }
1067
+
1068
+ .res-btn {
1069
+ display: none;
1070
+ }
915
1071
  }
916
1072
 
917
1073
  &.maximized > .title {
918
- .max-btn:before {
919
- content: var( --x4-icon-window-restore );
1074
+ .min-btn,
1075
+ .max-btn {
1076
+ display: none;
1077
+ }
1078
+
1079
+ .res-btn {
1080
+ display: block;
920
1081
  }
921
1082
  }
922
1083
 
@@ -1028,13 +1189,16 @@ textarea {
1028
1189
 
1029
1190
  .x-form {
1030
1191
  background-color: var( --x4-form-color );
1031
- padding: 8px;
1192
+ margin-block-end: 0;
1193
+ padding: 8px 0;
1032
1194
  min-width: 250px;
1033
1195
  min-height: 50px;
1034
- overflow: auto;
1035
-
1196
+ padding-right: 4px;
1197
+
1036
1198
  &>.container {
1037
1199
  padding: 0px;
1200
+ overflow: auto;
1201
+ padding: 0 4px 0 8px;
1038
1202
  }
1039
1203
 
1040
1204
  &>.footer {
@@ -1043,7 +1207,7 @@ textarea {
1043
1207
  bottom: 0;
1044
1208
  width: 100%;
1045
1209
  justify-content: flex-end;
1046
- padding: 0px;
1210
+ padding: 0px 4px 0 8px;
1047
1211
  margin-top: 8px;
1048
1212
  align-items: center;
1049
1213
 
@@ -1057,22 +1221,6 @@ textarea {
1057
1221
  }
1058
1222
  }
1059
1223
 
1060
- .x-button {
1061
- background-color: @WHITE25;
1062
- border-color: transparent;
1063
- font-family: var( --x4-font );
1064
- font-size: var( --x4-font-size );
1065
-
1066
- .x-icon {
1067
- width: 1.5em;
1068
- }
1069
-
1070
- &:focus {
1071
- border-color: @WHITE40;
1072
- color: black;
1073
- }
1074
- }
1075
-
1076
1224
  .x-hidden {
1077
1225
  display: none ! important;
1078
1226
  }
@@ -1179,7 +1327,7 @@ textarea {
1179
1327
  padding: 4px;
1180
1328
  white-space: nowrap;
1181
1329
  //min-width: 50px;
1182
- color: black;
1330
+ color: var( --gray-900 );
1183
1331
  height: @def-height;
1184
1332
  }
1185
1333
 
@@ -1195,25 +1343,40 @@ textarea {
1195
1343
  }
1196
1344
 
1197
1345
  .x-cell {
1198
- text-overflow: ellipsis;
1199
1346
  border-right: 1px solid rgba(0,0,0,0.1);
1200
- //text-transform: capitalize;
1201
1347
  height: unset;
1202
1348
 
1203
- &.sort:before {
1204
- content: var( --x4-icon-arrow-down-long );
1205
- font-family: var( --x4-icon-font-family );
1206
- padding-right: 4px;
1349
+ span {
1350
+ min-width: 0;
1351
+ text-transform: uppercase;
1352
+ text-overflow: ellipsis;
1353
+ overflow: hidden;
1354
+ font-weight: bold;
1355
+ }
1356
+
1357
+ &.sort {
1358
+ background-image: var( --x4-icon-arrow-down-long );
1359
+ background-repeat: no-repeat;
1360
+ background-size: 1rem 1rem;
1361
+ background-position: right 0 top 6px;
1362
+ padding-right: calc( 1rem + 4px );
1363
+ height: 0.7rem;
1364
+ opacity: 0.7;
1207
1365
  }
1208
1366
 
1209
- &.sort.desc:before {
1210
- content: var( --x4-icon-arrow-up-long );
1211
- font-family: var( --x4-icon-font-family );
1212
- padding-right: 4px;
1367
+ &.sort.desc {
1368
+ background-image: var( --x4-icon-arrow-up-long );
1213
1369
  }
1214
1370
  }
1215
1371
  }
1216
1372
 
1373
+ .x-header {
1374
+ .x-cell {
1375
+ display: flex;
1376
+ align-items: center;
1377
+ }
1378
+ }
1379
+
1217
1380
  .x-row {
1218
1381
  position: absolute;
1219
1382
  width: 100%;
@@ -1378,19 +1541,17 @@ textarea {
1378
1541
  pointer-events: none;
1379
1542
 
1380
1543
  background-color: white;
1381
- //border: 1px solid fadeout(darken(#2e404f,5%),10%);
1382
1544
  color: white;
1383
- //padding: 4px 8px;
1384
1545
  padding-left: 24px;
1385
1546
 
1386
- font-size: 0.8rem;
1387
- font-weight: 300;
1388
-
1547
+ font-family: var( --x4-font );
1548
+ font-size: var( --x4-font-size );
1549
+
1389
1550
  .x-icon {
1390
1551
  position: absolute;
1391
- left: 6px;
1552
+ left: 5px;
1392
1553
  top: 7px;
1393
- color: var( --x4-tip-background );
1554
+ color: var( --x4-selection-color );
1394
1555
  }
1395
1556
 
1396
1557
  .x-label {
@@ -1442,6 +1603,7 @@ textarea {
1442
1603
 
1443
1604
 
1444
1605
  .x-popup-list-view {
1606
+ .z-float-4( );
1445
1607
  background-color: white;
1446
1608
 
1447
1609
  .x-combo-popup {
@@ -1456,7 +1618,7 @@ textarea {
1456
1618
  }
1457
1619
 
1458
1620
  overflow: auto;
1459
- color: black;
1621
+ color: var( --gray-900 );
1460
1622
  }
1461
1623
  }
1462
1624
 
@@ -1491,7 +1653,7 @@ textarea {
1491
1653
 
1492
1654
  .x-button {
1493
1655
  height: auto;
1494
- color: black;
1656
+ color: var( --gray-900 );
1495
1657
  }
1496
1658
 
1497
1659
  margin-bottom: 8px;
@@ -1499,16 +1661,16 @@ textarea {
1499
1661
 
1500
1662
  .week {
1501
1663
  align-items: center;
1502
- //border-bottom: 1px solid @BLACK10;
1664
+ border: 1px solid transparent;
1503
1665
 
1504
1666
  &:hover {
1505
- background-color: var( --x4-hover-color );
1667
+ border-color: var( --x4-hover-color );
1506
1668
  border-radius: 4px;
1507
1669
  }
1508
1670
 
1509
1671
  .cell {
1510
1672
  height: 100%;
1511
- color: @BLACK70;
1673
+ color: var( --gray-900 );
1512
1674
  text-align: center;
1513
1675
  span {
1514
1676
  margin: auto;
@@ -1549,7 +1711,7 @@ textarea {
1549
1711
 
1550
1712
  .header {
1551
1713
  .cell {
1552
- color: @BLACK50;
1714
+ color: var( --gray-800 );
1553
1715
  height: 1.5em;
1554
1716
  }
1555
1717
 
@@ -1922,7 +2084,7 @@ textarea {
1922
2084
 
1923
2085
  color: transparent;
1924
2086
  background-color: transparent;
1925
- caret-color: black;
2087
+ color: var( --gray-900 );
1926
2088
 
1927
2089
  -moz-tab-size : 4;
1928
2090
  -o-tab-size : 4;
@@ -1973,4 +2135,11 @@ textarea {
1973
2135
  left: 0;
1974
2136
  right: 0;
1975
2137
  }
2138
+ }
2139
+
2140
+ .x-masonry {
2141
+ display: grid;
2142
+ grid-gap: 10px;
2143
+ grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
2144
+ grid-auto-rows: 10px;
1976
2145
  }