fomantic-ui 2.9.3-beta.2 → 2.9.3-beta.20
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.
- package/.github/workflows/ci.yml +1 -1
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +1 -1
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +1 -1
- package/dist/components/api.min.js +1 -1
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +2 -2
- package/dist/components/button.min.css +2 -2
- package/dist/components/calendar.css +6 -6
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +1 -1
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +1 -1
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +62 -1
- package/dist/components/container.min.css +2 -2
- package/dist/components/dimmer.css +3 -3
- package/dist/components/dimmer.js +1 -1
- package/dist/components/dimmer.min.css +2 -2
- package/dist/components/dimmer.min.js +1 -1
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +42 -4
- package/dist/components/dropdown.js +22 -12
- package/dist/components/dropdown.min.css +2 -2
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +1 -1
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +1 -1
- package/dist/components/emoji.css +1 -1
- package/dist/components/emoji.min.css +1 -1
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +3 -2
- package/dist/components/flag.min.css +2 -2
- package/dist/components/flyout.css +1 -1
- package/dist/components/flyout.js +26 -20
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +53 -20
- package/dist/components/form.js +74 -43
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +107 -107
- package/dist/components/grid.min.css +2 -2
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +3 -27
- package/dist/components/input.min.css +2 -2
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +21 -2
- package/dist/components/label.min.css +2 -2
- package/dist/components/list.css +13 -13
- package/dist/components/list.min.css +2 -2
- package/dist/components/loader.css +282 -282
- package/dist/components/loader.min.css +2 -2
- package/dist/components/menu.css +9 -3
- package/dist/components/menu.min.css +2 -2
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +10 -3
- package/dist/components/modal.js +31 -26
- package/dist/components/modal.min.css +2 -2
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +1 -1
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +1 -1
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +41 -40
- package/dist/components/popup.js +8 -6
- package/dist/components/popup.min.css +2 -2
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +1 -1
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +1 -1
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +1 -1
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +17 -1
- package/dist/components/search.js +3 -2
- package/dist/components/search.min.css +2 -2
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +159 -33
- package/dist/components/segment.min.css +2 -2
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +1 -1
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +1 -1
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +1 -1
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +1 -1
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +1 -1
- package/dist/components/slider.css +1 -1
- package/dist/components/slider.js +122 -26
- package/dist/components/slider.min.css +1 -1
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +1 -1
- package/dist/components/state.min.js +1 -1
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +1 -1
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +1 -1
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +1 -1
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +1 -1
- package/dist/components/table.css +65 -1
- package/dist/components/table.min.css +2 -2
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +6 -1
- package/dist/components/toast.js +2 -2
- package/dist/components/toast.min.css +2 -2
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +1 -1
- package/dist/components/transition.js +1 -1
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +1 -1
- package/dist/components/visibility.js +1 -1
- package/dist/components/visibility.min.js +1 -1
- package/dist/semantic.css +1055 -593
- package/dist/semantic.js +306 -155
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/package.json +1 -1
- package/src/definitions/behaviors/form.js +73 -42
- package/src/definitions/collections/breadcrumb.less +2 -1
- package/src/definitions/collections/form.less +27 -13
- package/src/definitions/collections/grid.less +108 -107
- package/src/definitions/collections/menu.less +29 -21
- package/src/definitions/collections/message.less +2 -1
- package/src/definitions/collections/table.less +68 -1
- package/src/definitions/elements/button.less +4 -2
- package/src/definitions/elements/container.less +65 -1
- package/src/definitions/elements/divider.less +2 -1
- package/src/definitions/elements/emoji.less +2 -1
- package/src/definitions/elements/flag.less +2 -1
- package/src/definitions/elements/header.less +2 -1
- package/src/definitions/elements/icon.less +2 -1
- package/src/definitions/elements/image.less +2 -1
- package/src/definitions/elements/input.less +4 -3
- package/src/definitions/elements/label.less +23 -2
- package/src/definitions/elements/list.less +14 -13
- package/src/definitions/elements/loader.less +73 -72
- package/src/definitions/elements/placeholder.less +2 -1
- package/src/definitions/elements/rail.less +2 -1
- package/src/definitions/elements/reveal.less +2 -1
- package/src/definitions/elements/segment.less +112 -14
- package/src/definitions/elements/step.less +2 -1
- package/src/definitions/elements/text.less +2 -1
- package/src/definitions/globals/reset.less +2 -1
- package/src/definitions/globals/site.less +2 -1
- package/src/definitions/modules/accordion.less +2 -1
- package/src/definitions/modules/calendar.less +3 -2
- package/src/definitions/modules/checkbox.less +2 -1
- package/src/definitions/modules/dimmer.less +4 -3
- package/src/definitions/modules/dropdown.js +21 -11
- package/src/definitions/modules/dropdown.less +55 -4
- package/src/definitions/modules/embed.less +2 -1
- package/src/definitions/modules/flyout.js +25 -19
- package/src/definitions/modules/flyout.less +2 -1
- package/src/definitions/modules/modal.js +30 -25
- package/src/definitions/modules/modal.less +13 -3
- package/src/definitions/modules/nag.less +3 -1
- package/src/definitions/modules/popup.js +7 -5
- package/src/definitions/modules/popup.less +42 -39
- package/src/definitions/modules/progress.less +2 -1
- package/src/definitions/modules/rating.less +2 -1
- package/src/definitions/modules/search.js +2 -1
- package/src/definitions/modules/search.less +20 -1
- package/src/definitions/modules/shape.less +2 -1
- package/src/definitions/modules/sidebar.less +2 -1
- package/src/definitions/modules/slider.js +121 -25
- package/src/definitions/modules/slider.less +2 -1
- package/src/definitions/modules/sticky.less +2 -1
- package/src/definitions/modules/tab.less +2 -1
- package/src/definitions/modules/toast.js +1 -1
- package/src/definitions/modules/toast.less +9 -1
- package/src/definitions/modules/transition.less +2 -1
- package/src/definitions/views/ad.less +2 -1
- package/src/definitions/views/card.less +2 -1
- package/src/definitions/views/comment.less +2 -1
- package/src/definitions/views/feed.less +2 -1
- package/src/definitions/views/item.less +2 -1
- package/src/definitions/views/statistic.less +2 -1
- package/src/overrides.less +7 -0
- package/src/theme.less +7 -6
- package/src/themes/amazon/elements/button.variables +5 -1
- package/src/themes/bootstrap3/elements/button.variables +5 -1
- package/src/themes/chubby/elements/header.variables +6 -1
- package/src/themes/default/collections/message.variables +3 -9
- package/src/themes/default/collections/table.variables +3 -0
- package/src/themes/default/elements/button.variables +1 -3
- package/src/themes/default/elements/container.variables +3 -0
- package/src/themes/default/elements/flag.variables +1 -1
- package/src/themes/default/elements/label.variables +5 -0
- package/src/themes/default/elements/segment.variables +8 -0
- package/src/themes/default/globals/site.variables +20 -1
- package/src/themes/default/globals/variation.variables +7 -1
- package/src/themes/default/modules/dropdown.variables +6 -0
- package/src/themes/default/modules/modal.variables +4 -0
- package/src/themes/default/modules/popup.variables +3 -1
- package/src/themes/default/modules/search.variables +3 -0
- package/src/themes/default/modules/toast.variables +1 -0
- package/src/themes/default/views/card.variables +4 -12
- package/src/themes/github/elements/button.variables +5 -1
- package/src/themes/twitter/elements/button.variables +5 -1
- package/tasks/admin/distributions/create.js +8 -3
- package/tasks/config/project/install.js +3 -0
- package/tasks/config/tasks.js +1 -8
- package/tasks/install.js +15 -5
package/package.json
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
$.fn.form = function (parameters) {
|
23
23
|
var
|
24
24
|
$allModules = $(this),
|
25
|
+
$window = $(window),
|
25
26
|
|
26
27
|
time = Date.now(),
|
27
28
|
performance = [],
|
@@ -60,6 +61,8 @@
|
|
60
61
|
namespace,
|
61
62
|
moduleNamespace,
|
62
63
|
eventNamespace,
|
64
|
+
attachEventsSelector,
|
65
|
+
attachEventsAction,
|
63
66
|
|
64
67
|
submitting = false,
|
65
68
|
dirty = false,
|
@@ -74,6 +77,7 @@
|
|
74
77
|
initialize: function () {
|
75
78
|
// settings grabbed at run time
|
76
79
|
module.get.settings();
|
80
|
+
$module.addClass(className.initial);
|
77
81
|
if (methodInvoked) {
|
78
82
|
if (instance === undefined) {
|
79
83
|
module.instantiate();
|
@@ -127,10 +131,13 @@
|
|
127
131
|
module.bindEvents();
|
128
132
|
},
|
129
133
|
|
130
|
-
submit: function () {
|
134
|
+
submit: function (event) {
|
131
135
|
module.verbose('Submitting form', $module);
|
132
136
|
submitting = true;
|
133
137
|
$module.trigger('submit');
|
138
|
+
if (event) {
|
139
|
+
event.preventDefault();
|
140
|
+
}
|
134
141
|
},
|
135
142
|
|
136
143
|
attachEvents: function (selector, action) {
|
@@ -142,6 +149,9 @@
|
|
142
149
|
module[action]();
|
143
150
|
event.preventDefault();
|
144
151
|
});
|
152
|
+
|
153
|
+
attachEventsSelector = selector;
|
154
|
+
attachEventsAction = action;
|
145
155
|
},
|
146
156
|
|
147
157
|
bindEvents: function () {
|
@@ -153,6 +163,7 @@
|
|
153
163
|
.on('click' + eventNamespace, selector.reset, module.reset)
|
154
164
|
.on('click' + eventNamespace, selector.clear, module.clear)
|
155
165
|
;
|
166
|
+
$field.on('invalid' + eventNamespace, module.event.field.invalid);
|
156
167
|
if (settings.keyboardShortcuts) {
|
157
168
|
$module.on('keydown' + eventNamespace, selector.field, module.event.field.keydown);
|
158
169
|
}
|
@@ -167,7 +178,7 @@
|
|
167
178
|
|
168
179
|
// Dirty events
|
169
180
|
if (settings.preventLeaving) {
|
170
|
-
$
|
181
|
+
$window.on('beforeunload' + eventNamespace, module.event.beforeUnload);
|
171
182
|
}
|
172
183
|
|
173
184
|
$field.on('change' + eventNamespace
|
@@ -185,6 +196,9 @@
|
|
185
196
|
$module.on('clean' + eventNamespace, function (e) {
|
186
197
|
settings.onClean.call();
|
187
198
|
});
|
199
|
+
if (attachEventsSelector) {
|
200
|
+
module.attachEvents(attachEventsSelector, attachEventsAction);
|
201
|
+
}
|
188
202
|
},
|
189
203
|
|
190
204
|
clear: function () {
|
@@ -233,6 +247,7 @@
|
|
233
247
|
isCheckbox = $field.is(selector.checkbox),
|
234
248
|
isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
|
235
249
|
isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
|
250
|
+
isFile = $field.is(selector.file),
|
236
251
|
isErrored = $fieldGroup.hasClass(className.error)
|
237
252
|
;
|
238
253
|
if (defaultValue === undefined) {
|
@@ -253,7 +268,7 @@
|
|
253
268
|
$calendar.calendar('set date', defaultValue);
|
254
269
|
} else {
|
255
270
|
module.verbose('Resetting field value', $field, defaultValue);
|
256
|
-
$field.val(defaultValue);
|
271
|
+
$field.val(isFile ? '' : defaultValue);
|
257
272
|
}
|
258
273
|
});
|
259
274
|
module.remove.states();
|
@@ -264,8 +279,12 @@
|
|
264
279
|
var
|
265
280
|
allValid = true
|
266
281
|
;
|
267
|
-
|
268
|
-
|
282
|
+
$field.each(function (index, el) {
|
283
|
+
var $el = $(el),
|
284
|
+
validation = module.get.validation($el) || {},
|
285
|
+
identifier = module.get.identifier(validation, $el)
|
286
|
+
;
|
287
|
+
if (!module.validate.field(validation, identifier, true)) {
|
269
288
|
allValid = false;
|
270
289
|
}
|
271
290
|
});
|
@@ -389,6 +408,13 @@
|
|
389
408
|
$module.off(eventNamespace);
|
390
409
|
$field.off(eventNamespace);
|
391
410
|
$submit.off(eventNamespace);
|
411
|
+
if (settings.preventLeaving) {
|
412
|
+
$window.off(eventNamespace);
|
413
|
+
}
|
414
|
+
if (attachEventsSelector) {
|
415
|
+
$(attachEventsSelector).off(eventNamespace);
|
416
|
+
attachEventsSelector = undefined;
|
417
|
+
}
|
392
418
|
},
|
393
419
|
|
394
420
|
event: {
|
@@ -414,9 +440,8 @@
|
|
414
440
|
if (!event.ctrlKey && key === keyCode.enter && isInput && !isInDropdown && !isCheckbox) {
|
415
441
|
if (!keyHeldDown) {
|
416
442
|
$field.one('keyup' + eventNamespace, module.event.field.keyup);
|
417
|
-
module.submit();
|
443
|
+
module.submit(event);
|
418
444
|
module.debug('Enter pressed on input submitting form');
|
419
|
-
event.preventDefault();
|
420
445
|
}
|
421
446
|
keyHeldDown = true;
|
422
447
|
}
|
@@ -424,15 +449,18 @@
|
|
424
449
|
keyup: function () {
|
425
450
|
keyHeldDown = false;
|
426
451
|
},
|
452
|
+
invalid: function (event) {
|
453
|
+
event.preventDefault();
|
454
|
+
},
|
427
455
|
blur: function (event) {
|
428
456
|
var
|
429
457
|
$field = $(this),
|
430
|
-
|
431
|
-
|
458
|
+
validationRules = module.get.validation($field) || {},
|
459
|
+
identifier = module.get.identifier(validationRules, $field)
|
432
460
|
;
|
433
|
-
if (
|
461
|
+
if (settings.on === 'blur' || (!$module.hasClass(className.initial) && settings.revalidate)) {
|
434
462
|
module.debug('Revalidating field', $field, validationRules);
|
435
|
-
module.validate.field(validationRules);
|
463
|
+
module.validate.field(validationRules, identifier);
|
436
464
|
if (!settings.inline) {
|
437
465
|
module.validate.form(false, true);
|
438
466
|
}
|
@@ -441,14 +469,14 @@
|
|
441
469
|
change: function (event) {
|
442
470
|
var
|
443
471
|
$field = $(this),
|
444
|
-
|
445
|
-
|
472
|
+
validationRules = module.get.validation($field) || {},
|
473
|
+
identifier = module.get.identifier(validationRules, $field)
|
446
474
|
;
|
447
|
-
if (
|
475
|
+
if (settings.on === 'change' || (!$module.hasClass(className.initial) && settings.revalidate)) {
|
448
476
|
clearTimeout(module.timer);
|
449
477
|
module.timer = setTimeout(function () {
|
450
478
|
module.debug('Revalidating field', $field, validationRules);
|
451
|
-
module.validate.field(validationRules);
|
479
|
+
module.validate.field(validationRules, identifier);
|
452
480
|
if (!settings.inline) {
|
453
481
|
module.validate.form(false, true);
|
454
482
|
}
|
@@ -490,18 +518,7 @@
|
|
490
518
|
return rule.type;
|
491
519
|
},
|
492
520
|
changeEvent: function (type, $input) {
|
493
|
-
|
494
|
-
return 'change';
|
495
|
-
}
|
496
|
-
|
497
|
-
return module.get.inputEvent();
|
498
|
-
},
|
499
|
-
inputEvent: function () {
|
500
|
-
return document.createElement('input').oninput !== undefined
|
501
|
-
? 'input'
|
502
|
-
: (document.createElement('input').onpropertychange !== undefined
|
503
|
-
? 'propertychange'
|
504
|
-
: 'keyup');
|
521
|
+
return ['file', 'checkbox', 'radio', 'hidden'].indexOf(type) >= 0 || $input.is('select') ? 'change' : 'input';
|
505
522
|
},
|
506
523
|
fieldsFromShorthand: function (fields) {
|
507
524
|
var
|
@@ -525,6 +542,9 @@
|
|
525
542
|
|
526
543
|
return fullFields;
|
527
544
|
},
|
545
|
+
identifier: function (validation, $el) {
|
546
|
+
return validation.identifier || $el.attr('id') || $el.attr('name') || $el.data(metadata.validate);
|
547
|
+
},
|
528
548
|
prompt: function (rule, field) {
|
529
549
|
var
|
530
550
|
ruleName = module.get.ruleName(rule),
|
@@ -637,7 +657,7 @@
|
|
637
657
|
var $field = typeof identifier === 'string'
|
638
658
|
? module.get.field(identifier)
|
639
659
|
: identifier,
|
640
|
-
$label = $field.closest(selector.group).find('label').eq(0)
|
660
|
+
$label = $field.closest(selector.group).find('label:not(:empty)').eq(0)
|
641
661
|
;
|
642
662
|
|
643
663
|
return $label.length === 1
|
@@ -968,7 +988,7 @@
|
|
968
988
|
$message.empty();
|
969
989
|
},
|
970
990
|
states: function () {
|
971
|
-
$module.removeClass(className.error).removeClass(className.success);
|
991
|
+
$module.removeClass(className.error).removeClass(className.success).addClass(className.initial);
|
972
992
|
if (!settings.inline) {
|
973
993
|
module.remove.errors();
|
974
994
|
}
|
@@ -1106,6 +1126,7 @@
|
|
1106
1126
|
$field = module.get.field(key),
|
1107
1127
|
$element = $field.parent(),
|
1108
1128
|
$calendar = $field.closest(selector.uiCalendar),
|
1129
|
+
isFile = $field.is(selector.file),
|
1109
1130
|
isMultiple = Array.isArray(value),
|
1110
1131
|
isCheckbox = $element.is(selector.uiCheckbox) && module.can.useElement('checkbox'),
|
1111
1132
|
isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
|
@@ -1148,7 +1169,7 @@
|
|
1148
1169
|
$calendar.calendar('set date', value);
|
1149
1170
|
} else {
|
1150
1171
|
module.verbose('Setting field value', value, $field);
|
1151
|
-
$field.val(value);
|
1172
|
+
$field.val(isFile ? '' : value);
|
1152
1173
|
}
|
1153
1174
|
}
|
1154
1175
|
});
|
@@ -1204,7 +1225,7 @@
|
|
1204
1225
|
return rule.type === 'empty';
|
1205
1226
|
}) !== 0
|
1206
1227
|
: false,
|
1207
|
-
identifier =
|
1228
|
+
identifier = module.get.identifier(validation, $el)
|
1208
1229
|
;
|
1209
1230
|
if (isRequired && !isDisabled && !hasEmptyRule && identifier !== undefined) {
|
1210
1231
|
if (isCheckbox) {
|
@@ -1236,7 +1257,7 @@
|
|
1236
1257
|
if (keyHeldDown) {
|
1237
1258
|
return false;
|
1238
1259
|
}
|
1239
|
-
|
1260
|
+
$module.removeClass(className.initial);
|
1240
1261
|
// reset errors
|
1241
1262
|
formErrors = [];
|
1242
1263
|
if (module.determine.isValid()) {
|
@@ -1308,13 +1329,24 @@
|
|
1308
1329
|
? module.get.field(field.depends)
|
1309
1330
|
: false,
|
1310
1331
|
fieldValid = true,
|
1311
|
-
fieldErrors = []
|
1332
|
+
fieldErrors = [],
|
1333
|
+
isDisabled = $field.filter(':not(:disabled)').length === 0,
|
1334
|
+
validationMessage = $field[0].validationMessage
|
1312
1335
|
;
|
1313
1336
|
if (!field.identifier) {
|
1314
1337
|
module.debug('Using field name as identifier', identifier);
|
1315
1338
|
field.identifier = identifier;
|
1316
1339
|
}
|
1317
|
-
|
1340
|
+
if (validationMessage) {
|
1341
|
+
module.debug('Field is natively invalid', identifier);
|
1342
|
+
fieldErrors.push(validationMessage);
|
1343
|
+
fieldValid = false;
|
1344
|
+
if (showErrors) {
|
1345
|
+
$field.closest($group).addClass(className.error);
|
1346
|
+
}
|
1347
|
+
} else if (showErrors) {
|
1348
|
+
$field.closest($group).removeClass(className.error);
|
1349
|
+
}
|
1318
1350
|
if (isDisabled) {
|
1319
1351
|
module.debug('Field is disabled. Skipping', identifier);
|
1320
1352
|
} else if (field.optional && module.is.blank($field)) {
|
@@ -1322,9 +1354,6 @@
|
|
1322
1354
|
} else if (field.depends && module.is.empty($dependsField)) {
|
1323
1355
|
module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField);
|
1324
1356
|
} else if (field.rules !== undefined) {
|
1325
|
-
if (showErrors) {
|
1326
|
-
$field.closest($group).removeClass(className.error);
|
1327
|
-
}
|
1328
1357
|
$.each(field.rules, function (index, rule) {
|
1329
1358
|
if (module.has.field(identifier)) {
|
1330
1359
|
var invalidFields = module.validate.rule(field, rule, true) || [];
|
@@ -1341,7 +1370,7 @@
|
|
1341
1370
|
}
|
1342
1371
|
if (fieldValid) {
|
1343
1372
|
if (showErrors) {
|
1344
|
-
module.remove.prompt(identifier
|
1373
|
+
module.remove.prompt(identifier);
|
1345
1374
|
settings.onValid.call($field);
|
1346
1375
|
}
|
1347
1376
|
} else {
|
@@ -1631,8 +1660,8 @@
|
|
1631
1660
|
isExactly: '{name} must be exactly "{ruleValue}"',
|
1632
1661
|
not: '{name} cannot be set to "{ruleValue}"',
|
1633
1662
|
notExactly: '{name} cannot be set to exactly "{ruleValue}"',
|
1634
|
-
|
1635
|
-
|
1663
|
+
contains: '{name} must contain "{ruleValue}"',
|
1664
|
+
containsExactly: '{name} must contain exactly "{ruleValue}"',
|
1636
1665
|
doesntContain: '{name} cannot contain "{ruleValue}"',
|
1637
1666
|
doesntContainExactly: '{name} cannot contain exactly "{ruleValue}"',
|
1638
1667
|
minLength: '{name} must be at least {ruleValue} characters',
|
@@ -1651,9 +1680,10 @@
|
|
1651
1680
|
selector: {
|
1652
1681
|
checkbox: 'input[type="checkbox"], input[type="radio"]',
|
1653
1682
|
clear: '.clear',
|
1654
|
-
field: 'input:not(.search):not([type="
|
1683
|
+
field: 'input:not(.search):not([type="reset"]):not([type="button"]):not([type="submit"]), textarea, select',
|
1684
|
+
file: 'input[type="file"]',
|
1655
1685
|
group: '.field',
|
1656
|
-
input: 'input
|
1686
|
+
input: 'input',
|
1657
1687
|
message: '.error.message',
|
1658
1688
|
prompt: '.prompt.label',
|
1659
1689
|
radio: 'input[type="radio"]',
|
@@ -1665,6 +1695,7 @@
|
|
1665
1695
|
},
|
1666
1696
|
|
1667
1697
|
className: {
|
1698
|
+
initial: 'initial',
|
1668
1699
|
error: 'error',
|
1669
1700
|
label: 'ui basic red pointing prompt label',
|
1670
1701
|
pressed: 'down',
|
@@ -527,6 +527,12 @@
|
|
527
527
|
color: @c;
|
528
528
|
}
|
529
529
|
|
530
|
+
@supports selector(:has(.f)) {
|
531
|
+
.ui.form .fields:has(.@{state}) > label {
|
532
|
+
color: @c;
|
533
|
+
}
|
534
|
+
}
|
535
|
+
|
530
536
|
.ui.form .fields.@{state} .field .ui.label,
|
531
537
|
.ui.form .field.@{state} .ui.label {
|
532
538
|
background-color: @lbg;
|
@@ -579,14 +585,7 @@
|
|
579
585
|
box-shadow: @formStates[@@state][boxShadow];
|
580
586
|
}
|
581
587
|
& when (@state=error) and (@variationFormInvalid) {
|
582
|
-
.ui.form .field input:
|
583
|
-
color: @c;
|
584
|
-
background: @bg;
|
585
|
-
border-color: @formStates[@@state][borderColor];
|
586
|
-
border-radius: @formStates[@@state][borderRadius];
|
587
|
-
box-shadow: @formStates[@@state][boxShadow];
|
588
|
-
}
|
589
|
-
.ui.form .field input:not(:-ms-input-placeholder):invalid when (@supportIE) {
|
588
|
+
.ui.form:not(.initial) .field input:invalid {
|
590
589
|
color: @c;
|
591
590
|
background: @bg;
|
592
591
|
border-color: @formStates[@@state][borderColor];
|
@@ -729,6 +728,12 @@
|
|
729
728
|
.ui.inverted.form .@{state}.field label {
|
730
729
|
color: @lbg;
|
731
730
|
}
|
731
|
+
|
732
|
+
@supports selector(:has(.f)) {
|
733
|
+
.ui.inverted.form .fields:has(.@{state}) > label {
|
734
|
+
color: @lbg;
|
735
|
+
}
|
736
|
+
}
|
732
737
|
}
|
733
738
|
});
|
734
739
|
}
|
@@ -804,10 +809,11 @@
|
|
804
809
|
Required Field
|
805
810
|
--------------------- */
|
806
811
|
|
807
|
-
.ui.form .required.fields:not(.grouped) > .field > label::after,
|
812
|
+
.ui.form .required.fields:not(.grouped):not(.inline) > .field > label::after,
|
813
|
+
.ui.form .required.fields.inline > label::after,
|
808
814
|
.ui.form .required.fields.grouped > label::after,
|
809
815
|
.ui.form .required.field > label::after,
|
810
|
-
.ui.form .required.fields:not(.grouped) > .field > .checkbox::after,
|
816
|
+
.ui.form .required.fields:not(.grouped):not(.inline) > .field > .checkbox::after,
|
811
817
|
.ui.form .required.field > .checkbox::after,
|
812
818
|
.ui.form label.required::after {
|
813
819
|
margin: @requiredMargin;
|
@@ -815,7 +821,8 @@
|
|
815
821
|
color: @requiredColor;
|
816
822
|
}
|
817
823
|
|
818
|
-
.ui.form .required.fields:not(.grouped) > .field > label::after,
|
824
|
+
.ui.form .required.fields:not(.grouped):not(.inline) > .field > label::after,
|
825
|
+
.ui.form .required.fields.inline > label::after,
|
819
826
|
.ui.form .required.fields.grouped > label::after,
|
820
827
|
.ui.form .required.field > label::after,
|
821
828
|
.ui.form label.required::after {
|
@@ -823,7 +830,7 @@
|
|
823
830
|
vertical-align: top;
|
824
831
|
}
|
825
832
|
|
826
|
-
.ui.form .required.fields:not(.grouped) > .field > .checkbox::after,
|
833
|
+
.ui.form .required.fields:not(.grouped):not(.inline) > .field > .checkbox::after,
|
827
834
|
.ui.form .required.field > .checkbox::after {
|
828
835
|
position: absolute;
|
829
836
|
top: 0;
|
@@ -831,6 +838,12 @@
|
|
831
838
|
}
|
832
839
|
}
|
833
840
|
|
841
|
+
.ui.ui.ui.ui.form .fields > label:empty::after,
|
842
|
+
.ui.ui.ui.ui.form .field > label:empty::after {
|
843
|
+
content: " ";
|
844
|
+
display: inline-block;
|
845
|
+
}
|
846
|
+
|
834
847
|
/*******************************
|
835
848
|
Variations
|
836
849
|
*******************************/
|
@@ -1160,4 +1173,5 @@
|
|
1160
1173
|
});
|
1161
1174
|
}
|
1162
1175
|
|
1163
|
-
|
1176
|
+
// stylelint-disable no-invalid-position-at-import-rule
|
1177
|
+
@import (multiple, optional) "../../overrides.less";
|