mithril-materialized 3.5.0 → 3.5.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.
package/dist/index.css CHANGED
@@ -5849,34 +5849,34 @@ input[type=search]:not(.browser-default):focus:not([readonly]) + label,
5849
5849
  textarea.materialize-textarea:focus:not([readonly]) + label {
5850
5850
  color: var(--mm-input-border-focus, #26a69a);
5851
5851
  }
5852
- input:not([type]):not(.browser-default):focus.valid ~ label,
5853
- input[type=text]:not(.browser-default):focus.valid ~ label,
5854
- input[type=password]:not(.browser-default):focus.valid ~ label,
5855
- input[type=email]:not(.browser-default):focus.valid ~ label,
5856
- input[type=url]:not(.browser-default):focus.valid ~ label,
5857
- input[type=time]:not(.browser-default):focus.valid ~ label,
5858
- input[type=date]:not(.browser-default):focus.valid ~ label,
5859
- input[type=datetime]:not(.browser-default):focus.valid ~ label,
5860
- input[type=datetime-local]:not(.browser-default):focus.valid ~ label,
5861
- input[type=tel]:not(.browser-default):focus.valid ~ label,
5862
- input[type=number]:not(.browser-default):focus.valid ~ label,
5863
- input[type=search]:not(.browser-default):focus.valid ~ label,
5864
- textarea.materialize-textarea:focus.valid ~ label {
5852
+ input:not([type]):not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5853
+ input[type=text]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5854
+ input[type=password]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5855
+ input[type=email]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5856
+ input[type=url]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5857
+ input[type=time]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5858
+ input[type=date]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5859
+ input[type=datetime]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5860
+ input[type=datetime-local]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5861
+ input[type=tel]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5862
+ input[type=number]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5863
+ input[type=search]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ label,
5864
+ textarea.materialize-textarea:focus.valid:not([readonly]):not([disabled]) ~ label {
5865
5865
  color: #4CAF50;
5866
5866
  }
5867
- input:not([type]):not(.browser-default):focus.invalid ~ label,
5868
- input[type=text]:not(.browser-default):focus.invalid ~ label,
5869
- input[type=password]:not(.browser-default):focus.invalid ~ label,
5870
- input[type=email]:not(.browser-default):focus.invalid ~ label,
5871
- input[type=url]:not(.browser-default):focus.invalid ~ label,
5872
- input[type=time]:not(.browser-default):focus.invalid ~ label,
5873
- input[type=date]:not(.browser-default):focus.invalid ~ label,
5874
- input[type=datetime]:not(.browser-default):focus.invalid ~ label,
5875
- input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,
5876
- input[type=tel]:not(.browser-default):focus.invalid ~ label,
5877
- input[type=number]:not(.browser-default):focus.invalid ~ label,
5878
- input[type=search]:not(.browser-default):focus.invalid ~ label,
5879
- textarea.materialize-textarea:focus.invalid ~ label {
5867
+ input:not([type]):not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5868
+ input[type=text]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5869
+ input[type=password]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5870
+ input[type=email]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5871
+ input[type=url]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5872
+ input[type=time]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5873
+ input[type=date]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5874
+ input[type=datetime]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5875
+ input[type=datetime-local]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5876
+ input[type=tel]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5877
+ input[type=number]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5878
+ input[type=search]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ label,
5879
+ textarea.materialize-textarea:focus.invalid:not([readonly]):not([disabled]) ~ label {
5880
5880
  color: #F44336;
5881
5881
  }
5882
5882
  input:not([type]):not(.browser-default).validate + label,
@@ -5982,60 +5982,60 @@ textarea.materialize-textarea::-ms-input-placeholder {
5982
5982
  }
5983
5983
 
5984
5984
  /* Validation Sass Placeholders */
5985
- .select-wrapper.valid > input.select-dropdown, input:not([type]):not(.browser-default).valid, input:not([type]):not(.browser-default):focus.valid,
5986
- input[type=text]:not(.browser-default).valid,
5987
- input[type=text]:not(.browser-default):focus.valid,
5988
- input[type=password]:not(.browser-default).valid,
5989
- input[type=password]:not(.browser-default):focus.valid,
5990
- input[type=email]:not(.browser-default).valid,
5991
- input[type=email]:not(.browser-default):focus.valid,
5992
- input[type=url]:not(.browser-default).valid,
5993
- input[type=url]:not(.browser-default):focus.valid,
5994
- input[type=time]:not(.browser-default).valid,
5995
- input[type=time]:not(.browser-default):focus.valid,
5996
- input[type=date]:not(.browser-default).valid,
5997
- input[type=date]:not(.browser-default):focus.valid,
5998
- input[type=datetime]:not(.browser-default).valid,
5999
- input[type=datetime]:not(.browser-default):focus.valid,
6000
- input[type=datetime-local]:not(.browser-default).valid,
6001
- input[type=datetime-local]:not(.browser-default):focus.valid,
6002
- input[type=tel]:not(.browser-default).valid,
6003
- input[type=tel]:not(.browser-default):focus.valid,
6004
- input[type=number]:not(.browser-default).valid,
6005
- input[type=number]:not(.browser-default):focus.valid,
6006
- input[type=search]:not(.browser-default).valid,
6007
- input[type=search]:not(.browser-default):focus.valid,
6008
- textarea.materialize-textarea.valid,
6009
- textarea.materialize-textarea:focus.valid {
5985
+ .select-wrapper.valid > input.select-dropdown, input:not([type]):not(.browser-default).valid:not([readonly]):not([disabled]), input:not([type]):not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5986
+ input[type=text]:not(.browser-default).valid:not([readonly]):not([disabled]),
5987
+ input[type=text]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5988
+ input[type=password]:not(.browser-default).valid:not([readonly]):not([disabled]),
5989
+ input[type=password]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5990
+ input[type=email]:not(.browser-default).valid:not([readonly]):not([disabled]),
5991
+ input[type=email]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5992
+ input[type=url]:not(.browser-default).valid:not([readonly]):not([disabled]),
5993
+ input[type=url]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5994
+ input[type=time]:not(.browser-default).valid:not([readonly]):not([disabled]),
5995
+ input[type=time]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5996
+ input[type=date]:not(.browser-default).valid:not([readonly]):not([disabled]),
5997
+ input[type=date]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
5998
+ input[type=datetime]:not(.browser-default).valid:not([readonly]):not([disabled]),
5999
+ input[type=datetime]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
6000
+ input[type=datetime-local]:not(.browser-default).valid:not([readonly]):not([disabled]),
6001
+ input[type=datetime-local]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
6002
+ input[type=tel]:not(.browser-default).valid:not([readonly]):not([disabled]),
6003
+ input[type=tel]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
6004
+ input[type=number]:not(.browser-default).valid:not([readonly]):not([disabled]),
6005
+ input[type=number]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
6006
+ input[type=search]:not(.browser-default).valid:not([readonly]):not([disabled]),
6007
+ input[type=search]:not(.browser-default):focus.valid:not([readonly]):not([disabled]),
6008
+ textarea.materialize-textarea.valid:not([readonly]):not([disabled]),
6009
+ textarea.materialize-textarea:focus.valid:not([readonly]):not([disabled]) {
6010
6010
  border-bottom: 1px solid #4CAF50;
6011
6011
  box-shadow: 0 1px 0 0 #4CAF50;
6012
6012
  }
6013
6013
 
6014
- .select-wrapper.invalid > input.select-dropdown, .select-wrapper.invalid > input.select-dropdown:focus, input:not([type]):not(.browser-default).invalid, input:not([type]):not(.browser-default):focus.invalid,
6015
- input[type=text]:not(.browser-default).invalid,
6016
- input[type=text]:not(.browser-default):focus.invalid,
6017
- input[type=password]:not(.browser-default).invalid,
6018
- input[type=password]:not(.browser-default):focus.invalid,
6019
- input[type=email]:not(.browser-default).invalid,
6020
- input[type=email]:not(.browser-default):focus.invalid,
6021
- input[type=url]:not(.browser-default).invalid,
6022
- input[type=url]:not(.browser-default):focus.invalid,
6023
- input[type=time]:not(.browser-default).invalid,
6024
- input[type=time]:not(.browser-default):focus.invalid,
6025
- input[type=date]:not(.browser-default).invalid,
6026
- input[type=date]:not(.browser-default):focus.invalid,
6027
- input[type=datetime]:not(.browser-default).invalid,
6028
- input[type=datetime]:not(.browser-default):focus.invalid,
6029
- input[type=datetime-local]:not(.browser-default).invalid,
6030
- input[type=datetime-local]:not(.browser-default):focus.invalid,
6031
- input[type=tel]:not(.browser-default).invalid,
6032
- input[type=tel]:not(.browser-default):focus.invalid,
6033
- input[type=number]:not(.browser-default).invalid,
6034
- input[type=number]:not(.browser-default):focus.invalid,
6035
- input[type=search]:not(.browser-default).invalid,
6036
- input[type=search]:not(.browser-default):focus.invalid,
6037
- textarea.materialize-textarea.invalid,
6038
- textarea.materialize-textarea:focus.invalid {
6014
+ .select-wrapper.invalid > input.select-dropdown, .select-wrapper.invalid > input.select-dropdown:focus, input:not([type]):not(.browser-default).invalid:not([readonly]):not([disabled]), input:not([type]):not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6015
+ input[type=text]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6016
+ input[type=text]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6017
+ input[type=password]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6018
+ input[type=password]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6019
+ input[type=email]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6020
+ input[type=email]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6021
+ input[type=url]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6022
+ input[type=url]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6023
+ input[type=time]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6024
+ input[type=time]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6025
+ input[type=date]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6026
+ input[type=date]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6027
+ input[type=datetime]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6028
+ input[type=datetime]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6029
+ input[type=datetime-local]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6030
+ input[type=datetime-local]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6031
+ input[type=tel]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6032
+ input[type=tel]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6033
+ input[type=number]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6034
+ input[type=number]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6035
+ input[type=search]:not(.browser-default).invalid:not([readonly]):not([disabled]),
6036
+ input[type=search]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]),
6037
+ textarea.materialize-textarea.invalid:not([readonly]):not([disabled]),
6038
+ textarea.materialize-textarea:focus.invalid:not([readonly]):not([disabled]) {
6039
6039
  border-bottom: 1px solid #F44336;
6040
6040
  box-shadow: 0 1px 0 0 #F44336;
6041
6041
  }
@@ -6096,60 +6096,60 @@ textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error] {
6096
6096
  pointer-events: none;
6097
6097
  }
6098
6098
 
6099
- .select-wrapper.valid ~ .helper-text:after, input:not([type]):not(.browser-default).valid ~ .helper-text:after, input:not([type]):not(.browser-default):focus.valid ~ .helper-text:after,
6100
- input[type=text]:not(.browser-default).valid ~ .helper-text:after,
6101
- input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,
6102
- input[type=password]:not(.browser-default).valid ~ .helper-text:after,
6103
- input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,
6104
- input[type=email]:not(.browser-default).valid ~ .helper-text:after,
6105
- input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,
6106
- input[type=url]:not(.browser-default).valid ~ .helper-text:after,
6107
- input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,
6108
- input[type=time]:not(.browser-default).valid ~ .helper-text:after,
6109
- input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,
6110
- input[type=date]:not(.browser-default).valid ~ .helper-text:after,
6111
- input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,
6112
- input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,
6113
- input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,
6114
- input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,
6115
- input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,
6116
- input[type=tel]:not(.browser-default).valid ~ .helper-text:after,
6117
- input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,
6118
- input[type=number]:not(.browser-default).valid ~ .helper-text:after,
6119
- input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,
6120
- input[type=search]:not(.browser-default).valid ~ .helper-text:after,
6121
- input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,
6122
- textarea.materialize-textarea.valid ~ .helper-text:after,
6123
- textarea.materialize-textarea:focus.valid ~ .helper-text:after {
6099
+ .select-wrapper.valid ~ .helper-text:after, input:not([type]):not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after, input:not([type]):not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6100
+ input[type=text]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6101
+ input[type=text]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6102
+ input[type=password]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6103
+ input[type=password]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6104
+ input[type=email]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6105
+ input[type=email]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6106
+ input[type=url]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6107
+ input[type=url]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6108
+ input[type=time]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6109
+ input[type=time]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6110
+ input[type=date]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6111
+ input[type=date]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6112
+ input[type=datetime]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6113
+ input[type=datetime]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6114
+ input[type=datetime-local]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6115
+ input[type=datetime-local]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6116
+ input[type=tel]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6117
+ input[type=tel]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6118
+ input[type=number]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6119
+ input[type=number]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6120
+ input[type=search]:not(.browser-default).valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6121
+ input[type=search]:not(.browser-default):focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6122
+ textarea.materialize-textarea.valid:not([readonly]):not([disabled]) ~ .helper-text:after,
6123
+ textarea.materialize-textarea:focus.valid:not([readonly]):not([disabled]) ~ .helper-text:after {
6124
6124
  content: attr(data-success);
6125
6125
  color: #4CAF50;
6126
6126
  }
6127
6127
 
6128
- .select-wrapper.invalid ~ .helper-text:after, input:not([type]):not(.browser-default).invalid ~ .helper-text:after, input:not([type]):not(.browser-default):focus.invalid ~ .helper-text:after,
6129
- input[type=text]:not(.browser-default).invalid ~ .helper-text:after,
6130
- input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,
6131
- input[type=password]:not(.browser-default).invalid ~ .helper-text:after,
6132
- input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,
6133
- input[type=email]:not(.browser-default).invalid ~ .helper-text:after,
6134
- input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,
6135
- input[type=url]:not(.browser-default).invalid ~ .helper-text:after,
6136
- input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,
6137
- input[type=time]:not(.browser-default).invalid ~ .helper-text:after,
6138
- input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,
6139
- input[type=date]:not(.browser-default).invalid ~ .helper-text:after,
6140
- input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,
6141
- input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,
6142
- input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,
6143
- input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,
6144
- input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,
6145
- input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,
6146
- input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,
6147
- input[type=number]:not(.browser-default).invalid ~ .helper-text:after,
6148
- input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,
6149
- input[type=search]:not(.browser-default).invalid ~ .helper-text:after,
6150
- input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,
6151
- textarea.materialize-textarea.invalid ~ .helper-text:after,
6152
- textarea.materialize-textarea:focus.invalid ~ .helper-text:after {
6128
+ .select-wrapper.invalid ~ .helper-text:after, input:not([type]):not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after, input:not([type]):not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6129
+ input[type=text]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6130
+ input[type=text]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6131
+ input[type=password]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6132
+ input[type=password]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6133
+ input[type=email]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6134
+ input[type=email]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6135
+ input[type=url]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6136
+ input[type=url]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6137
+ input[type=time]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6138
+ input[type=time]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6139
+ input[type=date]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6140
+ input[type=date]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6141
+ input[type=datetime]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6142
+ input[type=datetime]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6143
+ input[type=datetime-local]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6144
+ input[type=datetime-local]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6145
+ input[type=tel]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6146
+ input[type=tel]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6147
+ input[type=number]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6148
+ input[type=number]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6149
+ input[type=search]:not(.browser-default).invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6150
+ input[type=search]:not(.browser-default):focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6151
+ textarea.materialize-textarea.invalid:not([readonly]):not([disabled]) ~ .helper-text:after,
6152
+ textarea.materialize-textarea:focus.invalid:not([readonly]):not([disabled]) ~ .helper-text:after {
6153
6153
  content: attr(data-error);
6154
6154
  color: #F44336;
6155
6155
  }
package/dist/index.esm.js CHANGED
@@ -3296,9 +3296,11 @@ const InputField = (type, defaultClass = '') => () => {
3296
3296
  ? true
3297
3297
  : false;
3298
3298
  const rangeType = type === 'range' && !attrs.minmax;
3299
+ // Only add validate class if input is interactive and validation is needed
3300
+ const shouldValidate = !isNonInteractive && (validate || type === 'email' || type === 'url' || isNumeric);
3299
3301
  return m('.input-field', { className: cn, style }, [
3300
3302
  iconName ? m('i.material-icons.prefix', iconName) : undefined,
3301
- m('input.validate', Object.assign(Object.assign({}, params), { type, tabindex: 0, id,
3303
+ m('input', Object.assign(Object.assign({ class: shouldValidate ? 'validate' : undefined }, params), { type, tabindex: 0, id,
3302
3304
  placeholder, value: controlled ? value : undefined, class: type === 'range' && attrs.vertical ? 'range-slider vertical' : undefined, style: type === 'range' && attrs.vertical
3303
3305
  ? {
3304
3306
  height: attrs.height || '200px',
@@ -3379,6 +3381,17 @@ const InputField = (type, defaultClass = '') => () => {
3379
3381
  state.active = false;
3380
3382
  const target = e.target;
3381
3383
  state.hasInteracted = true;
3384
+ // Skip validation for readonly/disabled inputs
3385
+ if (attrs.readonly || attrs.disabled) {
3386
+ // Call original onblur if provided
3387
+ if (attrs.onblur) {
3388
+ attrs.onblur(e);
3389
+ }
3390
+ if (onchange && state.inputElement) {
3391
+ onchange(getValue(state.inputElement));
3392
+ }
3393
+ return;
3394
+ }
3382
3395
  if (target && validate) {
3383
3396
  const value = getValue(target);
3384
3397
  // Only validate if user has entered some text
package/dist/index.js CHANGED
@@ -3298,9 +3298,11 @@ const InputField = (type, defaultClass = '') => () => {
3298
3298
  ? true
3299
3299
  : false;
3300
3300
  const rangeType = type === 'range' && !attrs.minmax;
3301
+ // Only add validate class if input is interactive and validation is needed
3302
+ const shouldValidate = !isNonInteractive && (validate || type === 'email' || type === 'url' || isNumeric);
3301
3303
  return m('.input-field', { className: cn, style }, [
3302
3304
  iconName ? m('i.material-icons.prefix', iconName) : undefined,
3303
- m('input.validate', Object.assign(Object.assign({}, params), { type, tabindex: 0, id,
3305
+ m('input', Object.assign(Object.assign({ class: shouldValidate ? 'validate' : undefined }, params), { type, tabindex: 0, id,
3304
3306
  placeholder, value: controlled ? value : undefined, class: type === 'range' && attrs.vertical ? 'range-slider vertical' : undefined, style: type === 'range' && attrs.vertical
3305
3307
  ? {
3306
3308
  height: attrs.height || '200px',
@@ -3381,6 +3383,17 @@ const InputField = (type, defaultClass = '') => () => {
3381
3383
  state.active = false;
3382
3384
  const target = e.target;
3383
3385
  state.hasInteracted = true;
3386
+ // Skip validation for readonly/disabled inputs
3387
+ if (attrs.readonly || attrs.disabled) {
3388
+ // Call original onblur if provided
3389
+ if (attrs.onblur) {
3390
+ attrs.onblur(e);
3391
+ }
3392
+ if (onchange && state.inputElement) {
3393
+ onchange(getValue(state.inputElement));
3394
+ }
3395
+ return;
3396
+ }
3384
3397
  if (target && validate) {
3385
3398
  const value = getValue(target);
3386
3399
  // Only validate if user has entered some text