datafolder 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +169 -0
  2. package/index.js +3 -0
  3. package/package.json +27 -0
  4. package/sample.js +37 -0
  5. package/scripts/airbnb.js +73 -0
  6. package/scripts/airbnb2.js +74 -0
  7. package/scripts/airbnb2_queries.js +231 -0
  8. package/scripts/airbnb_queries.js +264 -0
  9. package/scripts/downloadFile.js +42 -0
  10. package/scripts/express.js +46 -0
  11. package/scripts/fastify.js +79 -0
  12. package/scripts/flights.js +75 -0
  13. package/scripts/flights2.js +81 -0
  14. package/scripts/flights2_queries.js +453 -0
  15. package/scripts/flights_queries.js +403 -0
  16. package/src/QyAcl.js +252 -0
  17. package/src/QyAclSaver.js +14 -0
  18. package/src/QyAclSaver_Worker.js +29 -0
  19. package/src/QyAclWriter.js +19 -0
  20. package/src/QyBatch.js +501 -0
  21. package/src/QyBinWriter.js +140 -0
  22. package/src/QyCD.js +61 -0
  23. package/src/QyCache.js +212 -0
  24. package/src/QyCompressor.js +60 -0
  25. package/src/QyCompressor_Worker.js +13 -0
  26. package/src/QyDB.js +122 -0
  27. package/src/QyDefaultOptions.js +59 -0
  28. package/src/QyDir.js +192 -0
  29. package/src/QyFetch.js +38 -0
  30. package/src/QyFile.js +124 -0
  31. package/src/QyFileContentUtils.js +175 -0
  32. package/src/QyFileLogger.js +58 -0
  33. package/src/QyIndex.js +237 -0
  34. package/src/QyIndexPropTree.js +92 -0
  35. package/src/QyIntersectNode.js +48 -0
  36. package/src/QyItem.js +105 -0
  37. package/src/QyJsonSaver.js +20 -0
  38. package/src/QyKVData.js +289 -0
  39. package/src/QyKVDataCleaner.js +17 -0
  40. package/src/QyKVDataCleaner_Worker.js +94 -0
  41. package/src/QyKVDataLoader.js +65 -0
  42. package/src/QyKVDataSaver.js +17 -0
  43. package/src/QyKVDataSaver_Worker.js +81 -0
  44. package/src/QyLogFileSaver.js +14 -0
  45. package/src/QyLogFileSaver_Worker.js +26 -0
  46. package/src/QyLogger.js +76 -0
  47. package/src/QyMessageWorker.js +41 -0
  48. package/src/QyMessager.js +84 -0
  49. package/src/QyMessager_Run.js +13 -0
  50. package/src/QyMod.js +15 -0
  51. package/src/QyOpRunner.js +73 -0
  52. package/src/QyQueue.js +60 -0
  53. package/src/QySaver.js +83 -0
  54. package/src/QySnapshotCompactor.js +17 -0
  55. package/src/QySnapshotCompactor_Worker.js +151 -0
  56. package/src/QySnapshotSaver.js +17 -0
  57. package/src/QySnapshotSaver_Worker.js +164 -0
  58. package/src/QySnapshots.js +354 -0
  59. package/src/QyStructure.js +50 -0
  60. package/src/QyTrigger.js +133 -0
  61. package/src/QyUnionNode.js +105 -0
  62. package/src/QyUtils.js +250 -0
  63. package/src/QyWorker.js +33 -0
  64. package/src/hackernews.js +93 -0
  65. package/src/rpc/evalCode.js +9 -0
  66. package/src/rpc/getFileContent.js +16 -0
  67. package/src/rpc/getSubItems.js +32 -0
  68. package/src/rpc/queryFiles.js +33 -0
  69. package/src/rpc/reloadRpc.js +1 -0
  70. package/src/simulate.js +114 -0
  71. package/src/simulate2.js +110 -0
  72. package/src/soc_pokec.js +43 -0
  73. package/static/bootstrap-5.3.8-dist/css/bootstrap.min.css +6 -0
  74. package/static/bootstrap-5.3.8-dist/js/bootstrap.bundle.js +6312 -0
  75. package/static/datafolderui/QyStyledElement.js +30 -0
  76. package/static/datafolderui/QyUIFolderTree.js +203 -0
  77. package/static/datafolderui/QyUIUtils.js +42 -0
  78. package/static/datafolderui/display-tree.js +108 -0
  79. package/static/datafolderui/explore-tree.js +122 -0
  80. package/static/datafolderui/folder-tree.js +5 -0
  81. package/static/datafolderui/hscrpt.js +25 -0
  82. package/static/datafolderui/index.css +6 -0
  83. package/static/datafolderui/index.html +20 -0
  84. package/static/datafolderui/json-view.js +74 -0
  85. package/static/datafolderui/kv-input.js +66 -0
  86. package/static/datafolderui/list-input.js +52 -0
  87. package/static/datafolderui/main-page.js +98 -0
  88. package/static/datafolderui/num-input.js +27 -0
  89. package/static/datafolderui/query-editor.js +229 -0
  90. package/static/datafolderui/querySelectorShadowRoot.js +24 -0
  91. package/static/datafolderui/resizable-input.js +67 -0
  92. package/static/favicon.ico +0 -0
  93. package/static/icons-1.13.1/font/bootstrap-icons.min.css +5 -0
  94. package/static/icons-1.13.1/font/fonts/bootstrap-icons.woff +0 -0
  95. package/static/icons-1.13.1/font/fonts/bootstrap-icons.woff2 +0 -0
  96. package/static/json-view/dist/jsonview.js +433 -0
  97. package/static/tree.js/tree.css +106 -0
  98. package/static/tree.js/tree.js +374 -0
  99. package/static/w2ui/dist/w2ui.min.css +2 -0
  100. package/static/w2ui/src/less/icons/icons.json +1 -0
  101. package/static/w2ui/src/less/icons/preview.html +33 -0
  102. package/static/w2ui/src/less/icons/readme.md +15 -0
  103. package/static/w2ui/src/less/icons/svg/box.svg +3 -0
  104. package/static/w2ui/src/less/icons/svg/check.svg +3 -0
  105. package/static/w2ui/src/less/icons/svg/colors.svg +3 -0
  106. package/static/w2ui/src/less/icons/svg/columns.svg +5 -0
  107. package/static/w2ui/src/less/icons/svg/cross.svg +4 -0
  108. package/static/w2ui/src/less/icons/svg/drop.svg +6 -0
  109. package/static/w2ui/src/less/icons/svg/empty.svg +3 -0
  110. package/static/w2ui/src/less/icons/svg/eye-dropper.svg +4 -0
  111. package/static/w2ui/src/less/icons/svg/info.svg +8 -0
  112. package/static/w2ui/src/less/icons/svg/paste.svg +4 -0
  113. package/static/w2ui/src/less/icons/svg/pencil.svg +5 -0
  114. package/static/w2ui/src/less/icons/svg/plus.svg +3 -0
  115. package/static/w2ui/src/less/icons/svg/reload.svg +5 -0
  116. package/static/w2ui/src/less/icons/svg/search.svg +3 -0
  117. package/static/w2ui/src/less/icons/svg/settings.svg +8 -0
  118. package/static/w2ui/src/less/icons/w2ui-font.css +36 -0
  119. package/static/w2ui/src/less/icons/w2ui-font.woff +0 -0
  120. package/static/w2ui/src/less/src/buttons.less +184 -0
  121. package/static/w2ui/src/less/src/common.less +541 -0
  122. package/static/w2ui/src/less/src/fields.less +302 -0
  123. package/static/w2ui/src/less/src/form.less +319 -0
  124. package/static/w2ui/src/less/src/grid.less +1057 -0
  125. package/static/w2ui/src/less/src/icons.less +37 -0
  126. package/static/w2ui/src/less/src/layout.less +86 -0
  127. package/static/w2ui/src/less/src/mixins.less +87 -0
  128. package/static/w2ui/src/less/src/popup.less +277 -0
  129. package/static/w2ui/src/less/src/sidebar.less +343 -0
  130. package/static/w2ui/src/less/src/tabs.less +145 -0
  131. package/static/w2ui/src/less/src/toolbar.less +219 -0
  132. package/static/w2ui/src/less/src/tooltip.less +948 -0
  133. package/static/w2ui/src/less/w2ui.less +196 -0
  134. package/static/w2ui/src/locale/az-az.json +114 -0
  135. package/static/w2ui/src/locale/ba-ba.json +114 -0
  136. package/static/w2ui/src/locale/bg-bg.json +114 -0
  137. package/static/w2ui/src/locale/ca-es.json +114 -0
  138. package/static/w2ui/src/locale/da-dk.json +114 -0
  139. package/static/w2ui/src/locale/de-de.json +114 -0
  140. package/static/w2ui/src/locale/en-gb.json +17 -0
  141. package/static/w2ui/src/locale/en-us.json +17 -0
  142. package/static/w2ui/src/locale/es-ar.json +115 -0
  143. package/static/w2ui/src/locale/es-cr.json +119 -0
  144. package/static/w2ui/src/locale/es-es.json +114 -0
  145. package/static/w2ui/src/locale/es-mx.json +114 -0
  146. package/static/w2ui/src/locale/fr-fr.json +114 -0
  147. package/static/w2ui/src/locale/gl-es.json +114 -0
  148. package/static/w2ui/src/locale/hr-hr.json +114 -0
  149. package/static/w2ui/src/locale/hu-hu.json +114 -0
  150. package/static/w2ui/src/locale/id-id.json +114 -0
  151. package/static/w2ui/src/locale/it-it.json +114 -0
  152. package/static/w2ui/src/locale/ja-jp.json +114 -0
  153. package/static/w2ui/src/locale/kk-kz.json +116 -0
  154. package/static/w2ui/src/locale/ko-kr.json +114 -0
  155. package/static/w2ui/src/locale/lt-lt.json +114 -0
  156. package/static/w2ui/src/locale/nl-nl.json +114 -0
  157. package/static/w2ui/src/locale/no-no.json +114 -0
  158. package/static/w2ui/src/locale/pl-pl.json +114 -0
  159. package/static/w2ui/src/locale/pt-br.json +114 -0
  160. package/static/w2ui/src/locale/ru-ru.json +116 -0
  161. package/static/w2ui/src/locale/sk-sk.json +114 -0
  162. package/static/w2ui/src/locale/sl-si.json +116 -0
  163. package/static/w2ui/src/locale/sr-rs.json +114 -0
  164. package/static/w2ui/src/locale/tr-tr.json +114 -0
  165. package/static/w2ui/src/locale/uk-ua.json +114 -0
  166. package/static/w2ui/src/locale/zh-cn.json +114 -0
  167. package/static/w2ui/src/locale/zh-tw.json +114 -0
  168. package/static/w2ui/src/query.js +583 -0
  169. package/static/w2ui/src/readme.md +11 -0
  170. package/static/w2ui/src/w2base.js +311 -0
  171. package/static/w2ui/src/w2compat.js +207 -0
  172. package/static/w2ui/src/w2field.js +1854 -0
  173. package/static/w2ui/src/w2form.js +2411 -0
  174. package/static/w2ui/src/w2grid.js +8916 -0
  175. package/static/w2ui/src/w2layout.js +1194 -0
  176. package/static/w2ui/src/w2locale.js +129 -0
  177. package/static/w2ui/src/w2popup.js +909 -0
  178. package/static/w2ui/src/w2sidebar.js +1769 -0
  179. package/static/w2ui/src/w2tabs.js +669 -0
  180. package/static/w2ui/src/w2toolbar.js +1180 -0
  181. package/static/w2ui/src/w2tooltip.js +3134 -0
  182. package/static/w2ui/src/w2utils.js +2457 -0
@@ -0,0 +1,37 @@
1
+ @font-face {
2
+ font-family: "w2ui-font";
3
+ src: url("data:application/x-font-woff;charset=utf-8;base64,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") format("woff");
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+ [class^="w2ui-icon-"]:before,
8
+ [class*=" w2ui-icon-"]:before {
9
+ font-family: "w2ui-font";
10
+ display: inline-block;
11
+ vertical-align: middle;
12
+ line-height: 1;
13
+ margin-top: 0px;
14
+ font-weight: normal;
15
+ font-style: normal;
16
+ speak: none;
17
+ text-decoration: inherit;
18
+ text-transform: none;
19
+ text-rendering: optimizeLegibility;
20
+ -webkit-font-smoothing: antialiased;
21
+ -moz-osx-font-smoothing: grayscale;
22
+ }
23
+ .w2ui-icon-box:before { content: "A" }
24
+ .w2ui-icon-check:before { content: "B" }
25
+ .w2ui-icon-colors:before { content: "C" }
26
+ .w2ui-icon-columns:before { content: "D" }
27
+ .w2ui-icon-cross:before { content: "E" }
28
+ .w2ui-icon-drop:before { content: "F" }
29
+ .w2ui-icon-empty:before { content: "G" }
30
+ .w2ui-icon-eye-dropper:before { content: "H" }
31
+ .w2ui-icon-info:before { content: "I" }
32
+ .w2ui-icon-paste:before { content: "J" }
33
+ .w2ui-icon-pencil:before { content: "K" }
34
+ .w2ui-icon-plus:before { content: "L" }
35
+ .w2ui-icon-reload:before { content: "M" }
36
+ .w2ui-icon-search:before { content: "N" }
37
+ .w2ui-icon-settings:before { content: "O" }
@@ -0,0 +1,86 @@
1
+ /*************************************************
2
+ * ---- Layout ----
3
+ */
4
+
5
+ .w2ui-layout {
6
+ position: relative;
7
+ overflow: hidden;
8
+
9
+ > div {
10
+ position: absolute;
11
+ overflow: hidden;
12
+ left: 0;
13
+ top: 0;
14
+ right: 0;
15
+ bottom: 0;
16
+
17
+ .w2ui-panel {
18
+ display: none;
19
+ position: absolute;
20
+ z-index: 120;
21
+
22
+ .w2ui-panel-title {
23
+ position: absolute;
24
+ left: 0px;
25
+ top: 0px;
26
+ right: 0px;
27
+ padding: 5px;
28
+ .linear-gradient-vertical(@layout-title-linear-gradient-start, @layout-title-linear-gradient-end);
29
+ color: #656164cc;
30
+ border: @layout-title-border;
31
+ border-bottom: @layout-title-border-bottom;
32
+ }
33
+
34
+ .w2ui-panel-tabs {
35
+ position: absolute;
36
+ left: 0px;
37
+ top: 0px;
38
+ right: 0px;
39
+ z-index: 2;
40
+ display: none;
41
+ overflow: hidden;
42
+ background-color: #fff;
43
+ padding: 0px;
44
+
45
+ > .w2ui-tab.active {
46
+ background-color : @layout-background-color;
47
+ }
48
+ }
49
+
50
+ .w2ui-panel-toolbar {
51
+ position: absolute;
52
+ left: 0px;
53
+ top: 0px;
54
+ right: 0px;
55
+ z-index: 2;
56
+ display: none;
57
+ overflow: hidden;
58
+ background-color: @layout-toolbar-background-color;
59
+ border-bottom: 1px solid #efefef;
60
+ padding: 2px;
61
+ }
62
+
63
+ .w2ui-panel-content {
64
+ position: absolute;
65
+ left: 0px;
66
+ top: 0px;
67
+ right: 0px;
68
+ bottom: 0px;
69
+ z-index: 1;
70
+ color: @layout-color;
71
+ background-color : @layout-background-color;
72
+ }
73
+ }
74
+
75
+ .w2ui-resizer {
76
+ display: none;
77
+ position: absolute;
78
+ z-index: 121;
79
+ background-color: @layout-resizer-background-color;
80
+
81
+ &:hover, &.active {
82
+ background-color: @layout-resizer-hover-background-color;
83
+ }
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,87 @@
1
+ // *************************************************
2
+ // ---- Mixins ----
3
+ //
4
+
5
+ .box-shadow (@value : none) {
6
+ -webkit-box-shadow : @value;
7
+ -moz-box-shadow : @value;
8
+ -ms-box-shadow : @value;
9
+ -o-box-shadow : @value;
10
+ box-shadow : @value;
11
+ }
12
+
13
+ .box-sizing (@value : border-box) {
14
+ -webkit-box-sizing : @value;
15
+ -moz-box-sizing : @value;
16
+ -ms-box-sizing : @value;
17
+ -o-box-sizing : @value;
18
+ box-sizing : @value;
19
+ }
20
+
21
+ .user-select (@value : none) {
22
+ -webkit-user-select : @value;
23
+ -moz-user-select : @value;
24
+ -ms-user-select : @value;
25
+ -o-user-select : @value;
26
+ user-select : @value;
27
+ }
28
+
29
+ .transform-rotate (@value : 0deg) {
30
+ -webkit-transform : rotate(@value);
31
+ -moz-transform : rotate(@value);
32
+ -ms-transform : rotate(@value);
33
+ -o-transform : rotate(@value);
34
+ transform : rotate(@value);
35
+ }
36
+
37
+ .transform (@value : none) {
38
+ -webkit-transform : @value;
39
+ -moz-transform : @value;
40
+ -ms-transform : @value;
41
+ -o-transform : @value;
42
+ transform : @value;
43
+ }
44
+
45
+ .transition (@property : all, @time : 0s) {
46
+ -webkit-transition : @property @time;
47
+ -moz-transition : @property @time;
48
+ -ms-transition : @property @time;
49
+ -o-transition : @property @time;
50
+ transition : @property @time;
51
+ }
52
+
53
+ .opacity (@value : 1.0) {
54
+ opacity : @value;
55
+ @valueNew : (@value * 100);
56
+ filter: alpha(opacity=@valueNew);
57
+ }
58
+
59
+ .linear-gradient (@params...) {
60
+ @gradient: ~`'@{arguments}'.replace(/^\[|\]$/g, '').replace(/, /g, ',')`;
61
+ background-image: linear-gradient(@gradient);
62
+ }
63
+
64
+ .linear-gradient-vertical (@color1, @color2) when (@color1 = @color2) {
65
+ background-color: @color1;
66
+ }
67
+
68
+ .linear-gradient-vertical (@color1, @color2) when not(@color1 = @color2) {
69
+ background-image: linear-gradient(@color1, @color2);
70
+ }
71
+
72
+ .linear-gradient-vertical4 (@color1, @percent1, @color2, @percent2) {
73
+ // by default to bottom
74
+ background-image: linear-gradient(@color1 @percent1, @color2 @percent2);
75
+ }
76
+
77
+ .linear-gradient-dark-center (@color) {
78
+ background-image:linear-gradient(to bottom, fadeout(@color, 90%) 0%, @color 40%, @color 60%, fadeout(@color, 90%) 100%);
79
+ }
80
+
81
+ .background-image (@image, @rest...) {
82
+ background : @image @rest;
83
+ }
84
+
85
+ .user-select (@value) {
86
+ user-select: @value;
87
+ }
@@ -0,0 +1,277 @@
1
+ .w2ui-popup {
2
+ position: fixed;
3
+ z-index: 1600;
4
+ overflow: hidden;
5
+ font-family: @main-font-family;
6
+ border-radius: 6px;
7
+ padding: 0px;
8
+ margin: 0px;
9
+ border: 1px solid #777;
10
+ background-color: #fafafa;
11
+ box-shadow: 0 0 25px #0000005d;
12
+
13
+ &.w2ui-non-blocking {
14
+ border: 1px solid #c8c8c8;
15
+ box-shadow: 0 0 2px #555;
16
+ }
17
+
18
+ &, & * {
19
+ box-sizing: border-box;
20
+ }
21
+
22
+ &.w2ui-anim-open {
23
+ opacity: 0;
24
+ transform: scale(0.8);
25
+ }
26
+
27
+ &.w2ui-anim-close {
28
+ opacity: 0;
29
+ transform: scale(0.9);
30
+ }
31
+
32
+ .w2ui-popup-title-btns {
33
+ position: absolute;
34
+ z-index: 1021;
35
+ right: 0;
36
+ margin: 10px 10px 0 0;
37
+ font-size: 17px;
38
+ .w2ui-popup-button {
39
+ float: right;
40
+ width: 25px;
41
+ height: 23px;
42
+ cursor: pointer;
43
+ color: #888;
44
+ margin: 0 0 0 2px;
45
+ z-index: 301;
46
+ position: relative;
47
+ span.w2ui-icon {
48
+ width: 24px;
49
+ height: 23px;
50
+ margin-top: 0px;
51
+ }
52
+ &.w2ui-popup-close:hover {
53
+ color: #222;
54
+ }
55
+ &.w2ui-popup-max:hover {
56
+ color: #222;
57
+ }
58
+ }
59
+ }
60
+
61
+ .w2ui-popup-title {
62
+ padding: 10px;
63
+ border-radius: 6px 6px 0px 0px;
64
+ .linear-gradient-vertical(#fff, #fff);
65
+ border-bottom: 1px solid #eee;
66
+ position: absolute;
67
+ overflow: hidden;
68
+ height: 42px;
69
+ left: 0px;
70
+ right: 0px;
71
+ top: 0px;
72
+ text-overflow: ellipsis;
73
+ // text-align: center;
74
+ .user-select;
75
+ cursor: move;
76
+ font-size: 17px;
77
+ color: #555;
78
+ z-index: 300;
79
+ }
80
+
81
+ .w2ui-box, .w2ui-box-temp { // w2ui-box & w2ui-box-temp needed for transitions
82
+ position: absolute;
83
+ left: 0px;
84
+ right: 0px;
85
+ top: 42px;
86
+ bottom: 58px;
87
+ z-index: 100;
88
+ }
89
+
90
+ .w2ui-popup-body {
91
+ font-size: 12px;
92
+ line-height: 130%;
93
+ padding: 0px 7px 7px 7px;
94
+ color: #000;
95
+ background-color: #fafafa;
96
+ position: absolute;
97
+ overflow: auto;
98
+ width: 100%;
99
+ height: 100%;
100
+ }
101
+
102
+ .w2ui-popup-buttons {
103
+ font-size: 11px;
104
+ padding: 14px;
105
+ border-radius: 0px 0px 6px 6px;
106
+ border-top: 1px solid #eee;
107
+ background-color: #fff;
108
+ text-align: center;
109
+ position: absolute;
110
+ overflow: hidden;
111
+ height: 56px;
112
+ left: 0px;
113
+ right: 0px;
114
+ bottom: 0px;
115
+ z-index: 200;
116
+ }
117
+
118
+ .w2ui-popup-no-title {
119
+ border-top-left-radius: 6px;
120
+ border-top-right-radius: 6px;
121
+ top: 0px;
122
+ }
123
+
124
+ .w2ui-popup-no-buttons {
125
+ border-bottom-left-radius: 6px;
126
+ border-bottom-right-radius: 6px;
127
+ bottom: 0px;
128
+ }
129
+
130
+ .w2ui-msg-text {
131
+ font-size: 14px;
132
+ line-height: 1.5;
133
+ }
134
+
135
+ .w2ui-prompt {
136
+ font-size: 12px;
137
+ padding: 0 10px;
138
+ &.textarea {
139
+ margin-top: 20px;
140
+ }
141
+ > div {
142
+ margin-bottom: 5px
143
+ }
144
+ > label {
145
+ margin-right: 5px;
146
+ }
147
+ input {
148
+ width: 230px;
149
+ }
150
+ textarea {
151
+ width: 100%;
152
+ height: 50px;
153
+ resize: none
154
+ }
155
+ }
156
+
157
+ .w2ui-popup-resizer {
158
+ z-index: 201;
159
+ position: absolute;
160
+ bottom: 2px;
161
+ right: 2px;
162
+ width: 10px;
163
+ height: 10px;
164
+ cursor: nwse-resize;
165
+ color: #aaa;
166
+ box-shadow: none;
167
+
168
+ &.resize-point {
169
+ box-sizing: border-box;
170
+ display: inline-block;
171
+ font-size: inherit;
172
+ font-style: normal;
173
+ text-indent: -9999px;
174
+ vertical-align: middle;
175
+ width: 1em;
176
+ height: 1em;
177
+ line-height: 100%;
178
+ }
179
+
180
+ &.resize-point::before,
181
+ &.resize-point::after {
182
+ content: "";
183
+ display: block;
184
+ left: 50%;
185
+ position: absolute;
186
+ top: 50%;
187
+ transform: translate(-50%, -50%);
188
+ }
189
+
190
+ &.resize-icon::before {
191
+ border: .1rem solid currentColor;
192
+ border-right: 0;
193
+ border-top: 0;
194
+ border-left: 0;
195
+ height: 1.4em;
196
+ transform: translate(-84%, -84%) rotate(-45deg);
197
+ width: 1.4em;
198
+ }
199
+
200
+ &.resize-icon::after {
201
+ border: .1rem solid currentColor;
202
+ border-right: 0;
203
+ border-top: 0;
204
+ border-left: 0;
205
+ height: .7em;
206
+ transform: translate(-50%, -50%) rotate(-45deg);
207
+ width: .7em;
208
+ }
209
+ }
210
+ }
211
+
212
+ // slide down message - not just popup, but also grid, form, layout
213
+ .w2ui-message {
214
+ font-size: 12px;
215
+ position: absolute;
216
+ z-index: 250;
217
+
218
+ background-color: #fcfcfc;
219
+ border: 1px solid #999;
220
+ box-shadow: 0 0 15px #0000003d;
221
+ box-sizing: border-box;
222
+ border-top: 0px;
223
+ border-radius: 0px 0px 6px 6px;
224
+ overflow: auto;
225
+
226
+ .w2ui-msg-text {
227
+ font-size: 14px;
228
+ line-height: 1.5;
229
+ }
230
+
231
+ .w2ui-message-body {
232
+ position: absolute;
233
+ top: 0px;
234
+ bottom: 45px;
235
+ left: 0px;
236
+ right: 0px;
237
+ overflow: auto;
238
+ & .w2ui-centered {
239
+ line-height: 1.5
240
+ }
241
+ }
242
+
243
+ .w2ui-message-buttons {
244
+ position: absolute;
245
+ height: 45px;
246
+ bottom: 0px;
247
+ left: 0px;
248
+ right: 0px;
249
+ border-top: 1px solid #efefef;
250
+ background-color: white;
251
+ text-align: center;
252
+ padding: 8px;
253
+ }
254
+
255
+ .w2ui-prompt {
256
+ font-size: 12px;
257
+ padding: 0 10px;
258
+ &.textarea {
259
+ margin-top: 20px;
260
+ }
261
+ > div {
262
+ margin-bottom: 5px
263
+ }
264
+ > label {
265
+ margin-right: 5px;
266
+ }
267
+ input {
268
+ width: 230px;
269
+ }
270
+ textarea {
271
+ width: 100%;
272
+ height: 50px;
273
+ resize: none
274
+ }
275
+ }
276
+
277
+ }