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,343 @@
1
+ /*************************************************
2
+ * ---- Sidebar ----
3
+ */
4
+
5
+ .w2ui-sidebar {
6
+ position: relative;
7
+ cursor: default;
8
+ overflow: hidden;
9
+ background-color: #fbfbfb;
10
+ .box-sizing(border-box);
11
+
12
+ * {
13
+ .box-sizing;
14
+ }
15
+
16
+ > div {
17
+ position: absolute;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .w2ui-sidebar-top {
22
+ position: absolute;
23
+ z-index: 2;
24
+ top: 0px;
25
+ left: 0px;
26
+ right: 0px;
27
+
28
+ .w2ui-flat-left, .w2ui-flat-right {
29
+ position: absolute;
30
+ right: 2px;
31
+ top: 2px;
32
+ height: 24px;
33
+ padding: 5px;
34
+ border-radius: 2px;
35
+ background-size: 16px 12px;
36
+ background-position: center center;
37
+ background-repeat: no-repeat;
38
+ background-color: #fbfbfb;
39
+ &:hover {
40
+ background-color: #f1f1f1;
41
+ }
42
+ }
43
+ .w2ui-flat-left {
44
+ left: auto;
45
+ width: 25px;
46
+ background-image: @image-less;
47
+ }
48
+ .w2ui-flat-right {
49
+ left: 2px;
50
+ width: auto;
51
+ background-image: @image-more;
52
+ }
53
+ }
54
+
55
+ .w2ui-sidebar-bottom {
56
+ position: absolute;
57
+ z-index: 2;
58
+ bottom: 0px;
59
+ left: 0px;
60
+ right: 0px;
61
+ }
62
+
63
+ .w2ui-sidebar-body {
64
+ position: absolute;
65
+ z-index: 1;
66
+ overflow: auto;
67
+ top: 0px;
68
+ bottom: 0px;
69
+ left: 0px;
70
+ right: 0px;
71
+ padding: 2px 0px;
72
+ .user-select;
73
+ .w2ui-node {
74
+ position: relative;
75
+ border-radius: 4px;
76
+ margin: 0px 3px;
77
+ padding: 1px 0px;
78
+ border: 1px solid transparent;
79
+ .w2ui-node-text{
80
+ color: black;
81
+ text-shadow: 0px 0px 0px #fff;
82
+ pointer-events: none;
83
+ &:hover {
84
+ color: inherit;
85
+ }
86
+ }
87
+ .w2ui-node-image > span {
88
+ color: #737485;
89
+ }
90
+
91
+ .w2ui-node-handle {
92
+ display: inline-block;
93
+ padding: 0px;
94
+ margin: 0px;
95
+ height: 100%;
96
+ position: absolute;
97
+ }
98
+
99
+ &:hover {
100
+ background-color: #f1f1f1;
101
+ }
102
+
103
+ // font icon default
104
+ .w2ui-node-image {
105
+ width: 22px;
106
+ text-align: center;
107
+ pointer-events: none;
108
+ > span {
109
+ color: #888;
110
+ }
111
+ }
112
+
113
+ &.w2ui-disabled,
114
+ &.w2ui-disabled:hover {
115
+ background: transparent;
116
+
117
+ .w2ui-node-text,
118
+ .w2ui-node-image,
119
+ .w2ui-node-image > span {
120
+ .opacity(0.4);
121
+ color: black;
122
+ text-shadow: 0px 0px 0px #fff;
123
+ }
124
+ }
125
+
126
+ // hide badges when editing nodes
127
+ &.w2ui-editing .w2ui-node-badge {
128
+ display: none;
129
+ }
130
+
131
+ &.w2ui-reorder-empty {
132
+ border: 1px dashed silver;
133
+ background-color: #fbfcfe;
134
+ }
135
+ &.w2ui-ghost {
136
+ position: absolute;
137
+ z-index: 999999;
138
+ pointer-events: none;
139
+ width: calc(100% - 4px);
140
+ opacity: 0.8;
141
+ background-color: #f3f3f3;
142
+ border-top: 1px dotted silver;
143
+ border-bottom: 1px dotted silver;
144
+ > * {
145
+ pointer-events: none;
146
+ }
147
+ }
148
+
149
+ // enable pointer events for all inputs inside node
150
+ input, button {
151
+ pointer-events: auto;
152
+ }
153
+ }
154
+
155
+ .w2ui-ghost-line {
156
+ position: absolute;
157
+ z-index: 999999;
158
+ pointer-events: none;
159
+ width: calc(100% - 4px);
160
+ background-color: #82a6ff;
161
+ height: 2px;
162
+ }
163
+
164
+ .w2ui-selected,
165
+ .w2ui-selected:hover {
166
+ background-color: #f3f5ff;
167
+ position: relative;
168
+ border: 1px solid #dee1ff;
169
+
170
+ .w2ui-node-text,
171
+ .w2ui-node-image,
172
+ .w2ui-node-image > span {
173
+ color: inherit;
174
+ text-shadow: 0px 0px 0px #fff;
175
+ }
176
+ }
177
+
178
+ .w2ui-selected:before {
179
+ content: "";
180
+ border: 1px dashed transparent;
181
+ border-radius: 4px;
182
+ position: absolute;
183
+ top: -1px;
184
+ bottom: -1px;
185
+ left: -1px;
186
+ right: -1px;
187
+ pointer-events: none;
188
+ }
189
+
190
+ .w2ui-node-text {
191
+ white-space: nowrap;
192
+ padding: 5px 0px 5px 3px;
193
+ margin: 1px 0px 1px 22px;
194
+ position: relative;
195
+ z-index: 1;
196
+ font-size: 12px;
197
+ &.no-icon {
198
+ margin-left: 0px;
199
+ }
200
+ }
201
+
202
+ .w2ui-node-group {
203
+ white-space: nowrap;
204
+ overflow: hidden;
205
+ padding: 10px 0px 10px 10px;
206
+ margin: 0px;
207
+ cursor: default;
208
+ color: #6a5e88;
209
+ background-color: transparent;
210
+
211
+ :nth-child(1) {
212
+ /* show / hide link */
213
+ margin-right: 10px;
214
+ float: right;
215
+ color: transparent;
216
+ }
217
+
218
+ :nth-child(2) {
219
+ /* title text */
220
+ font-weight: normal;
221
+ text-transform: uppercase;
222
+ }
223
+ }
224
+
225
+ .w2ui-node-sub {
226
+ overflow: hidden;
227
+ .w2ui-reorder-empty-sub {
228
+ border: 1px dashed silver;
229
+ background-color: #fbfcfe;
230
+ height: calc(100% - 4px);
231
+ margin: 2px 4px;
232
+ }
233
+ }
234
+
235
+ .w2ui-node-data {
236
+ padding: 2px;
237
+
238
+ .w2ui-node-image {
239
+ padding: 4px 0px 0px 0px;
240
+ float: left;
241
+ // for font-awesome icons
242
+ & > span {
243
+ font-size: 16px;
244
+ color: #737485;
245
+ text-shadow: 0px 0px 0px #fff;
246
+ }
247
+ &.w2ui-icon {
248
+ margin-top: 3px;
249
+ }
250
+ }
251
+
252
+ .w2ui-node-badge {
253
+ display: flex;
254
+ flex-direction: row;
255
+ float: right;
256
+ width: auto;
257
+ padding: 2px;
258
+ margin: 3px 4px -2px 0;
259
+ color: #666;
260
+ text-shadow: 1px 1px 0px #FFF;
261
+ position: relative;
262
+ z-index: 2;
263
+ &.w2ui-node-count {
264
+ padding: 2px 7px;
265
+ border: 1px solid #F6FCF4;
266
+ border-radius: 20px;
267
+ box-shadow: 0px 0px 2px #474545;
268
+ background-color: #F2F8F0;
269
+ margin-right: 0px !important;
270
+ }
271
+ }
272
+
273
+ .w2ui-collapsed,
274
+ .w2ui-expanded {
275
+ float: right;
276
+ width: 15px;
277
+ height: 25px;
278
+ position: relative;
279
+ z-index: 2;
280
+ padding-left: 5px;
281
+ border-radius: 4px;
282
+ &:hover {
283
+ background-color: #e1e1e1
284
+ }
285
+ &.w2ui-left-toggle {
286
+ float: left;
287
+ margin-left: -14px;
288
+ }
289
+ span {
290
+ border-color: transparent;
291
+ background-color: transparent;
292
+ box-shadow: none;
293
+ padding: 2px 5px;
294
+ border-radius: 0px;
295
+ &:after {
296
+ content: "";
297
+ position: absolute;
298
+ border-left: 5px solid #808080;
299
+ border-top: 5px solid transparent;
300
+ border-bottom: 5px solid transparent;
301
+ transform: rotateZ(-90deg);
302
+ pointer-events: none;
303
+ margin-left: -4px;
304
+ margin-top: 7px;
305
+ }
306
+ &:hover {
307
+ border-color: transparent;
308
+ background-color: transparent;
309
+ }
310
+ }
311
+ }
312
+
313
+ .w2ui-collapsed span:after {
314
+ transform: rotateZ(90deg);
315
+ }
316
+ }
317
+
318
+ // for flat sidebar
319
+ .w2ui-node-flat {
320
+ min-height: 32px;
321
+ margin-bottom: 4px;
322
+ .w2ui-node-data {
323
+ display: block;
324
+ padding: 4px 2px;
325
+ text-align: center;
326
+ }
327
+ .w2ui-node-image {
328
+ float: none;
329
+ text-align: center;
330
+ width: auto;
331
+ padding: 1px 0px;
332
+ & > span {
333
+ font-size: 16px;
334
+ color: #737485;
335
+ text-shadow: 0px 0px 0px #fff;
336
+ }
337
+ &.w2ui-icon {
338
+ width: 21px;
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }
@@ -0,0 +1,145 @@
1
+ /*************************************************
2
+ * ---- Tabs ----
3
+ */
4
+
5
+ .w2ui-tabs {
6
+ cursor: default;
7
+ overflow: hidden;
8
+ position: relative;
9
+ background-color: #fff;
10
+ min-height: 28px;
11
+ padding: 0px;
12
+ margin: 0px;
13
+
14
+ .w2ui-tabs-line {
15
+ position: absolute;
16
+ left: 0px;
17
+ right: 0px;
18
+ bottom: 0px;
19
+ z-index: 1;
20
+ border: 0;
21
+ height: 1px;
22
+ background-color: #e2e2e2;
23
+ }
24
+
25
+ .w2ui-scroll-left,
26
+ .w2ui-scroll-right {
27
+ z-index: 30;
28
+ display: flex;
29
+ }
30
+
31
+ .w2ui-scroll-wrapper {
32
+ display: flex;
33
+ flex-direction: row;
34
+ flex-wrap: nowrap;
35
+ justify-content: flex-start;
36
+ align-content: flex-start;
37
+ padding: 0 2px;
38
+ // position: relative;
39
+ // height: 32px;
40
+ .w2ui-tab {
41
+ height: 28px;
42
+ position: relative;
43
+ z-index: 20;
44
+ padding: 7px 20px 4px 20px;
45
+ text-align: center;
46
+ color: black;
47
+ background-color: transparent;
48
+ border: 2px solid transparent;
49
+ white-space: nowrap;
50
+ margin: 0px 1px;
51
+ border-radius: 0;
52
+ cursor: default;
53
+ user-select: none;
54
+ &.active {
55
+ color: #0175ff;
56
+ background-color: transparent;
57
+ border: 2px solid transparent;
58
+ border-bottom: 2px solid #0175ff;
59
+ margin-bottom: 0px;
60
+ .w2ui-tab-icon {
61
+ color: #0175ff;
62
+ }
63
+ }
64
+ &:hover {
65
+ background-color: #dfe1e630;
66
+ }
67
+ &.moving {
68
+ color: inherit;
69
+ background-color: #eee;
70
+ border: 2px solid transparent;
71
+ border-radius: 0px;
72
+ margin-bottom: 0px;
73
+ }
74
+ &.closable {
75
+ padding: 6px 28px 6px 20px;
76
+ }
77
+ .w2ui-tab-icon {
78
+ color: #888889;
79
+ margin-right: 8px;
80
+ display: inline-block;
81
+ font-size: 13px;
82
+ margin-top: -1px;
83
+ }
84
+ .w2ui-tab-close {
85
+ position: absolute;
86
+ right: 3px;
87
+ top: 5px;
88
+ color: #555;
89
+ float: right;
90
+ margin-top: -3px;
91
+ padding: 2px 4px;
92
+ width: 20px;
93
+ height: 20px;
94
+ opacity: 0.6;
95
+ border: 0px;
96
+ border-top: 3px solid transparent;
97
+ border-radius: 3px;
98
+ &:hover {
99
+ background-color: #f9e7e7;
100
+ color: red;
101
+ opacity: 1;
102
+ font-weight: bold;
103
+ }
104
+ &:active {
105
+ background-color: #ffd1d1;
106
+ }
107
+ &:before {
108
+ position: relative;
109
+ top: -2px;
110
+ left: 0px;
111
+ color: inherit;
112
+ text-shadow: inherit;
113
+ content: 'x';
114
+ }
115
+ }
116
+ }
117
+
118
+ .w2ui-tabs-right {
119
+ padding: 8px 2px;
120
+ width: 100%;
121
+ text-align: right;
122
+ white-space: nowrap;
123
+ }
124
+ }
125
+
126
+ // upwards tabs
127
+ &.w2ui-tabs-up {
128
+ .w2ui-tabs-line {
129
+ top: 0px;
130
+ bottom: auto;
131
+ }
132
+ .w2ui-scroll-wrapper {
133
+ .w2ui-tab {
134
+ border: 2px solid transparent;
135
+ border-top: 2px solid transparent;
136
+ border-radius: 0 0 4px 4px;
137
+ &.active {
138
+ border: 2px solid transparent;
139
+ border-top: 2px solid #0175ff;
140
+ margin-top: 0px;
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,219 @@
1
+ /*************************************************
2
+ * ---- Toolbar ----
3
+ */
4
+
5
+ .w2ui-toolbar {
6
+ background-color: #f5f5f5;
7
+ user-select: none;
8
+ padding: 2px;
9
+
10
+ .w2ui-tb-line {
11
+ overflow: hidden;
12
+ position: relative;
13
+ min-height: 28px;
14
+ padding: 0;
15
+ margin: 0;
16
+ }
17
+
18
+ .disabled {
19
+ .opacity(0.3)
20
+ }
21
+
22
+ .w2ui-scroll-left,
23
+ .w2ui-scroll-right {
24
+ z-index: 30;
25
+ display: flex;
26
+ }
27
+
28
+ .w2ui-tb-line:nth-child(2),
29
+ .w2ui-tb-line:nth-child(3),
30
+ .w2ui-tb-line:nth-child(4) {
31
+ border-top: 1px solid #e7e7e7;
32
+ margin: 0;
33
+ }
34
+
35
+ .w2ui-scroll-wrapper {
36
+ display: flex;
37
+ flex-direction: row;
38
+ flex-wrap: nowrap;
39
+ justify-content: flex-start;
40
+ align-content: flex-start;
41
+ padding: 2px;
42
+
43
+ .w2ui-tb-button {
44
+ position: relative;
45
+ z-index: 20;
46
+ height: 30px;
47
+ min-width: 30px;
48
+ padding: 2px;
49
+ border: 1px solid transparent;
50
+ border-radius: 4px;
51
+ color: black;
52
+ background-color: transparent;
53
+ white-space: nowrap;
54
+ margin: 0 1px;
55
+ cursor: default;
56
+ user-select: none;
57
+ flex-shrink: 0;
58
+ // border: 1px solid silver;
59
+
60
+ .w2ui-tb-icon {
61
+ float: left;
62
+ width: 22px;
63
+ margin: 4px 0 0 1px;
64
+ text-align: center;
65
+ > span {
66
+ font-size: 15px;
67
+ color: #8D99A7;
68
+ }
69
+ }
70
+ .w2ui-tb-text {
71
+ margin-left: 20px;
72
+ padding: 6px 5px 0 5px;
73
+
74
+ .w2ui-tb-color-box {
75
+ display: inline-block;
76
+ height: 13px;
77
+ width: 13px;
78
+ margin: 0 2px -2px 0;
79
+ border-radius: 1px;
80
+ border: 1px solid #fff;
81
+ box-shadow: 0 0 1px #555;
82
+ }
83
+
84
+ .w2ui-tb-count {
85
+ padding: 0 0 0 4px;
86
+ > span {
87
+ border: @menu-node-count-border;
88
+ border-radius: 11px;
89
+ width: auto;
90
+ height: 18px;
91
+ padding: 0 6px 1px 6px;
92
+ background-color: @menu-node-count-background-color;
93
+ color: @menu-node-count-color;
94
+ box-shadow: @menu-node-count-shadow;
95
+ text-shadow: @menu-node-count-text-shadow;
96
+ }
97
+ }
98
+
99
+ .w2ui-tb-down {
100
+ width: 10px;
101
+ float: right;
102
+ > span {
103
+ display: inline-block;
104
+ position: relative;
105
+ top: 3px;
106
+ left: 3px;
107
+ border: 4px solid transparent;
108
+ border-top: 5px solid #aeb6c0;
109
+ }
110
+ }
111
+ }
112
+
113
+ &.over {
114
+ border: 1px solid transparent;
115
+ background-color: #eaeaed;
116
+ & .w2ui-tb-text {
117
+ color: black;
118
+ }
119
+ }
120
+
121
+ &.checked {
122
+ border: 1px solid #d2d2d2;
123
+ background-color: white;
124
+ & .w2ui-tb-text {
125
+ color: black;
126
+ }
127
+ }
128
+
129
+ &.down {
130
+ border: 1px solid #ccc;
131
+ background-color: #eaeaed;
132
+ & .w2ui-tb-text {
133
+ color: #666;
134
+ }
135
+ }
136
+
137
+ &.no-icon .w2ui-tb-text {
138
+ margin-left: 0;
139
+ }
140
+ }
141
+
142
+ .w2ui-tb-right {
143
+ width: 100%;
144
+ text-align: right;
145
+ white-space: nowrap;
146
+ }
147
+
148
+ .w2ui-tb-break {
149
+ .linear-gradient-dark-center(#999);
150
+ width: 1px;
151
+ height: 24px;
152
+ padding: 0;
153
+ margin: 3px 6px;
154
+ }
155
+
156
+ .w2ui-tb-html {
157
+ white-space: nowrap;
158
+ }
159
+
160
+ .w2ui-tb-input {
161
+ padding: 1px;
162
+ .w2ui-input-label {
163
+ color: #474a51;
164
+ }
165
+ // such long selector is needed so that it would take priority over what's in .w2ui-reset and wouldn't require !important
166
+ input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]) {
167
+ width: 100px;
168
+ height: 26px;
169
+ padding: 5px;
170
+ &:focus {
171
+ outline-color: #549eff;
172
+ }
173
+ &.w2ui-has-spinner {
174
+ width: 95px;
175
+ padding: 5px 30px;
176
+ }
177
+ }
178
+ input[type=range] {
179
+ position: relative;
180
+ top: 5px;
181
+ }
182
+ .w2ui-spinner-dec,
183
+ .w2ui-spinner-inc {
184
+ position: absolute;
185
+ padding-top: 2px;
186
+ margin: 2px;
187
+ background-color: #f9fafa;
188
+ width: 22px;
189
+ height: 22px;
190
+ font-size: 16px;
191
+ text-align: center;
192
+ color: #888;
193
+ &:hover {
194
+ background-color: #e4e4e4;
195
+ color: #222;
196
+ }
197
+ &:active {
198
+ background-color: #d4d4d4;
199
+ color: #000;
200
+ }
201
+ }
202
+ .w2ui-spinner-dec {
203
+ border-right: 1px solid #e0e0e0;
204
+ border-top-left-radius: 3px;
205
+ border-bottom-left-radius: 3px;
206
+ }
207
+ .w2ui-spinner-inc {
208
+ margin-left: -24px;
209
+ border-left: 1px solid #e0e0e0;
210
+ border-top-right-radius: 3px;
211
+ border-bottom-right-radius: 3px;
212
+ }
213
+ }
214
+
215
+ .w2ui-tb-spacer {
216
+ width: 100%;
217
+ }
218
+ }
219
+ }