@kizmann/nano-ui 1.1.3 → 2.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 (130) hide show
  1. package/README.md +4 -4
  2. package/dist/nano-ui.css +1 -1
  3. package/dist/nano-ui.esm.js +2 -0
  4. package/dist/nano-ui.esm.js.map +1 -0
  5. package/dist/themes/default.css +1 -1
  6. package/dist/themes/webservy.css +1 -1
  7. package/package.json +10 -7
  8. package/src/alert/src/alert/alert-handler.mjs +6 -6
  9. package/src/cascader/src/cascader/cascader.jsx +5 -5
  10. package/src/cascader/src/cascader-panel/cascader-panel.jsx +4 -4
  11. package/src/chart/src/chart-bar/chart-bar.jsx +3 -3
  12. package/src/chart/src/chart-donut/chart-donut.jsx +6 -6
  13. package/src/chart/src/chart-item/chart-item.jsx +3 -3
  14. package/src/checkbox/src/checkbox/checkbox.jsx +2 -2
  15. package/src/checkbox/src/checkbox-group/checkbox-group.jsx +1 -1
  16. package/src/collapse/src/collapse/collapse.jsx +2 -2
  17. package/src/collapse/src/collapse-item/collapse-item.jsx +1 -1
  18. package/src/config/index.js +6 -6
  19. package/src/config/src/builder/builder.jsx +35 -35
  20. package/src/config/src/builder/prototypes/switch/n-switch.js +3 -3
  21. package/src/config/src/config/config-next.jsx +20 -22
  22. package/src/config/src/config/config.jsx +10 -10
  23. package/src/config/src/reference-panel/reference-panel.jsx +4 -4
  24. package/src/config/src/reference-picker/reference-picker.jsx +1 -1
  25. package/src/confirm/src/confirm/confirm-handler.mjs +9 -8
  26. package/src/confirm/src/confirm/confirm.jsx +4 -4
  27. package/src/datepicker/src/datepicker-panel/datepicker-panel.jsx +16 -16
  28. package/src/datetimepicker/src/datetimepicker/datetimepicker.jsx +1 -1
  29. package/src/draggable/src/draggrid/draggrid.jsx +5 -5
  30. package/src/draggable/src/draghandler/draghandler.js +65 -52
  31. package/src/draggable/src/draglist/draglist.jsx +11 -11
  32. package/src/draggable/src/draglist-item/draglist-item.jsx +2 -0
  33. package/src/draggable/src/dropzone/dropzone.jsx +5 -5
  34. package/src/drawer/src/drawer/drawer.jsx +5 -5
  35. package/src/durationpicker/src/durationpicker/durationpicker.jsx +7 -7
  36. package/src/file/src/file/file.jsx +3 -3
  37. package/src/form/src/form/form-rules.mjs +70 -40
  38. package/src/form/src/form/form.jsx +9 -9
  39. package/src/form/src/form/form.scss +5 -3
  40. package/src/form/src/form-bag/form-bag.jsx +3 -3
  41. package/src/form/src/form-frame/form-frame.jsx +11 -11
  42. package/src/form/src/form-group/form-group.jsx +3 -3
  43. package/src/form/src/form-item/form-item.jsx +3 -3
  44. package/src/index.scss +3 -0
  45. package/src/info/src/info/info.jsx +6 -6
  46. package/src/info/src/info-column/info-column.jsx +2 -2
  47. package/src/info/src/info-field/types/info-field-boolean.jsx +2 -2
  48. package/src/info/src/info-field/types/info-field-datetime.jsx +2 -2
  49. package/src/info/src/info-field/types/info-field-option.jsx +3 -3
  50. package/src/info/src/info-field/types/info-field-string.jsx +2 -2
  51. package/src/input-number/src/input-number/input-number.jsx +7 -8
  52. package/src/loader/src/loader/loader.jsx +3 -3
  53. package/src/map/src/map/map.jsx +3 -3
  54. package/src/map/src/map-marker/map-marker.jsx +4 -4
  55. package/src/mixins/src/cmer.js +7 -7
  56. package/src/mixins/src/cslo.js +1 -1
  57. package/src/modal/src/modal/modal.jsx +5 -5
  58. package/src/notification/src/notification/notification-handler.mjs +3 -3
  59. package/src/paginator/src/paginator/paginator.jsx +3 -3
  60. package/src/popover/src/popover/popover-element.mjs +12 -12
  61. package/src/popover/src/popover/popover-handler.mjs +5 -5
  62. package/src/popover/src/popover/popover.jsx +5 -4
  63. package/src/popover/src/popover-option/popover-option.jsx +1 -1
  64. package/src/preview/src/preview/preview-handler.mjs +6 -6
  65. package/src/preview/src/preview/preview-helper.mjs +6 -6
  66. package/src/preview/src/preview/preview.jsx +3 -3
  67. package/src/preview/src/preview-image/preview-image.jsx +3 -3
  68. package/src/preview/src/preview-modal/preview-modal.jsx +3 -3
  69. package/src/preview/src/preview-plain/preview-plain.jsx +1 -1
  70. package/src/preview/src/preview-video/preview-video.jsx +2 -2
  71. package/src/radio/src/radio/radio.jsx +1 -1
  72. package/src/radio/src/radio-group/radio-group.jsx +1 -1
  73. package/src/rating/src/rating/rating.jsx +2 -2
  74. package/src/resizer/src/resizer/resizer-next.jsx +19 -19
  75. package/src/resizer/src/resizer/resizer.jsx +17 -17
  76. package/src/scrollbar/src/scrollbar/scrollbar.jsx +17 -17
  77. package/src/select/src/select/select.jsx +27 -29
  78. package/src/select/src/select-option/select-option.jsx +4 -4
  79. package/src/slider/src/slider/slider.jsx +18 -16
  80. package/src/slider/src/slider/slider.scss +6 -25
  81. package/src/switch/src/switch/switch.jsx +1 -1
  82. package/src/table/src/table/table.jsx +21 -18
  83. package/src/table/src/table-cell/types/table-cell-boolean.jsx +2 -2
  84. package/src/table/src/table-cell/types/table-cell-datetime.jsx +2 -2
  85. package/src/table/src/table-cell/types/table-cell-image.jsx +1 -1
  86. package/src/table/src/table-cell/types/table-cell-matrix.jsx +5 -5
  87. package/src/table/src/table-cell/types/table-cell-option.jsx +3 -3
  88. package/src/table/src/table-cell/types/table-cell-select.jsx +5 -5
  89. package/src/table/src/table-cell/types/table-cell-string.jsx +2 -2
  90. package/src/table/src/table-column/table-column.jsx +5 -5
  91. package/src/table/src/table-filter/table-filter.jsx +5 -5
  92. package/src/table/src/table-filter/types/table-filter-boolean.jsx +1 -1
  93. package/src/table/src/table-filter/types/table-filter-option.jsx +2 -2
  94. package/src/table/src/table-filter/types/table-filter-string.jsx +1 -1
  95. package/src/tabs/src/tabs/tabs.jsx +2 -2
  96. package/src/tags/src/tags/tags.jsx +1 -1
  97. package/src/tags/src/tags-item/tags-item.jsx +2 -2
  98. package/src/textarea/src/textarea/textarea.jsx +1 -1
  99. package/src/timepicker/src/timepicker/timepicker.jsx +4 -4
  100. package/src/timepicker/src/timepicker-panel/timepicker-panel.jsx +6 -6
  101. package/src/transfer/src/transfer/transfer.jsx +4 -4
  102. package/src/transfer/src/transfer/transfer.scss +4 -0
  103. package/src/virtualscroller/src/virtualscroller/virtualscroller.jsx +8 -5
  104. package/themes/default/alert/src/alert/alert.scss +1 -1
  105. package/themes/default/confirm/src/confirm/confirm.scss +1 -1
  106. package/themes/default/datepicker/src/datepicker/datepicker.scss +1 -1
  107. package/themes/default/datepicker/src/datepicker-panel/datepicker-panel.scss +2 -2
  108. package/themes/default/datetimepicker/src/datetimepicker/datetimepicker.scss +1 -1
  109. package/themes/default/draggable/src/draglist-item/draglist-item.scss +1 -1
  110. package/themes/default/drawer/src/drawer/drawer.scss +1 -1
  111. package/themes/default/durationpicker/src/durationpicker/durationpicker.scss +1 -1
  112. package/themes/default/modal/src/modal/modal.scss +1 -1
  113. package/themes/default/popover/src/popover/popover.scss +1 -1
  114. package/themes/default/preview/src/preview-modal/preview-modal.scss +1 -1
  115. package/themes/default/slider/src/slider/slider.scss +2 -3
  116. package/themes/default/timepicker/src/timepicker/timepicker.scss +1 -1
  117. package/themes/default/transfer/src/transfer/transfer.scss +1 -0
  118. package/themes/webservy/alert/src/alert/alert.scss +1 -1
  119. package/themes/webservy/confirm/src/confirm/confirm.scss +1 -1
  120. package/themes/webservy/datepicker/src/datepicker/datepicker.scss +1 -1
  121. package/themes/webservy/datetimepicker/src/datetimepicker/datetimepicker.scss +1 -1
  122. package/themes/webservy/draggable/src/draggrid-item/draggrid-item.scss +1 -1
  123. package/themes/webservy/drawer/src/drawer/drawer.scss +1 -1
  124. package/themes/webservy/durationpicker/src/durationpicker/durationpicker.scss +1 -1
  125. package/themes/webservy/modal/src/modal/modal.scss +1 -1
  126. package/themes/webservy/preview/src/preview-modal/preview-modal.scss +1 -1
  127. package/themes/webservy/timepicker/src/timepicker/timepicker.scss +1 -1
  128. package/dist/nano-ui.js +0 -2
  129. package/dist/nano-ui.js.map +0 -1
  130. /package/src/{index.js → index.esm.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from "@kizmann/pico-js";
1
+ import { Hash, Run, Arr, Obj, Dom, Mix, Event, Locale } from "@kizmann/pico-js";
2
2
  import NDraghandler from "../draghandler/draghandler.js";
3
3
 
4
4
  window.DEBUG_NDLIST = false;
@@ -315,7 +315,7 @@ export default {
315
315
  data()
316
316
  {
317
317
  return {
318
- uid: UUID(),
318
+ uid: Hash.uuid(),
319
319
  modifier: [],
320
320
  virtuals: [],
321
321
  visible: [],
@@ -478,7 +478,7 @@ export default {
478
478
  scrollTo(x = 0, y = 0)
479
479
  {
480
480
  if ( ! this.$refs.virtualscroller ) {
481
- return Any.delay(() => this.scrollTo(x, y));
481
+ return Run.delay(() => this.scrollTo(x, y));
482
482
  }
483
483
 
484
484
  this.$refs.virtualscroller.scrollTo(x, y);
@@ -487,7 +487,7 @@ export default {
487
487
  scrollToIndex(index)
488
488
  {
489
489
  if ( ! this.$refs.virtualscroller ) {
490
- return Any.delay(() => this.scrollToIndex(index));
490
+ return Run.delay(() => this.scrollToIndex(index));
491
491
  }
492
492
 
493
493
  this.$refs.virtualscroller.scrollIntoView(index);
@@ -497,7 +497,7 @@ export default {
497
497
  {
498
498
  let canDrag = this.allowDrag;
499
499
 
500
- if ( ! Any.isFunction(canDrag) ) {
500
+ if ( ! Mix.isFunction(canDrag) ) {
501
501
  canDrag = () => this.allowDrag;
502
502
  }
503
503
 
@@ -520,11 +520,11 @@ export default {
520
520
 
521
521
  let val = node;
522
522
 
523
- if ( !Any.isEmpty(key) ) {
523
+ if ( !Mix.isEmpty(key) ) {
524
524
  val = Obj.get(val, key);
525
525
  }
526
526
 
527
- if ( ! Any.isFunction(value) ) {
527
+ if ( ! Mix.isFunction(value) ) {
528
528
  value = (val) => val === value;
529
529
  }
530
530
 
@@ -668,7 +668,7 @@ export default {
668
668
  {
669
669
  let canSelect = this.allowSelect;
670
670
 
671
- if ( ! Any.isFunction(canSelect) ) {
671
+ if ( ! Mix.isFunction(canSelect) ) {
672
672
  canSelect = () => this.allowSelect;
673
673
  }
674
674
 
@@ -711,7 +711,7 @@ export default {
711
711
  let children = Obj.get(this.tempCurrent,
712
712
  this.childProp);
713
713
 
714
- if ( Any.isEmpty(children) ) {
714
+ if ( Mix.isEmpty(children) ) {
715
715
  return;
716
716
  }
717
717
 
@@ -755,7 +755,7 @@ export default {
755
755
  {
756
756
  let indexies = [0, -1], reversed = false;
757
757
 
758
- if ( ! Any.isEmpty(this.lastSelected) ) {
758
+ if ( ! Mix.isEmpty(this.lastSelected) ) {
759
759
  indexies[1] = this.getIndex(this.lastSelected);
760
760
  }
761
761
 
@@ -794,7 +794,7 @@ export default {
794
794
 
795
795
  let canSelect = this.allowSelect;
796
796
 
797
- if ( ! Any.isFunction(canSelect) ) {
797
+ if ( ! Mix.isFunction(canSelect) ) {
798
798
  canSelect = () => this.allowSelect;
799
799
  }
800
800
 
@@ -12,6 +12,8 @@ export default {
12
12
 
13
13
  },
14
14
 
15
+ inheritAttrs: false,
16
+
15
17
  provide()
16
18
  {
17
19
  return {
@@ -1,4 +1,4 @@
1
- import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from "@kizmann/pico-js";
1
+ import { Hash, Num, Arr, Obj, Dom, Mix, Event, Locale } from "@kizmann/pico-js";
2
2
  import NDraghandler from "../draghandler/draghandler.js";
3
3
 
4
4
  window.DEBUG_NDLIST = false;
@@ -131,7 +131,7 @@ export default {
131
131
  data()
132
132
  {
133
133
  return {
134
- uid: UUID(),
134
+ uid: Hash.uuid(),
135
135
  };
136
136
  },
137
137
 
@@ -152,7 +152,7 @@ export default {
152
152
 
153
153
  renderItem()
154
154
  {
155
- if ( Any.isEmpty(this.item) ) {
155
+ if ( Mix.isEmpty(this.item) ) {
156
156
  return null;
157
157
  }
158
158
 
@@ -161,7 +161,7 @@ export default {
161
161
 
162
162
  renderEmpty()
163
163
  {
164
- if ( ! Any.isEmpty(this.item) ) {
164
+ if ( ! Mix.isEmpty(this.item) ) {
165
165
  return null;
166
166
  }
167
167
 
@@ -180,7 +180,7 @@ export default {
180
180
  'n-dropzone--' + this.type
181
181
  ];
182
182
 
183
- if ( Any.isEmpty(this.item) ) {
183
+ if ( Mix.isEmpty(this.item) ) {
184
184
  classList.push('n-empty');
185
185
  }
186
186
 
@@ -1,4 +1,4 @@
1
- import { UUID, Num, Arr, Obj, Any, Dom, Locale } from "@kizmann/pico-js";
1
+ import { Run, Arr, Obj, Mix, Dom, Locale } from "@kizmann/pico-js";
2
2
 
3
3
  window.NDrawerStack = [];
4
4
 
@@ -146,7 +146,7 @@ export default {
146
146
  mounted()
147
147
  {
148
148
  this.target = Dom.find(this.selector || this.$el)
149
- .previous().get(0);
149
+ .prev().get(0);
150
150
 
151
151
  Dom.find(document.body).on('mousedown',
152
152
  this.eventClick, this._.uid);
@@ -159,7 +159,7 @@ export default {
159
159
  };
160
160
 
161
161
  if ( this.modelValue ) {
162
- Any.delay(showDrawer, 100);
162
+ Run.delay(showDrawer, 100);
163
163
  }
164
164
 
165
165
  Dom.find(document.body).append(this.$el);
@@ -215,7 +215,7 @@ export default {
215
215
  {
216
216
  clearTimeout(this.refresh);
217
217
 
218
- Dom.find(this.$el).removeClass('n-ready');
218
+ Dom.find(this.$el).remClass('n-ready');
219
219
  },
220
220
 
221
221
  startRefreshTimeout()
@@ -229,7 +229,7 @@ export default {
229
229
  Dom.find(this.$el).attr('data-drawer',
230
230
  window.zIndex);
231
231
 
232
- Dom.find(this.$el).css({
232
+ Dom.find(this.$el).style({
233
233
  'z-index': window.zIndex
234
234
  });
235
235
 
@@ -1,4 +1,4 @@
1
- import { Any, Obj, Arr, Locale } from "@kizmann/pico-js";
1
+ import { Mix, Obj, Arr, Locale } from "@kizmann/pico-js";
2
2
 
3
3
  export default {
4
4
 
@@ -192,7 +192,7 @@ export default {
192
192
 
193
193
  humanizeValue(value)
194
194
  {
195
- if ( Any.isEmpty(value) ) {
195
+ if ( Mix.isEmpty(value) ) {
196
196
  return '';
197
197
  }
198
198
 
@@ -238,7 +238,7 @@ export default {
238
238
 
239
239
  digitizeValue(text)
240
240
  {
241
- if ( Any.isEmpty(text) ) {
241
+ if ( Mix.isEmpty(text) ) {
242
242
  return this.clearValue;
243
243
  }
244
244
 
@@ -247,25 +247,25 @@ export default {
247
247
  let dmatch = this.findPattern(text, this.days);
248
248
 
249
249
  if ( dmatch && dmatch.length === 3 ) {
250
- value += Any.float(dmatch[1].replace(',', '.')) * 24 * 60 * 60;
250
+ value += Mix.float(dmatch[1].replace(',', '.')) * 24 * 60 * 60;
251
251
  }
252
252
 
253
253
  let hmatch = this.findPattern(text, this.hours);
254
254
 
255
255
  if ( hmatch && hmatch.length === 3 ) {
256
- value += Any.float(hmatch[1].replace(',', '.')) * 60 * 60;
256
+ value += Mix.float(hmatch[1].replace(',', '.')) * 60 * 60;
257
257
  }
258
258
 
259
259
  let mmatch = this.findPattern(text, this.minutes);
260
260
 
261
261
  if ( mmatch && mmatch.length === 3 ) {
262
- value += Any.float(mmatch[1].replace(',', '.')) * 60;
262
+ value += Mix.float(mmatch[1].replace(',', '.')) * 60;
263
263
  }
264
264
 
265
265
  let smatch = this.findPattern(text, this.seconds);
266
266
 
267
267
  if ( smatch && smatch.length === 3 ) {
268
- value += Any.float(smatch[1].replace(',', '.'));
268
+ value += Mix.float(smatch[1].replace(',', '.'));
269
269
  }
270
270
 
271
271
  return value;
@@ -1,4 +1,4 @@
1
- import { Arr, Obj, Any, Locale } from "@kizmann/pico-js";
1
+ import { Arr, Obj, Mix, Locale } from "@kizmann/pico-js";
2
2
 
3
3
  export default {
4
4
 
@@ -105,7 +105,7 @@ export default {
105
105
 
106
106
  tempValue()
107
107
  {
108
- if ( Any.isEmpty(this.tempValue) ) {
108
+ if ( Mix.isEmpty(this.tempValue) ) {
109
109
  this.$refs.input.value = null;
110
110
  }
111
111
  }
@@ -158,7 +158,7 @@ export default {
158
158
  this.tempValue.length);
159
159
  }
160
160
 
161
- if ( this.clearable && !Any.isEmpty(this.tempValue) ) {
161
+ if ( this.clearable && !Mix.isEmpty(this.tempValue) ) {
162
162
  props.icon = this.clearableIcon;
163
163
  }
164
164
 
@@ -1,12 +1,14 @@
1
- import { Any, Arr, Locale, Obj } from "@kizmann/pico-js";
1
+ import { Mix, Arr, Locale, Obj } from "@kizmann/pico-js";
2
2
 
3
3
  export const FormMessage = {
4
4
 
5
- required(field, value) {
5
+ required(field, value)
6
+ {
6
7
  return Locale.trans('Field is required');
7
8
  },
8
9
 
9
- required_if(field, value, key = '') {
10
+ required_if(field, value, key = '')
11
+ {
10
12
 
11
13
  let label = Arr.find(this.elements, (item) => {
12
14
  return item.prop === key;
@@ -17,8 +19,8 @@ export const FormMessage = {
17
19
  });
18
20
  },
19
21
 
20
- required_unless(field, value, key = '') {
21
-
22
+ required_unless(field, value, key = '')
23
+ {
22
24
  let label = Arr.find(this.elements, (item) => {
23
25
  return item.prop === key;
24
26
  });
@@ -50,27 +52,33 @@ export const FormMessage = {
50
52
  });
51
53
  },
52
54
 
53
- value(field, value, val = 'foobar') {
55
+ value(field, value, val = 'foobar')
56
+ {
54
57
  return Locale.trans('Must be exact value :val', { val });
55
58
  },
56
59
 
57
- min(field, value, min = Number.MIN_VALUE) {
60
+ min(field, value, min = Number.MIN_VALUE)
61
+ {
58
62
  return Locale.trans('Must be greather than :min', { min });
59
63
  },
60
64
 
61
- max(field, value, max = Number.MAX_VALUE) {
65
+ max(field, value, max = Number.MAX_VALUE)
66
+ {
62
67
  return Locale.trans('Must be lesser than :max', { max });
63
68
  },
64
69
 
65
- minlength(field, value, min = Number.MIN_VALUE) {
70
+ minlength(field, value, min = Number.MIN_VALUE)
71
+ {
66
72
  return Locale.trans('Length must be greater than :min', { min });
67
73
  },
68
74
 
69
- maxlength(field, value, max = Number.MAX_VALUE) {
75
+ maxlength(field, value, max = Number.MAX_VALUE)
76
+ {
70
77
  return Locale.trans('Length must be lesser than :max', { max });
71
78
  },
72
79
 
73
- email(field, value) {
80
+ email(field, value)
81
+ {
74
82
  return Locale.trans('Must be a valid email');
75
83
  }
76
84
 
@@ -78,101 +86,123 @@ export const FormMessage = {
78
86
 
79
87
  export const FormRules = {
80
88
 
81
- required(field, value) {
82
-
83
- if ( Any.isBool(value) ) {
89
+ required(field, value)
90
+ {
91
+ if ( Mix.isBool(value) ) {
84
92
  return value === true;
85
93
  }
86
94
 
87
- return ! Any.isEmpty(value);
95
+ return !Mix.isEmpty(value);
88
96
  },
89
97
 
90
- required_if(field, value, key = '') {
91
-
98
+ required_if(field, value, key = '')
99
+ {
92
100
  let target = Obj.get(this.form, key);
93
101
 
94
- if ( Any.isEmpty(target) ) {
102
+ if ( Mix.isEmpty(target) ) {
95
103
  return true;
96
104
  }
97
105
 
98
- if ( Any.isBool(value) ) {
106
+ if ( Mix.isBool(value) ) {
99
107
  return value === true;
100
108
  }
101
109
 
102
- return ! Any.isEmpty(value);
110
+ return !Mix.isEmpty(value);
103
111
  },
104
112
 
105
- required_unless(field, value, key = '') {
106
-
113
+ required_unless(field, value, key = '')
114
+ {
107
115
  let target = Obj.get(this.form, key);
108
116
 
109
- if ( ! Any.isEmpty(target) ) {
117
+ if ( !Mix.isEmpty(target) ) {
110
118
  return true;
111
119
  }
112
120
 
113
- if ( Any.isBool(value) ) {
121
+ if ( Mix.isBool(value) ) {
114
122
  return value === true;
115
123
  }
116
124
 
117
- return ! Any.isEmpty(value);
125
+ return !Mix.isEmpty(value);
118
126
  },
119
127
 
120
- same(field, value, key = '') {
128
+ same(field, value, key = '')
129
+ {
121
130
  return value === Obj.get(this.form, key);
122
131
  },
123
132
 
124
- diffrent(field, value, key = '') {
133
+ diffrent(field, value, key = '')
134
+ {
125
135
  return value !== Obj.get(this.form, key);
126
136
  },
127
137
 
128
- value(field, value, val = 'foobar') {
129
-
130
- if ( Any.isString(value) ) {
138
+ value(field, value, val = 'foobar')
139
+ {
140
+ if ( Mix.isString(value) ) {
131
141
  return value === val;
132
142
  }
133
143
 
134
144
  return false;
135
145
  },
136
146
 
137
- min(field, value, min = Number.MIN_VALUE) {
147
+ min(field, value, min = Number.MIN_VALUE)
148
+ {
149
+ if ( Mix.isEmpty(value) ) {
150
+ return true;
151
+ }
138
152
 
139
- if ( Any.isNumber(value) ) {
153
+ if ( Mix.isNumber(value) ) {
140
154
  return value >= min;
141
155
  }
142
156
 
143
157
  return false;
144
158
  },
145
159
 
146
- max(field, value, max = Number.MAX_VALUE) {
160
+ max(field, value, max = Number.MAX_VALUE)
161
+ {
162
+ if ( Mix.isEmpty(value) ) {
163
+ return true;
164
+ }
147
165
 
148
- if ( Any.isNumber(value) ) {
166
+ if ( Mix.isNumber(value) ) {
149
167
  return value <= max;
150
168
  }
151
169
 
152
170
  return false;
153
171
  },
154
172
 
155
- minlength(field, value, min = Number.MIN_VALUE) {
173
+ minlength(field, value, min = Number.MIN_VALUE)
174
+ {
175
+ if ( Mix.isEmpty(value) ) {
176
+ return true;
177
+ }
156
178
 
157
- if ( Any.isString(value) || Any.isArray(value) ) {
179
+ if ( Mix.isString(value) || Mix.isArray(value) ) {
158
180
  return value.length > min;
159
181
  }
160
182
 
161
183
  return false;
162
184
  },
163
185
 
164
- maxlength(field, value, max = Number.MAX_VALUE) {
186
+ maxlength(field, value, max = Number.MAX_VALUE)
187
+ {
188
+ if ( Mix.isEmpty(value) ) {
189
+ return true;
190
+ }
165
191
 
166
- if ( Any.isString(value) || Any.isArray(value) ) {
192
+ if ( Mix.isString(value) || Mix.isArray(value) ) {
167
193
  return value.length < max;
168
194
  }
169
195
 
170
196
  return false;
171
197
  },
172
198
 
173
- email(field, value) {
199
+ email(field, value)
200
+ {
201
+ if ( Mix.isEmpty(value) ) {
202
+ return true;
203
+ }
174
204
 
175
- if ( Any.isString(value) ) {
205
+ if ( Mix.isString(value) ) {
176
206
  return value.match(/^.*?@.*?\.[a-z]{2,}$/);
177
207
  }
178
208
 
@@ -1,4 +1,4 @@
1
- import { UUID, Num, Arr, Obj, Any, Dom, Locale } from "@kizmann/pico-js";
1
+ import { Hash, Run, Arr, Obj, Mix, Dom, Locale } from "@kizmann/pico-js";
2
2
  import { h } from "vue";
3
3
  import {FormMessage, FormRules} from "./form-rules.mjs";
4
4
 
@@ -120,7 +120,7 @@ export default {
120
120
  return [];
121
121
  }
122
122
 
123
- return Any.isArray(this.$attrs) ? this.$attrs.class :
123
+ return Mix.isArray(this.$attrs) ? this.$attrs.class :
124
124
  [this.$attrs.class];
125
125
  }
126
126
 
@@ -129,7 +129,7 @@ export default {
129
129
  data()
130
130
  {
131
131
  return {
132
- uid: UUID(), elements: [], rules: [], groups: {}, ruleErrors: {}, blocked: true,
132
+ uid: Hash.uuid(), elements: [], rules: [], groups: {}, ruleErrors: {}, blocked: true,
133
133
  };
134
134
  },
135
135
 
@@ -142,7 +142,7 @@ export default {
142
142
 
143
143
  mounted()
144
144
  {
145
- Any.delay(this.ctor('ready'), 500);
145
+ Run.delay(this.ctor('ready'), 500);
146
146
  },
147
147
 
148
148
  ready()
@@ -256,7 +256,7 @@ export default {
256
256
 
257
257
  let message = FormMessage[name].call(this, field, value, ...args);
258
258
 
259
- if ( Any.isEmpty(message) ) {
259
+ if ( Mix.isEmpty(message) ) {
260
260
  return;
261
261
  }
262
262
 
@@ -275,7 +275,7 @@ export default {
275
275
  });
276
276
 
277
277
  this.ruleErrors = Obj.filter(errors, (err) => {
278
- return ! Any.isEmpty(err);
278
+ return ! Mix.isEmpty(err);
279
279
  });
280
280
 
281
281
  return this.ruleErrors;
@@ -285,10 +285,10 @@ export default {
285
285
  {
286
286
  this.validate();
287
287
 
288
- let count = Any.keys(this.ruleErrors).length;
288
+ let count = Mix.keys(this.ruleErrors).length;
289
289
 
290
290
  if ( includeErrors ) {
291
- count += Any.keys(this.errors).length;
291
+ count += Mix.keys(this.errors).length;
292
292
  }
293
293
 
294
294
  return count === 0;
@@ -300,7 +300,7 @@ export default {
300
300
 
301
301
  Obj.each(this.errors, (err, key) => {
302
302
 
303
- if ( ! Any.isArray(err) ) {
303
+ if ( ! Mix.isArray(err) ) {
304
304
  err = [err];
305
305
  }
306
306
 
@@ -19,8 +19,8 @@
19
19
  top: 50%;
20
20
  left: 50%;
21
21
  transform: translate(-50%, -50%);
22
- width: size('base-hgt', 'calc($ - 14px)');
23
- height: size('base-hgt', 'calc($ - 14px)');
22
+ width: size('base-hgt', 'calc($ - 12px)');
23
+ height: size('base-hgt', 'calc($ - 12px)');
24
24
  }
25
25
 
26
26
  .n-form-clear i,
@@ -28,6 +28,8 @@
28
28
  display: inline-flex;
29
29
  align-items: center;
30
30
  justify-content: center;
31
- font-size: 0.8em;
31
+ text-align: center;
32
+ font-size: size('base-fnt-icon');
33
+ line-height: 10px;
32
34
  border-radius: size('base-rad-circle');
33
35
  }
@@ -1,4 +1,4 @@
1
- import { Any, Arr, Obj, UUID } from "@kizmann/pico-js";
1
+ import { Mix, Arr, Obj, Hash } from "@kizmann/pico-js";
2
2
 
3
3
  export default {
4
4
 
@@ -15,7 +15,7 @@ export default {
15
15
  data()
16
16
  {
17
17
  return {
18
- uid: UUID()
18
+ uid: Hash.uuid()
19
19
  };
20
20
  },
21
21
 
@@ -37,7 +37,7 @@ export default {
37
37
 
38
38
  console.log('err', field.prop, errors)
39
39
 
40
- if ( Any.isEmpty(errors) ) {
40
+ if ( Mix.isEmpty(errors) ) {
41
41
  return null;
42
42
  }
43
43
 
@@ -1,4 +1,4 @@
1
- import { Arr, Any, Dom, Str, Locale } from "@kizmann/pico-js";
1
+ import { Run, Arr, Mix, Dom, Str, Locale } from "@kizmann/pico-js";
2
2
 
3
3
  export default {
4
4
 
@@ -89,7 +89,7 @@ export default {
89
89
  return;
90
90
  }
91
91
 
92
- if ( ! Any.isEmpty(this.timeout) ) {
92
+ if ( ! Mix.isEmpty(this.timeout) ) {
93
93
  clearTimeout(this.timeout);
94
94
  }
95
95
 
@@ -107,7 +107,7 @@ export default {
107
107
  this.block = block;
108
108
 
109
109
  Dom.find(this.$el).find(`[data-menu-key]`).each((el) => {
110
- Dom.find(el).removeClass('is-star');
110
+ Dom.find(el).remClass('is-star');
111
111
  });
112
112
 
113
113
  Dom.find(this.$el).find(`[data-menu-key="${id}"]`)
@@ -116,11 +116,11 @@ export default {
116
116
 
117
117
  onMoveEvent()
118
118
  {
119
- Dom.find(window).on('mousemove', Any.debounce(e => {
119
+ Dom.find(window).on('mousemove', Run.debounce(e => {
120
120
 
121
121
  let el = Dom.find(e.target).closest('[data-group-key]');
122
122
 
123
- if ( Any.isEmpty(el) ) {
123
+ if ( Mix.isEmpty(el) ) {
124
124
  return;
125
125
  }
126
126
 
@@ -132,7 +132,7 @@ export default {
132
132
  onScrollEvent()
133
133
  {
134
134
  Dom.find(this.$el).find('[data-menu-key]').each((el) => {
135
- Dom.find(el).removeClass(['is-visible', 'is-first']);
135
+ Dom.find(el).remClass(['is-visible', 'is-first']);
136
136
  });
137
137
 
138
138
  let options = {
@@ -165,9 +165,9 @@ export default {
165
165
  let search = Str.lower(this.search);
166
166
 
167
167
  Dom.find(this.$el).find(`[data-menu-key]`)
168
- .removeClass('on-search');
168
+ .remClass('on-search');
169
169
 
170
- if ( Any.isEmpty(search) ) {
170
+ if ( Mix.isEmpty(search) ) {
171
171
  return;
172
172
  }
173
173
 
@@ -187,7 +187,7 @@ export default {
187
187
 
188
188
  onClickEvent(item, event = null)
189
189
  {
190
- if ( ! Any.isEmpty(event) ) {
190
+ if ( ! Mix.isEmpty(event) ) {
191
191
  event.preventDefault();
192
192
  }
193
193
 
@@ -216,7 +216,7 @@ export default {
216
216
  placeholder: this.searchPlaceholder
217
217
  };
218
218
 
219
- if ( ! Any.isEmpty(this.search) ) {
219
+ if ( ! Mix.isEmpty(this.search) ) {
220
220
  searchProps.icon = this.searchIcon;
221
221
  }
222
222
 
@@ -300,7 +300,7 @@ export default {
300
300
  'n-form-frame--' + this.NForm.size
301
301
  ];
302
302
 
303
- if ( ! Any.isEmpty(this.search) ) {
303
+ if ( ! Mix.isEmpty(this.search) ) {
304
304
  classList.push('n-form-frame--search')
305
305
  }
306
306