efront 2.44.10 → 2.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/coms/basic/BitTree.js +1 -1
  2. package/coms/basic/crypt.js +1 -1
  3. package/coms/basic/decodeRange.js +0 -1
  4. package/coms/basic/loader.js +3 -2
  5. package/coms/basic/parseURL_test.js +32 -0
  6. package/coms/basic/refilm_decode.js +13 -2
  7. package/coms/basic/valid.js +10 -0
  8. package/coms/compile/scanner2.js +1 -1
  9. package/coms/zimoli/alert.js +12 -7
  10. package/coms/zimoli/appendChild.js +1 -0
  11. package/coms/zimoli/autodragchildren.js +96 -116
  12. package/coms/zimoli/avatar.js +0 -1
  13. package/coms/zimoli/button.js +5 -0
  14. package/coms/zimoli/button.less +6 -2
  15. package/coms/zimoli/checker.less +13 -14
  16. package/coms/zimoli/color.js +128 -83
  17. package/coms/zimoli/colorpad.js +2 -4
  18. package/coms/zimoli/cross.js +1 -1
  19. package/coms/zimoli/css.js +1 -0
  20. package/coms/zimoli/data.js +16 -9
  21. package/coms/zimoli/drag.js +2 -1
  22. package/coms/zimoli/encode62.js +13 -0
  23. package/coms/zimoli/field.html +2 -0
  24. package/coms/zimoli/field.js +41 -17
  25. package/coms/zimoli/field.less +19 -0
  26. package/coms/zimoli/form.js +8 -0
  27. package/coms/zimoli/gallery.js +2 -12
  28. package/coms/zimoli/getGenerator.js +16 -10
  29. package/coms/zimoli/getTreeFromData.js +9 -3
  30. package/coms/zimoli/image.less +4 -0
  31. package/coms/zimoli/list.js +2 -12
  32. package/coms/zimoli/menu.js +14 -14
  33. package/coms/zimoli/menu.less +1 -1
  34. package/coms/zimoli/menuItem.js +4 -1
  35. package/coms/zimoli/menuList.js +4 -3
  36. package/coms/zimoli/model.js +1 -0
  37. package/coms/zimoli/on.js +18 -0
  38. package/coms/zimoli/radio.html +1 -3
  39. package/coms/zimoli/radio.less +22 -16
  40. package/coms/zimoli/render.js +118 -151
  41. package/coms/zimoli/renderDefaults.js +1 -0
  42. package/coms/zimoli/submit.js +41 -0
  43. package/coms/zimoli/table.html +16 -0
  44. package/coms/zimoli/table.js +23 -1
  45. package/coms/zimoli/table.less +57 -39
  46. package/coms/zimoli/tree.js +4 -4
  47. package/coms/zimoli/view.js +0 -5
  48. package/coms/zimoli/view.less +21 -11
  49. package/coms/zimoli/zimoli.js +21 -13
  50. package/package.json +1 -1
  51. package/public/efront.js +1 -1
  52. package/coms/zimoli/beian.html +0 -1
  53. package/coms/zimoli/beian.js +0 -5
  54. package/coms/zimoli/beian.less +0 -13
@@ -3,9 +3,9 @@
3
3
  const MAX_FREQUENCY = 0XFFFF;
4
4
  class BitTree extends Array {
5
5
  counts = [];
6
- length = 0;
7
6
  total = 0;
8
7
  constructor(arr, a) {
8
+ super();
9
9
  if (isFinite(arr)) {
10
10
  arr = new Array(arr);
11
11
  if (a === undefined) a = 1;
@@ -58,6 +58,6 @@ module.exports = {
58
58
  checksign: function (data, mask) {
59
59
  var sign = data.sign;
60
60
  delete data.sign;
61
- return sign = signonly(data, mask);
61
+ return sign === signonly(data, mask);
62
62
  }
63
63
  };
@@ -62,7 +62,6 @@ function main(buff) {
62
62
  tree.count(i);
63
63
  result.push(i);
64
64
  }
65
- console.log(d);
66
65
  __buff = null;
67
66
  return result;
68
67
  }
@@ -36,7 +36,8 @@ if (PREVENT_FRAMEWORK_MODE !== false) {
36
36
  } catch (e) {
37
37
  document.write(message);
38
38
  top.location.reload();
39
- throw message;
39
+ console.error(message);
40
+ return;
40
41
  }
41
42
  }
42
43
  var _devicePixelRatio = devicePixelRatio;
@@ -312,7 +313,7 @@ var loadModule = function (name, then, prebuilds = {}) {
312
313
  readFile(name, saveModule);
313
314
  }
314
315
  };
315
- var toRem = text => pixelDecoder && typeof text === 'string' ? text.replace(/(\:\s*)?\b((?:\d*\.)?\d+)px(\s*\))?/ig, (m, h, d, quote) => (h || "") + (d !== '1' ? h && quote ? renderPixelRatio * d + "pt" : pixelDecoder(d) : renderPixelRatio > 1 ? ".75pt" : 0.75 / devicePixelRatio + "pt") + (quote || "")) : text;
316
+ var toRem = text => pixelDecoder && typeof text === 'string' ? text.replace(/(\:\s*)?\b((?:\d*\.)?\d+)px(\s*\))?/ig, (m, h, d, quote) => (h || "") + (d !== '1' ? h && quote ? renderPixelRatio * d + "pt" : pixelDecoder(d) : renderPixelRatio > 1 ? ".78pt" : 0.78 / devicePixelRatio + "pt") + (quote || "")) : text;
316
317
  if (document.head) var efrontsign = document.head.lastElementChild.attributes[0];
317
318
  if (efrontsign && /^compiledinfo\-/.test(efrontsign.name)) efrontsign = efrontsign.name.slice(efrontsign.name.indexOf('-') + 1);
318
319
  else efrontsign = '';
@@ -0,0 +1,32 @@
1
+ var parseURL = require("./parseURL");
2
+ require("../efront/console");
3
+ var test = function (url, key, value) {
4
+ var parsed = parseURL(url);
5
+ if (parsed[key] !== value) console.log(parsed), console.fail(`url:${url}, key:${key}, expect:${value}, result:${parsed[key]}`);
6
+ else console.pass(`url:${url}, key:${key}, expect:${value}, result:${parsed[key]}`);
7
+ };
8
+
9
+ test('http://efront.cc/kugou', 'pathname', '/kugou')
10
+ test('http://efront.cc/kugou?a', 'path', '/kugou?a')
11
+ test('http://yunxu1019@live.cn@github.com/?a', 'username', 'yunxu1019@live.cn')
12
+ test('localhost', 'host', 'localhost')
13
+ test('localhost:80', 'port', '80')
14
+ test('localhost:80/', 'port', '80')
15
+ test(':80', 'port', '80')
16
+ test('80', 'port', '80')
17
+ test('/80', 'pathname', '/80')
18
+ test('a80', 'host', 'a80')
19
+ test('a:80', 'host', 'a:80')
20
+ test('a:b:80', 'host', 'b:80')
21
+ test('a:b@a80', 'auth', 'a:b')
22
+ test('c:a:b@a80', 'auth', 'a:b')
23
+ test('c:d:a:b@a80', 'password', 'a:b')
24
+ test('localhost:', 'protocol', 'localhost:')
25
+ test('localhost:80', 'hostname', 'localhost')
26
+ test('http//:80', 'hostname', 'http')
27
+ test('http//:80', 'pathname', '//:80')
28
+ test('//h:80', 'host', 'h:80')
29
+ test('?80', 'path', '?80')
30
+ test('?80', 'search', '?80')
31
+ test('?80', 'query', '80')
32
+ test('#?80', 'hash', '#?80')
@@ -260,8 +260,16 @@ function parse(piece) {
260
260
  }
261
261
  var [name, type, options] = piece, key, repeat;
262
262
  if (piece.length === 1 && isObject(name)) {
263
- var { name, needs, type, key, size, unit, endwith, ratio, value, repeat, comment, options } = name;
263
+ var { name, needs, required, checks, type, key, size, unit, endwith, ratio, value, repeat, comment, options } = name;
264
264
  } else {
265
+ var is_require = a => {
266
+ if (/^\*|\*$/.test(a)) {
267
+ required = true;
268
+ return a.replace(/^\*|\*$/, '');
269
+ }
270
+ return a;
271
+ };
272
+ type = is_require(type);
265
273
  if (typeof name === 'string') {
266
274
  if (!isContainer) {
267
275
  if (!type) {
@@ -362,14 +370,17 @@ function parse(piece) {
362
370
  type = type.slice(1);
363
371
  }
364
372
  if (typeof options === "string") {
373
+ options = is_require(options);
365
374
  var needUnfold = /^\[|\]$/.test(options);
366
375
  options = options.replace(/^\[|\]$/g, '');
367
376
  if (/,/.test(options)) options = scanSlant(options, ',');
368
377
  else options = scanSlant(options, "");
369
378
  if (needUnfold) unfoldOptions(size, options);
370
379
  }
380
+ name = is_require(name);
381
+ key = is_require(key);
371
382
  }
372
- var field = { name, needs, type, key, size, unit, endwith, ratio, value, repeat, comment, options };
383
+ var field = { name, checks, required, needs, type, key, size, unit, endwith, ratio, value, repeat, comment, options };
373
384
  var parent = piecepath[piecepath.length - 1];
374
385
  if (parent) {
375
386
  field.parent = parent;
@@ -0,0 +1,10 @@
1
+ function valid(field, data) {
2
+ var error;
3
+ if (isEmpty(data[field.key])) {
4
+ if (field.required) {
5
+ return "empty";
6
+ }
7
+ return;
8
+ }
9
+ return error;
10
+ }
@@ -315,7 +315,7 @@ var detour = function (o, ie) {
315
315
  class Program extends Array {
316
316
  COMMENT = COMMENT
317
317
  SPACE = SPACE
318
- STAMP = STRAP
318
+ STRAP = STRAP
319
319
  STAMP = STAMP
320
320
  VALUE = VALUE
321
321
  QUOTED = QUOTED
@@ -1,9 +1,14 @@
1
1
  var styles = {
2
- log: "#2a53cd",
3
- info: "#228B22",
4
- warn: "#dd6a16",
5
- error: "#dc352e"
2
+ blue: "#2a83cd",
3
+ green: "#228B22",
4
+ orange: "#fdca86",
5
+ red: "#cc352e"
6
6
  };
7
+ styles.success = styles.pass = styles.green;
8
+ styles.info = styles.blue;
9
+ styles.error = styles.danger = styles.red;
10
+ styles.warn = styles.orange;
11
+ styles.default = '#000';
7
12
  var alerts = [];
8
13
  var clean = Cleanup(alerts);
9
14
  var build = function () {
@@ -17,15 +22,15 @@ var build = function () {
17
22
  };
18
23
  var fontSize = 16;
19
24
  var singleHeight = fontSize * 3.125 | 0;
20
- var _text = function (color, parameters) {
25
+ var _text = function (bgcolor, parameters) {
21
26
  var box = div();
22
27
  css(box, `top:${fromPixel(alerts.length ? Math.max.apply(Math, alerts.map(e => e.offsetTop + e.children[0].offsetHeight)) : 0)};height:0;line-height:${fromPixel(singleHeight - 20)};left:0;right:0;font-size:${fromPixel(fontSize)}; transition: all 0.2s ease-out;position:absolute;color:#fff;text-align:center;`);
23
- box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${color};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
28
+ box.innerHTML = `<div style='width: 720px;white-space:pre-wrap;max-width:100%;display:inline-block;height:auto;padding:${fromPixel(10)} ${fromPixel(20)};background-color:${bgcolor};color:${color.pair(bgcolor)};'>${[].slice.call(parameters, 0).join(", ")}</div>`;
24
29
  box.initialStyle = `margin:-${fromPixel(singleHeight)} auto;opacity:0;`;
25
30
  return box;
26
31
  };
27
32
  function alert() {
28
- var color = String(this), text, autoclose = true, onclose;
33
+ var color = String(isString(this) && this || styles.default), text, autoclose = true, onclose;
29
34
  var color_reg = /^#(?:\w{6}|\w{3})$/;
30
35
  [].map.call(arguments, function (arg) {
31
36
  switch (typeof arg) {
@@ -116,6 +116,7 @@ appendChild.insert = function (parent, element, relative = parent.childNodes[0]
116
116
  }
117
117
  };
118
118
  appendChild.replace = function (alreadyMounted, element) {
119
+ if (alreadyMounted === element) return;
119
120
  if (!alreadyMounted || !alreadyMounted.parentNode) return;
120
121
  insertBefore(alreadyMounted, element);
121
122
  remove(alreadyMounted);
@@ -86,6 +86,16 @@ var bindTarget = function (index, element) {
86
86
  };
87
87
 
88
88
  var hooka = function (matcher, move, event, targetChild, isMovingSource) {
89
+ var dragbox = this.dragbox;
90
+ if (dragbox instanceof Function) {
91
+ dragbox = dragbox.call(this);
92
+ if (dragbox && !getTargetIn(dragbox, event.target)) return;
93
+ }
94
+ else {
95
+ dragbox = this;
96
+ }
97
+ var that = this;
98
+
89
99
  var draggingSourceOpacity = isMovingSource !== false ? 0 : 1;
90
100
 
91
101
  var recover = function (element) {
@@ -130,41 +140,89 @@ var hooka = function (matcher, move, event, targetChild, isMovingSource) {
130
140
  }
131
141
  var targetBox, saved_opacity, saved_filter, moveMargin, moveChildren;
132
142
  var previousElements, followedElements, rebuildTargets, scroll;
133
- if (getTargetIn(this, targetChild)) {
134
- targetBox = targetChild.parentNode;
135
- previousElements = getPreviousElementSiblings(targetChild);
136
- followedElements = getFollowedElementSiblings(targetChild);
137
- saved_filter = targetBox.style.filter;
138
- saved_opacity = targetBox.style.opacity;
139
- rebuildTargets = function () { };
140
- [moveMargin, moveChildren, scroll] = getMoveFuncs(targetChild);
141
- moveChildren = moveChildren.bind(null, targetBox, previousElements, followedElements, moveMargin, recover);
142
- } else {
143
- previousElements = [];
144
- followedElements = [];
145
- moveChildren = () => { };
146
- rebuildTargets = function () {
147
- var temp = matcher(drag.target);
148
- if (temp === targetBox) return;
149
- if (previousElements) previousElements.map(recover);
150
- if (followedElements) followedElements.map(recover);
151
- if (targetBox) {
152
- removeClass(targetBox, "dropping");
153
- }
154
- targetBox = temp;
155
- if (!targetBox) {
156
- previousElements = [];
143
+ var that = this;
144
+ var draginit = function () {
145
+ that.setAttribute('dragchildren', '');
146
+ if (targetBox) addClass(targetBox, 'dropping');
147
+ if (getTargetIn(dragbox, targetChild)) {
148
+ targetBox = targetChild.parentNode;
149
+ previousElements = getPreviousElementSiblings(targetChild);
150
+ followedElements = getFollowedElementSiblings(targetChild);
151
+ saved_filter = targetBox.style.filter;
152
+ saved_opacity = targetBox.style.opacity;
153
+ rebuildTargets = function () { };
154
+ [moveMargin, moveChildren, scroll] = getMoveFuncs(targetChild);
155
+ moveChildren = moveChildren.bind(null, targetBox, previousElements, followedElements, moveMargin, recover);
156
+ } else {
157
+ previousElements = [];
158
+ followedElements = [];
159
+ moveChildren = () => { };
160
+ rebuildTargets = function () {
161
+ var temp = matcher(drag.target);
162
+ if (temp === targetBox) return;
163
+ if (previousElements) previousElements.map(recover);
164
+ if (followedElements) followedElements.map(recover);
165
+ if (targetBox) {
166
+ removeClass(targetBox, "dropping");
167
+ }
168
+ targetBox = temp;
169
+ if (!targetBox) {
170
+ previousElements = [];
171
+ followedElements = [];
172
+ moveChildren = () => { };
173
+ return;
174
+ }
175
+ addClass(targetBox, "dropping");
176
+ previousElements = [].slice.call(targetBox.children, 0).reverse();
157
177
  followedElements = [];
158
- moveChildren = () => { };
159
- return;
178
+ [moveMargin, moveChildren, scroll] = getMoveFuncs(previousElements[0]);
179
+ moveChildren = moveChildren.bind(null, targetBox, previousElements, followedElements, moveMargin, recover);
180
+ };
181
+ }
182
+ };
183
+ var dragfire = function () {
184
+ that.removeAttribute('dragchildren');
185
+ removeClass(targetBox, "dropping");
186
+ var dst, appendSibling, delta;
187
+ var src = previousElements.length;
188
+ if (previousElements.length && previousElements[0].moved) for (var cx = 1, dx = previousElements.length + 1; cx < dx; cx++) {
189
+ if (!previousElements[cx]) {
190
+ dst = 0;
191
+ delta = 0;
192
+ appendSibling = appendChild.before;
193
+ } else if (!previousElements[cx].moved) {
194
+ dst = previousElements.length - cx;
195
+ delta = -1;
196
+ appendSibling = appendChild.after;
197
+ break;
160
198
  }
161
- addClass(targetBox, "dropping");
162
- previousElements = [].slice.call(targetBox.children, 0).reverse();
163
- followedElements = [];
164
- [moveMargin, moveChildren, scroll] = getMoveFuncs(previousElements[0]);
165
- moveChildren = moveChildren.bind(null, targetBox, previousElements, followedElements, moveMargin, recover);
166
- };
167
- }
199
+ }
200
+
201
+ if (followedElements.length && followedElements[0].moved) for (var cx = 1, dx = followedElements.length + 1; cx < dx; cx++) {
202
+ if (!followedElements[cx]) {
203
+ dst = followedElements.length + previousElements.length;
204
+ delta = 0;
205
+ appendSibling = appendChild.after;
206
+ } else if (!followedElements[cx].moved) {
207
+ dst = previousElements.length + cx;
208
+ delta = 1;
209
+ appendSibling = appendChild.before;
210
+ break;
211
+ }
212
+ }
213
+ if (appendSibling) {
214
+ var children = targetBox.children;
215
+ var srcElement = children[src];
216
+ var dstElement = children[dst + delta];
217
+ src = bindTarget(src, srcElement);
218
+ dst = bindTarget(dst, dstElement);
219
+ isFunction(move) && move(src, dst, dst + delta, appendSibling, targetBox);
220
+ if (srcElement === children[src] && dstElement === children[dst + delta] && srcElement && dstElement) appendSibling(dstElement, srcElement);
221
+ } else if (isMovingSource === false) {
222
+ move(previousElements.length, previousElements.length, previousElements.length, null, targetBox);
223
+ }
224
+ };
225
+
168
226
  var offall = function () {
169
227
  offmousup();
170
228
  offtouchend();
@@ -190,8 +248,8 @@ var hooka = function (matcher, move, event, targetChild, isMovingSource) {
190
248
 
191
249
  // 修改margin无效的情况
192
250
  function dragclone() {
251
+ draginit();
193
252
  rebuildTargets();
194
- if (targetBox) addClass(targetBox, 'dropping');
195
253
  var _previousElements = previousElements.map(cloneCell);
196
254
  var _followedElements = followedElements.map(cloneCell);
197
255
  previousElements.splice(0, previousElements.length);
@@ -204,109 +262,33 @@ var hooka = function (matcher, move, event, targetChild, isMovingSource) {
204
262
  var offall = function () {
205
263
  offdragmove();
206
264
  offdragend();
207
- removeClass(targetBox, "dropping");
208
265
  };
209
266
  var offdragend = on("dragend")(targetChild, function () {
210
267
  offall();
268
+ dragfire();
211
269
  css(targetBox, { opacity: saved_opacity, filter: saved_filter });
212
270
  remove(previousElements);
213
271
  remove(followedElements);
214
- var dst, appendSibling, delta;
215
- var src = previousElements.length;
216
- if (previousElements.length && previousElements[0].moved) for (var cx = 1, dx = previousElements.length + 1; cx < dx; cx++) {
217
- if (!previousElements[cx]) {
218
- dst = 0;
219
- delta = 0;
220
- appendSibling = appendChild.before;
221
- } else if (!previousElements[cx].moved) {
222
- dst = previousElements.length - cx;
223
- delta = -1;
224
- appendSibling = appendChild.after;
225
- break;
226
- }
227
- }
228
-
229
- if (followedElements.length && followedElements[0].moved) for (var cx = 1, dx = followedElements.length + 1; cx < dx; cx++) {
230
- if (!followedElements[cx]) {
231
- dst = followedElements.length + previousElements.length;
232
- delta = 0;
233
- appendSibling = appendChild.after;
234
- } else if (!followedElements[cx].moved) {
235
- dst = previousElements.length + cx;
236
- delta = 1;
237
- appendSibling = appendChild.before;
238
- break;
239
- }
240
- }
241
272
  previousElements.map(recover);
242
273
  followedElements.map(recover);
243
- if (appendSibling) {
244
- var children = targetBox.children;
245
- var srcElement = children[src];
246
- var dstElement = children[dst + delta];
247
- src = bindTarget(src, srcElement);
248
- dst = bindTarget(dst, dstElement);
249
- isFunction(move) && move(src, dst, dst + delta, appendSibling, targetBox);
250
- if (srcElement === children[src] && dstElement === children[dst + delta] && srcElement && dstElement) appendSibling(dstElement, srcElement);
251
- } else if (isMovingSource === false) {
252
- move(previousElements.length, previousElements.length, previousElements.length, null, targetBox);
253
- }
254
274
  });
255
275
  var offdragmove = on("dragmove")(targetChild, dragmove);
256
276
  }
257
277
  // 仅修改Margin就可以实现拖拽效果
258
278
  function draglist() {
279
+ draginit();
259
280
  rebuildTargets();
260
- if (targetBox) addClass(targetBox, 'dropping');
261
281
  autoScroll();
262
282
  var offall = function () {
263
283
  cancelScroll();
264
284
  offdragmove();
265
285
  offdragend();
266
- if (targetBox) removeClass(targetBox, "dropping");
267
286
  };
268
287
  var offdragend = on("dragend")(targetChild, function () {
269
288
  offall();
270
- var dst, appendSibling, delta;
271
- var src = previousElements.length;
272
- if (previousElements.length && previousElements[0].moved) for (var cx = 1, dx = previousElements.length + 1; cx < dx; cx++) {
273
- if (!previousElements[cx]) {
274
- dst = 0;
275
- delta = 0;
276
- appendSibling = appendChild.before;
277
- } else if (!previousElements[cx].moved) {
278
- dst = previousElements.length - cx;
279
- delta = -1;
280
- appendSibling = appendChild.after;
281
- break;
282
- }
283
- }
284
-
285
- if (followedElements.length && followedElements[0].moved) for (var cx = 1, dx = followedElements.length + 1; cx < dx; cx++) {
286
- if (!followedElements[cx]) {
287
- dst = followedElements.length + previousElements.length;
288
- delta = 0;
289
- appendSibling = appendChild.after;
290
- } else if (!followedElements[cx].moved) {
291
- dst = previousElements.length + cx;
292
- delta = 1;
293
- appendSibling = appendChild.before;
294
- break;
295
- }
296
- }
289
+ dragfire();
297
290
  previousElements.map(e => moveMargin(e, false));
298
291
  followedElements.map(e => moveMargin(e, false));
299
- if (appendSibling) {
300
- var children = targetBox.children;
301
- var srcElement = children[src];
302
- var dstElement = children[dst + delta];
303
- src = bindTarget(src, srcElement);
304
- dst = bindTarget(dst, dstElement);
305
- isFunction(move) && move(src, dst, dst + delta, appendSibling, targetBox);
306
- if (srcElement === children[src] && dstElement === children[dst + delta] && srcElement && dstElement) appendSibling(dstElement, srcElement);
307
- } else if (isMovingSource === false) {
308
- move(previousElements.length, previousElements.length, previousElements.length, null, targetBox);
309
- }
310
292
  });
311
293
  var offdragmove = on("dragmove")(targetChild, dragmove);
312
294
  }
@@ -320,9 +302,7 @@ var hookEvent = function (matcher, move, event) {
320
302
  if (event.target === this) return;
321
303
  var targetChild = getTargetIn(matcher, event.target, false);
322
304
  if (!targetChild) return;
323
- var dragbox = this.dragbox;
324
- if (dragbox instanceof Function) dragbox = dragbox.call(this);
325
- hooka.call(dragbox || this, matcher, move, event, targetChild);
305
+ hooka.call(this, matcher, move, event, targetChild);
326
306
  };
327
307
  function addhook() {
328
308
  var mousedownEvent, targetElement, callback, matcher, dropid, allowdrops;
@@ -4,7 +4,6 @@ function main(elem) {
4
4
  }
5
5
  if (!/^img$/i.test(elem.tagName)) {
6
6
  care(elem, function (src) {
7
- console.log(elem);
8
7
  css(elem, { backgroundImage: `url('${src}')` });
9
8
  })
10
9
  }
@@ -95,6 +95,11 @@ function button(texter, type) {
95
95
  if (_texter.tagName) {
96
96
  var button = _texter;
97
97
  if (button.childNodes.length) {
98
+ if (button.childNodes.length === 1 && button.childNodes[0].nodeType !== 1) {
99
+ _texter = createElement(_label);
100
+ _texter.appendChild(button.childNodes[0]);
101
+ button.appendChild(_texter);
102
+ }
98
103
  appendChild.before(button.childNodes[0], tracker);
99
104
  } else {
100
105
  appendChild(button, tracker);
@@ -18,7 +18,9 @@
18
18
  overflow: hidden;
19
19
  outline: none;
20
20
  }
21
-
21
+ >.label{
22
+ position: relative;
23
+ }
22
24
 
23
25
  @keyframes busy-loading {
24
26
  0% {
@@ -139,9 +141,11 @@
139
141
  margin-left: -2px;
140
142
  height: 200%;
141
143
  background: #fff9;
144
+ background: inherit;
145
+ opacity: 0.9;
142
146
  border-left: 1px #fff3 solid;
143
147
  border-right: 3px #fff6 solid;
144
- animation: ltr 3s linear 1s infinite;
148
+ animation: ltr 2s linear 0s infinite;
145
149
  }
146
150
 
147
151
  }
@@ -1,26 +1,25 @@
1
1
  & {
2
- display: inline-block;
3
- height: 1em;
4
- width: 1em;
5
- border-radius: 2px;
6
- border: .1em solid;
2
+ height: .8em;
3
+ width: .8em;
7
4
  position: relative;
5
+ border: .1em solid;
6
+ margin-right: .3em;
7
+ font-family: sans-serif;
8
+ display: inline-block;
9
+ line-height: 1;
10
+ text-align: center;
11
+ margin-top: .15em;
12
+ border-radius: .12em;
8
13
  vertical-align: middle;
9
- margin-right: 4px;
10
14
 
11
15
  >s {
12
16
  display: none;
13
- border-radius: 50%;
14
- width: 1em;
15
- height: 1em;
16
- line-height: 1;
17
17
  text-decoration: none;
18
- text-align: center;
19
18
  position: absolute;
20
- margin: -.5em;
21
19
  font-weight: bold;
22
- top: 50%;
23
- left: 50%;
20
+ left: 0;
21
+ right: 0;
22
+ top: -.4em;
24
23
  }
25
24
  }
26
25