fomantic-ui-sass 2.7.8 → 2.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/app/assets/javascripts/semantic-ui/api.js +1 -1
  4. data/app/assets/javascripts/semantic-ui/calendar.js +41 -18
  5. data/app/assets/javascripts/semantic-ui/dropdown.js +58 -33
  6. data/app/assets/javascripts/semantic-ui/form.js +9 -4
  7. data/app/assets/javascripts/semantic-ui/modal.js +96 -33
  8. data/app/assets/javascripts/semantic-ui/popup.js +8 -8
  9. data/app/assets/javascripts/semantic-ui/progress.js +10 -8
  10. data/app/assets/javascripts/semantic-ui/rating.js +35 -6
  11. data/app/assets/javascripts/semantic-ui/sidebar.js +2 -3
  12. data/app/assets/javascripts/semantic-ui/slider.js +78 -29
  13. data/app/assets/javascripts/semantic-ui/tab.js +1 -1
  14. data/app/assets/javascripts/semantic-ui/toast.js +395 -121
  15. data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +3 -3
  16. data/app/assets/stylesheets/semantic-ui/collections/_form.scss +741 -143
  17. data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +35 -35
  18. data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +73 -117
  19. data/app/assets/stylesheets/semantic-ui/collections/_message.scss +11 -11
  20. data/app/assets/stylesheets/semantic-ui/collections/_table.scss +976 -191
  21. data/app/assets/stylesheets/semantic-ui/elements/_all.scss +1 -0
  22. data/app/assets/stylesheets/semantic-ui/elements/_button.scss +51 -81
  23. data/app/assets/stylesheets/semantic-ui/elements/_container.scss +12 -12
  24. data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +35 -14
  25. data/app/assets/stylesheets/semantic-ui/elements/_emoji.scss +12312 -0
  26. data/app/assets/stylesheets/semantic-ui/elements/_header.scss +111 -66
  27. data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +70 -31
  28. data/app/assets/stylesheets/semantic-ui/elements/_image.scss +28 -28
  29. data/app/assets/stylesheets/semantic-ui/elements/_input.scss +218 -69
  30. data/app/assets/stylesheets/semantic-ui/elements/_label.scss +20 -20
  31. data/app/assets/stylesheets/semantic-ui/elements/_list.scss +52 -51
  32. data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +85 -91
  33. data/app/assets/stylesheets/semantic-ui/elements/_placeholder.scss +8 -8
  34. data/app/assets/stylesheets/semantic-ui/elements/_rail.scss +11 -11
  35. data/app/assets/stylesheets/semantic-ui/elements/_reveal.scss +31 -10
  36. data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +38 -38
  37. data/app/assets/stylesheets/semantic-ui/elements/_step.scss +16 -17
  38. data/app/assets/stylesheets/semantic-ui/elements/_text.scss +3 -3
  39. data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +6 -6
  40. data/app/assets/stylesheets/semantic-ui/modules/_calendar.scss +2 -2
  41. data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +14 -124
  42. data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +21 -21
  43. data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +181 -110
  44. data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +12 -12
  45. data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +121 -30
  46. data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +71 -72
  47. data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +44 -26
  48. data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +246 -21
  49. data/app/assets/stylesheets/semantic-ui/modules/_search.scss +16 -13
  50. data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +2 -2
  51. data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +12 -14
  52. data/app/assets/stylesheets/semantic-ui/modules/_slider.scss +20 -23
  53. data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +2 -2
  54. data/app/assets/stylesheets/semantic-ui/modules/_toast.scss +542 -155
  55. data/app/assets/stylesheets/semantic-ui/views/_ad.scss +16 -16
  56. data/app/assets/stylesheets/semantic-ui/views/_card.scss +42 -17
  57. data/app/assets/stylesheets/semantic-ui/views/_comment.scss +9 -9
  58. data/app/assets/stylesheets/semantic-ui/views/_feed.scss +20 -5
  59. data/app/assets/stylesheets/semantic-ui/views/_item.scss +33 -12
  60. data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +60 -46
  61. data/lib/fomantic/ui/sass/version.rb +2 -2
  62. metadata +2 -1
@@ -168,7 +168,7 @@ $.fn.form = function(parameters) {
168
168
  }
169
169
 
170
170
  $field.on('change click keyup keydown blur', function(e) {
171
- $(this).trigger(e.type + ".dirty");
171
+ $(this).triggerHandler(e.type + ".dirty");
172
172
  });
173
173
 
174
174
  $field.on('change.dirty click.dirty keyup.dirty keydown.dirty blur.dirty', module.determine.isDirty);
@@ -203,7 +203,7 @@ $.fn.form = function(parameters) {
203
203
  }
204
204
  if(isDropdown) {
205
205
  module.verbose('Resetting dropdown value', $element, defaultValue);
206
- $element.dropdown('clear');
206
+ $element.dropdown('clear', true);
207
207
  }
208
208
  else if(isCheckbox) {
209
209
  $field.prop('checked', false);
@@ -242,7 +242,7 @@ $.fn.form = function(parameters) {
242
242
  }
243
243
  if(isDropdown) {
244
244
  module.verbose('Resetting dropdown value', $element, defaultValue);
245
- $element.dropdown('restore defaults');
245
+ $element.dropdown('restore defaults', true);
246
246
  }
247
247
  else if(isCheckbox) {
248
248
  module.verbose('Resetting checkbox value', $element, defaultValue);
@@ -991,6 +991,8 @@ $.fn.form = function(parameters) {
991
991
  $parent = $el.parent(),
992
992
  isCheckbox = ($el.filter(selector.checkbox).length > 0),
993
993
  isDropdown = $parent.is(selector.uiDropdown) && module.can.useElement('dropdown'),
994
+ $calendar = $el.closest(selector.uiCalendar),
995
+ isCalendar = ($calendar.length > 0 && module.can.useElement('calendar')),
994
996
  value = (isCheckbox)
995
997
  ? $el.is(':checked')
996
998
  : $el.val()
@@ -998,6 +1000,9 @@ $.fn.form = function(parameters) {
998
1000
  if (isDropdown) {
999
1001
  $parent.dropdown('save defaults');
1000
1002
  }
1003
+ else if (isCalendar) {
1004
+ $calendar.calendar('refresh');
1005
+ }
1001
1006
  $el.data(metadata.defaultValue, value);
1002
1007
  $el.data(metadata.isDirty, false);
1003
1008
  });
@@ -1053,7 +1058,7 @@ $.fn.form = function(parameters) {
1053
1058
  }
1054
1059
  else if(isCheckbox) {
1055
1060
  module.verbose('Setting checkbox value', value, $element);
1056
- if(value === true) {
1061
+ if(value === true || value === 1) {
1057
1062
  $element.checkbox('check');
1058
1063
  }
1059
1064
  else {
@@ -81,6 +81,7 @@ $.fn.modal = function(parameters) {
81
81
  initialMouseDownInModal,
82
82
  initialMouseDownInScrollbar,
83
83
  initialBodyMargin = '',
84
+ tempBodyMargin = '',
84
85
 
85
86
  elementEventNamespace,
86
87
  id,
@@ -90,6 +91,7 @@ $.fn.modal = function(parameters) {
90
91
  module = {
91
92
 
92
93
  initialize: function() {
94
+ module.cache = {};
93
95
  module.verbose('Initializing dimmer', $context);
94
96
 
95
97
  module.create.id();
@@ -279,13 +281,14 @@ $.fn.modal = function(parameters) {
279
281
  },
280
282
  mousedown: function(event) {
281
283
  var
282
- $target = $(event.target)
284
+ $target = $(event.target),
285
+ isRtl = module.is.rtl();
283
286
  ;
284
287
  initialMouseDownInModal = ($target.closest(selector.modal).length > 0);
285
288
  if(initialMouseDownInModal) {
286
289
  module.verbose('Mouse down event registered inside the modal');
287
290
  }
288
- initialMouseDownInScrollbar = module.is.scrolling() && $(window).outerWidth() - settings.scrollbarWidth <= event.clientX;
291
+ initialMouseDownInScrollbar = module.is.scrolling() && ((!isRtl && $(window).outerWidth() - settings.scrollbarWidth <= event.clientX) || (isRtl && settings.scrollbarWidth >= event.clientX));
289
292
  if(initialMouseDownInScrollbar) {
290
293
  module.verbose('Mouse down event registered inside the scrollbar');
291
294
  }
@@ -388,6 +391,7 @@ $.fn.modal = function(parameters) {
388
391
  if( module.is.animating() || !module.is.active() ) {
389
392
  module.showDimmer();
390
393
  module.cacheSizes();
394
+ module.set.bodyMargin();
391
395
  if(module.can.useFlex()) {
392
396
  module.remove.legacy();
393
397
  }
@@ -605,12 +609,10 @@ $.fn.modal = function(parameters) {
605
609
  }
606
610
  },
607
611
  bodyMargin: function() {
608
- initialBodyMargin = $body.css('margin-right');
612
+ initialBodyMargin = $body.css('margin-'+(module.can.leftBodyScrollbar() ? 'left':'right'));
609
613
  var bodyMarginRightPixel = parseInt(initialBodyMargin.replace(/[^\d.]/g, '')),
610
- bodyScrollbarWidth = window.innerWidth - document.documentElement.clientWidth,
611
- diffPos = bodyMarginRightPixel + bodyScrollbarWidth;
612
- $body.css('margin-right', diffPos + 'px');
613
- $body.find(selector.bodyFixed).css('padding-right', diffPos + 'px');
614
+ bodyScrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
615
+ tempBodyMargin = bodyMarginRightPixel + bodyScrollbarWidth;
614
616
  }
615
617
  },
616
618
 
@@ -621,8 +623,9 @@ $.fn.modal = function(parameters) {
621
623
  }
622
624
  },
623
625
  bodyMargin: function() {
624
- $body.css('margin-right', initialBodyMargin);
625
- $body.find(selector.bodyFixed).css('padding-right', initialBodyMargin);
626
+ var position = module.can.leftBodyScrollbar() ? 'left':'right';
627
+ $body.css('margin-'+position, initialBodyMargin);
628
+ $body.find(selector.bodyFixed.replace('right',position)).css('padding-'+position, initialBodyMargin);
626
629
  }
627
630
  },
628
631
 
@@ -634,6 +637,11 @@ $.fn.modal = function(parameters) {
634
637
  $module.removeClass(className.legacy);
635
638
  },
636
639
  clickaway: function() {
640
+ if (!settings.detachable) {
641
+ $module
642
+ .off('mousedown' + elementEventNamespace)
643
+ ;
644
+ }
637
645
  $dimmer
638
646
  .off('mousedown' + elementEventNamespace)
639
647
  ;
@@ -676,8 +684,8 @@ $.fn.modal = function(parameters) {
676
684
  modalWidth = $module.outerWidth(),
677
685
  modalHeight = $module.outerHeight()
678
686
  ;
679
- if(module.cache === undefined || modalHeight !== 0) {
680
- module.cache = {
687
+ if(module.cache.pageHeight === undefined || modalHeight !== 0) {
688
+ $.extend(module.cache, {
681
689
  pageHeight : $(document).outerHeight(),
682
690
  width : modalWidth,
683
691
  height : modalHeight + settings.offset,
@@ -685,7 +693,7 @@ $.fn.modal = function(parameters) {
685
693
  contextHeight : (settings.context == 'body')
686
694
  ? $(window).height()
687
695
  : $dimmable.height(),
688
- };
696
+ });
689
697
  module.cache.topOffset = -(module.cache.height / 2);
690
698
  }
691
699
  $module.removeClass(className.loading);
@@ -693,11 +701,14 @@ $.fn.modal = function(parameters) {
693
701
  },
694
702
 
695
703
  can: {
704
+ leftBodyScrollbar: function(){
705
+ if(module.cache.leftBodyScrollbar === undefined) {
706
+ module.cache.leftBodyScrollbar = module.is.rtl() && ((module.is.iframe && !module.is.firefox()) || module.is.safari() || module.is.edge() || module.is.ie());
707
+ }
708
+ return module.cache.leftBodyScrollbar;
709
+ },
696
710
  useFlex: function() {
697
- return (settings.useFlex == 'auto')
698
- ? settings.detachable && !module.is.ie()
699
- : settings.useFlex
700
- ;
711
+ return settings.useFlex && settings.detachable && !module.is.ie();
701
712
  },
702
713
  fit: function() {
703
714
  var
@@ -721,11 +732,14 @@ $.fn.modal = function(parameters) {
721
732
  return $module.hasClass(className.active);
722
733
  },
723
734
  ie: function() {
724
- var
725
- isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
726
- isIE = ('ActiveXObject' in window)
727
- ;
728
- return (isIE11 || isIE);
735
+ if(module.cache.isIE === undefined) {
736
+ var
737
+ isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),
738
+ isIE = ('ActiveXObject' in window)
739
+ ;
740
+ module.cache.isIE = (isIE11 || isIE);
741
+ }
742
+ return module.cache.isIE;
729
743
  },
730
744
  animating: function() {
731
745
  return $module.transition('is supported')
@@ -739,6 +753,33 @@ $.fn.modal = function(parameters) {
739
753
  modernBrowser: function() {
740
754
  // appName for IE11 reports 'Netscape' can no longer use
741
755
  return !(window.ActiveXObject || 'ActiveXObject' in window);
756
+ },
757
+ rtl: function() {
758
+ if(module.cache.isRTL === undefined) {
759
+ module.cache.isRTL = $body.attr('dir') === 'rtl' || $body.css('direction') === 'rtl';
760
+ }
761
+ return module.cache.isRTL;
762
+ },
763
+ safari: function() {
764
+ if(module.cache.isSafari === undefined) {
765
+ module.cache.isSafari = /constructor/i.test(window.HTMLElement) || !!window.ApplePaySession;
766
+ }
767
+ return module.cache.isSafari;
768
+ },
769
+ edge: function(){
770
+ if(module.cache.isEdge === undefined) {
771
+ module.cache.isEdge = !!window.setImmediate && !module.is.ie();
772
+ }
773
+ return module.cache.isEdge;
774
+ },
775
+ firefox: function(){
776
+ if(module.cache.isFirefox === undefined) {
777
+ module.cache.isFirefox = !!window.InstallTrigger;
778
+ }
779
+ return module.cache.isFirefox;
780
+ },
781
+ iframe: function() {
782
+ return !(self === top);
742
783
  }
743
784
  },
744
785
 
@@ -757,7 +798,19 @@ $.fn.modal = function(parameters) {
757
798
  $input.focus();
758
799
  }
759
800
  },
801
+ bodyMargin: function() {
802
+ var position = module.can.leftBodyScrollbar() ? 'left':'right';
803
+ if(settings.detachable || module.can.fit()) {
804
+ $body.css('margin-'+position, tempBodyMargin + 'px');
805
+ }
806
+ $body.find(selector.bodyFixed.replace('right',position)).css('padding-'+position, tempBodyMargin + 'px');
807
+ },
760
808
  clickaway: function() {
809
+ if (!settings.detachable) {
810
+ $module
811
+ .on('mousedown' + elementEventNamespace, module.event.mousedown)
812
+ ;
813
+ }
761
814
  $dimmer
762
815
  .on('mousedown' + elementEventNamespace, module.event.mousedown)
763
816
  ;
@@ -806,18 +859,28 @@ $.fn.modal = function(parameters) {
806
859
  }
807
860
  },
808
861
  modalOffset: function() {
809
- var
810
- width = module.cache.width,
811
- height = module.cache.height
812
- ;
813
- $module
814
- .css({
815
- marginTop: (!$module.hasClass('aligned') && module.can.fit())
816
- ? -(height / 2)
817
- : 0,
818
- marginLeft: -(width / 2)
819
- })
820
- ;
862
+ if (!settings.detachable) {
863
+ var canFit = module.can.fit();
864
+ $module
865
+ .css({
866
+ top: (!$module.hasClass('aligned') && canFit)
867
+ ? $(document).scrollTop() + (module.cache.contextHeight - module.cache.height) / 2
868
+ : !canFit || $module.hasClass('top')
869
+ ? $(document).scrollTop() + settings.padding
870
+ : $(document).scrollTop() + (module.cache.contextHeight - module.cache.height - settings.padding),
871
+ marginLeft: -(module.cache.width / 2)
872
+ })
873
+ ;
874
+ } else {
875
+ $module
876
+ .css({
877
+ marginTop: (!$module.hasClass('aligned') && module.can.fit())
878
+ ? -(module.cache.height / 2)
879
+ : settings.padding / 2,
880
+ marginLeft: -(module.cache.width / 2)
881
+ })
882
+ ;
883
+ }
821
884
  module.verbose('Setting modal offset for legacy mode');
822
885
  },
823
886
  screenHeight: function() {
@@ -286,18 +286,18 @@ $.fn.popup = function(parameters) {
286
286
  }
287
287
  settings.onCreate.call($popup, element);
288
288
  }
289
- else if($target.next(selector.popup).length !== 0) {
290
- module.verbose('Pre-existing popup found');
291
- settings.inline = true;
292
- settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
289
+ else if(settings.popup) {
290
+ $(settings.popup).data(metadata.activator, $module);
291
+ module.verbose('Used popup specified in settings');
293
292
  module.refresh();
294
293
  if(settings.hoverable) {
295
294
  module.bind.popup();
296
295
  }
297
296
  }
298
- else if(settings.popup) {
299
- $(settings.popup).data(metadata.activator, $module);
300
- module.verbose('Used popup specified in settings');
297
+ else if($target.next(selector.popup).length !== 0) {
298
+ module.verbose('Pre-existing popup found');
299
+ settings.inline = true;
300
+ settings.popup = $target.next(selector.popup).data(metadata.activator, $module);
301
301
  module.refresh();
302
302
  if(settings.hoverable) {
303
303
  module.bind.popup();
@@ -1134,7 +1134,7 @@ $.fn.popup = function(parameters) {
1134
1134
  return !module.is.visible();
1135
1135
  },
1136
1136
  rtl: function () {
1137
- return $module.css('direction') == 'rtl';
1137
+ return $module.attr('dir') === 'rtl' || $module.css('direction') === 'rtl';
1138
1138
  }
1139
1139
  },
1140
1140
 
@@ -151,10 +151,12 @@ $.fn.progress = function(parameters) {
151
151
  module.update.progress(0);
152
152
  },
153
153
 
154
- complete: function() {
154
+ complete: function(keepState) {
155
155
  if(module.percent === undefined || module.percent < 100) {
156
156
  module.remove.progressPoll();
157
- module.set.percent(100);
157
+ if(keepState !== true){
158
+ module.set.percent(100);
159
+ }
158
160
  }
159
161
  },
160
162
 
@@ -647,14 +649,14 @@ $.fn.progress = function(parameters) {
647
649
  settings.onActive.call(element, module.value, module.total);
648
650
  });
649
651
  },
650
- success : function(text) {
652
+ success : function(text, keepState) {
651
653
  text = text || settings.text.success || settings.text.active;
652
654
  module.debug('Setting success state');
653
655
  $module.addClass(className.success);
654
656
  module.remove.active();
655
657
  module.remove.warning();
656
658
  module.remove.error();
657
- module.complete();
659
+ module.complete(keepState);
658
660
  if(settings.text.success) {
659
661
  text = settings.onLabelUpdate('success', text, module.value, module.total);
660
662
  module.set.label(text);
@@ -667,14 +669,14 @@ $.fn.progress = function(parameters) {
667
669
  settings.onSuccess.call(element, module.total);
668
670
  });
669
671
  },
670
- warning : function(text) {
672
+ warning : function(text, keepState) {
671
673
  text = text || settings.text.warning;
672
674
  module.debug('Setting warning state');
673
675
  $module.addClass(className.warning);
674
676
  module.remove.active();
675
677
  module.remove.success();
676
678
  module.remove.error();
677
- module.complete();
679
+ module.complete(keepState);
678
680
  text = settings.onLabelUpdate('warning', text, module.value, module.total);
679
681
  if(text) {
680
682
  module.set.label(text);
@@ -683,14 +685,14 @@ $.fn.progress = function(parameters) {
683
685
  settings.onWarning.call(element, module.value, module.total);
684
686
  });
685
687
  },
686
- error : function(text) {
688
+ error : function(text, keepState) {
687
689
  text = text || settings.text.error;
688
690
  module.debug('Setting error state');
689
691
  $module.addClass(className.error);
690
692
  module.remove.active();
691
693
  module.remove.success();
692
694
  module.remove.warning();
693
- module.complete();
695
+ module.complete(keepState);
694
696
  text = settings.onLabelUpdate('error', text, module.value, module.total);
695
697
  if(text) {
696
698
  module.set.label(text);
@@ -47,6 +47,7 @@ $.fn.rating = function(parameters) {
47
47
  className = settings.className,
48
48
  metadata = settings.metadata,
49
49
  selector = settings.selector,
50
+ cssVars = settings.cssVars,
50
51
 
51
52
  eventNamespace = '.' + namespace,
52
53
  moduleNamespace = 'module-' + namespace,
@@ -248,10 +249,17 @@ $.fn.rating = function(parameters) {
248
249
  set: {
249
250
  rating: function(rating) {
250
251
  var
251
- ratingIndex = (rating - 1 >= 0)
252
- ? (rating - 1)
253
- : 0,
254
- $activeIcon = $icon.eq(ratingIndex)
252
+ ratingIndex = Math.floor(
253
+ (rating - 1 >= 0)
254
+ ? (rating - 1)
255
+ : 0
256
+ ),
257
+ $activeIcon = $icon.eq(ratingIndex),
258
+ $partialActiveIcon = rating <= 1
259
+ ? $activeIcon
260
+ : $activeIcon.next()
261
+ ,
262
+ filledPercentage = (rating % 1) * 100
255
263
  ;
256
264
  $module
257
265
  .removeClass(className.selected)
@@ -259,14 +267,30 @@ $.fn.rating = function(parameters) {
259
267
  $icon
260
268
  .removeClass(className.selected)
261
269
  .removeClass(className.active)
270
+ .removeClass(className.partiallyActive)
262
271
  ;
263
272
  if(rating > 0) {
264
273
  module.verbose('Setting current rating to', rating);
265
274
  $activeIcon
266
275
  .prevAll()
267
276
  .addBack()
268
- .addClass(className.active)
277
+ .addClass(className.active)
269
278
  ;
279
+ if($activeIcon.next() && rating % 1 !== 0) {
280
+ $partialActiveIcon
281
+ .addClass(className.partiallyActive)
282
+ .addClass(className.active)
283
+ ;
284
+ $partialActiveIcon
285
+ .css(cssVars.filledCustomPropName, filledPercentage + '%')
286
+ ;
287
+ if($partialActiveIcon.css('backgroundColor') === 'transparent') {
288
+ $partialActiveIcon
289
+ .removeClass(className.partiallyActive)
290
+ .removeClass(className.active)
291
+ ;
292
+ }
293
+ }
270
294
  }
271
295
  if(!module.is.initialLoad()) {
272
296
  settings.onRate.call(element, rating);
@@ -499,7 +523,12 @@ $.fn.rating.settings = {
499
523
  active : 'active',
500
524
  disabled : 'disabled',
501
525
  selected : 'selected',
502
- loading : 'loading'
526
+ loading : 'loading',
527
+ partiallyActive : 'partial'
528
+ },
529
+
530
+ cssVars : {
531
+ filledCustomPropName : '--full'
503
532
  },
504
533
 
505
534
  selector : {