material_components_web-sass 0.24.0 → 0.25.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 (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/lib/material_components_web/sass/version.rb +1 -1
  4. data/vendor/assets/javascripts/material-components-web.js +138 -143
  5. data/vendor/assets/stylesheets/@material/button/_mixins.scss +16 -5
  6. data/vendor/assets/stylesheets/@material/button/_variables.scss +2 -0
  7. data/vendor/assets/stylesheets/@material/dialog/mdc-dialog.scss +1 -1
  8. data/vendor/assets/stylesheets/@material/elevation/_mixins.scss +27 -8
  9. data/vendor/assets/stylesheets/@material/elevation/_variables.scss +4 -3
  10. data/vendor/assets/stylesheets/@material/fab/_mixins.scss +3 -4
  11. data/vendor/assets/stylesheets/@material/linear-progress/_mixins.scss +52 -0
  12. data/vendor/assets/stylesheets/@material/linear-progress/_variables.scss +15 -0
  13. data/vendor/assets/stylesheets/@material/linear-progress/mdc-linear-progress.scss +5 -11
  14. data/vendor/assets/stylesheets/@material/menu/simple/mdc-simple-menu.scss +1 -0
  15. data/vendor/assets/stylesheets/@material/slider/_keyframes.scss +30 -0
  16. data/vendor/assets/stylesheets/@material/slider/_mixins.scss +129 -0
  17. data/vendor/assets/stylesheets/@material/slider/_variables.scss +2 -0
  18. data/vendor/assets/stylesheets/@material/slider/mdc-slider.scss +21 -121
  19. data/vendor/assets/stylesheets/@material/snackbar/mdc-snackbar.scss +8 -0
  20. data/vendor/assets/stylesheets/@material/textfield/_mixins.scss +2 -2
  21. data/vendor/assets/stylesheets/@material/textfield/_variables.scss +27 -27
  22. data/vendor/assets/stylesheets/@material/textfield/{mdc-textfield.scss → mdc-text-field.scss} +165 -165
  23. data/vendor/assets/stylesheets/@material/theme/_functions.scss +19 -5
  24. data/vendor/assets/stylesheets/@material/theme/_variables.scss +8 -8
  25. data/vendor/assets/stylesheets/_material-components-web.scss +1 -1
  26. metadata +7 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13cda5cefe52b75e32186da2f58944147e182177
4
- data.tar.gz: 2f7d0179a435094ec43b949eb6c506b39c6dc879
3
+ metadata.gz: 03ce0fb6384f40eb85ec89bfc2cedbf1c0ed0b9e
4
+ data.tar.gz: 062102b9b2e2ee7de929b9062815c43407c00b93
5
5
  SHA512:
6
- metadata.gz: '08772e27cca4eb6adbc7336d5b1375873915c060c621308f9ce126afc3489140d90e5f78b5a345ae60aa0cd3b8ad2f2a723823ba217c914943436524b2aeb0cd'
7
- data.tar.gz: 92e9bbfe5f0268c655d68ee89b5e3fc34001997b12ea5336af4500b83d7054d4ed1f74ddf353a754d10c1a23f13fd16c114ae4b1cc10861b845bd45baf1fc0ff
6
+ metadata.gz: 0016a2d543a0eb97ec2a33e1e7e9f2f2af48e1c8d162ee8eaf17a29a5e71406afc9a7a2792c6bb15fac64bfdb3821c5fb3c3c1fab0bced1ef9cebe2bfceaee8e
7
+ data.tar.gz: 80cfb464cd5ea9126e6591e3ed43fff9c56f7956b45e410c98811a759e4834cd803c8b91e53a38f2596889c697399a23afd7637cf41d0c77c2225cdbc77fa5c2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.25.0 (2017-11-15)
2
+
3
+ - Update assets to match upstream version
4
+
5
+ Library version:
6
+
7
+ - Material Components for the web v0.25.0
8
+ - Material Icons v3.0.0
9
+
1
10
  ## 0.24.0 (2017-10-31)
2
11
 
3
12
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module MaterialComponentsWeb
2
2
  module Sass
3
- VERSION = '0.24.0'.freeze
3
+ VERSION = '0.25.0'.freeze
4
4
  end
5
5
  end
@@ -706,7 +706,8 @@ RippleCapableSurface.prototype.disabled;
706
706
  /**
707
707
  * @typedef {{
708
708
  * noPrefix: string,
709
- * webkitPrefix: string
709
+ * webkitPrefix: string,
710
+ * styleProperty: string
710
711
  * }}
711
712
  */
712
713
  var VendorPropertyMapType = void 0;
@@ -1512,7 +1513,6 @@ var cssClasses = {
1512
1513
  DISCRETE: 'mdc-slider--discrete',
1513
1514
  FOCUS: 'mdc-slider--focus',
1514
1515
  IN_TRANSIT: 'mdc-slider--in-transit',
1515
- OFF: 'mdc-slider--off',
1516
1516
  IS_DISCRETE: 'mdc-slider--discrete',
1517
1517
  HAS_TRACK_MARKER: 'mdc-slider--display-markers'
1518
1518
  };
@@ -1930,28 +1930,28 @@ var MDCTabBar = function (_MDCComponent) {
1930
1930
  var strings = {
1931
1931
  ARIA_HIDDEN: 'aria-hidden',
1932
1932
  ROLE: 'role',
1933
- INPUT_SELECTOR: '.mdc-textfield__input',
1934
- LABEL_SELECTOR: '.mdc-textfield__label',
1935
- ICON_SELECTOR: '.mdc-textfield__icon',
1936
- ICON_EVENT: 'MDCTextfield:icon',
1937
- BOTTOM_LINE_SELECTOR: '.mdc-textfield__bottom-line'
1933
+ INPUT_SELECTOR: '.mdc-text-field__input',
1934
+ LABEL_SELECTOR: '.mdc-text-field__label',
1935
+ ICON_SELECTOR: '.mdc-text-field__icon',
1936
+ ICON_EVENT: 'MDCTextField:icon',
1937
+ BOTTOM_LINE_SELECTOR: '.mdc-text-field__bottom-line'
1938
1938
  };
1939
1939
 
1940
1940
  /** @enum {string} */
1941
1941
  var cssClasses = {
1942
- ROOT: 'mdc-textfield',
1943
- UPGRADED: 'mdc-textfield--upgraded',
1944
- DISABLED: 'mdc-textfield--disabled',
1945
- FOCUSED: 'mdc-textfield--focused',
1946
- INVALID: 'mdc-textfield--invalid',
1947
- HELPTEXT_PERSISTENT: 'mdc-textfield-helptext--persistent',
1948
- HELPTEXT_VALIDATION_MSG: 'mdc-textfield-helptext--validation-msg',
1949
- LABEL_FLOAT_ABOVE: 'mdc-textfield__label--float-above',
1950
- LABEL_SHAKE: 'mdc-textfield__label--shake',
1951
- BOX: 'mdc-textfield--box',
1952
- TEXT_FIELD_ICON: 'mdc-textfield__icon',
1953
- TEXTAREA: 'mdc-textfield--textarea',
1954
- BOTTOM_LINE_ACTIVE: 'mdc-textfield__bottom-line--active'
1942
+ ROOT: 'mdc-text-field',
1943
+ UPGRADED: 'mdc-text-field--upgraded',
1944
+ DISABLED: 'mdc-text-field--disabled',
1945
+ FOCUSED: 'mdc-text-field--focused',
1946
+ INVALID: 'mdc-text-field--invalid',
1947
+ HELPTEXT_PERSISTENT: 'mdc-text-field-helptext--persistent',
1948
+ HELPTEXT_VALIDATION_MSG: 'mdc-text-field-helptext--validation-msg',
1949
+ LABEL_FLOAT_ABOVE: 'mdc-text-field__label--float-above',
1950
+ LABEL_SHAKE: 'mdc-text-field__label--shake',
1951
+ BOX: 'mdc-text-field--box',
1952
+ TEXT_FIELD_ICON: 'mdc-text-field__icon',
1953
+ TEXTAREA: 'mdc-text-field--textarea',
1954
+ BOTTOM_LINE_ACTIVE: 'mdc-text-field__bottom-line--active'
1955
1955
  };
1956
1956
 
1957
1957
 
@@ -1961,7 +1961,7 @@ var cssClasses = {
1961
1961
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1962
1962
 
1963
1963
  "use strict";
1964
- /* unused harmony export MDCTextfieldAdapter */
1964
+ /* unused harmony export MDCTextFieldAdapter */
1965
1965
  /* unused harmony export NativeInputType */
1966
1966
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
1967
1967
 
@@ -1997,22 +1997,22 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
1997
1997
  var NativeInputType = void 0;
1998
1998
 
1999
1999
  /**
2000
- * Adapter for MDC Textfield.
2000
+ * Adapter for MDC Text Field.
2001
2001
  *
2002
2002
  * Defines the shape of the adapter expected by the foundation. Implement this
2003
- * adapter to integrate the Textfield into your framework. See
2003
+ * adapter to integrate the Text Field into your framework. See
2004
2004
  * https://github.com/material-components/material-components-web/blob/master/docs/authoring-components.md
2005
2005
  * for more information.
2006
2006
  *
2007
2007
  * @record
2008
2008
  */
2009
2009
 
2010
- var MDCTextfieldAdapter = function () {
2011
- function MDCTextfieldAdapter() {
2012
- _classCallCheck(this, MDCTextfieldAdapter);
2010
+ var MDCTextFieldAdapter = function () {
2011
+ function MDCTextFieldAdapter() {
2012
+ _classCallCheck(this, MDCTextFieldAdapter);
2013
2013
  }
2014
2014
 
2015
- _createClass(MDCTextfieldAdapter, [{
2015
+ _createClass(MDCTextFieldAdapter, [{
2016
2016
  key: "addClass",
2017
2017
 
2018
2018
  /**
@@ -2093,7 +2093,7 @@ var MDCTextfieldAdapter = function () {
2093
2093
  value: function deregisterTextFieldInteractionHandler(type, handler) {}
2094
2094
 
2095
2095
  /**
2096
- * Emits a custom event "MDCTextfield:icon" denoting a user has clicked the icon.
2096
+ * Emits a custom event "MDCTextField:icon" denoting a user has clicked the icon.
2097
2097
  */
2098
2098
 
2099
2099
  }, {
@@ -2231,7 +2231,7 @@ var MDCTextfieldAdapter = function () {
2231
2231
  value: function getNativeInput() {}
2232
2232
  }]);
2233
2233
 
2234
- return MDCTextfieldAdapter;
2234
+ return MDCTextFieldAdapter;
2235
2235
  }();
2236
2236
 
2237
2237
 
@@ -2278,7 +2278,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2278
2278
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "slider", function() { return __WEBPACK_IMPORTED_MODULE_14__material_slider__; });
2279
2279
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "snackbar", function() { return __WEBPACK_IMPORTED_MODULE_15__material_snackbar__; });
2280
2280
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "tabs", function() { return __WEBPACK_IMPORTED_MODULE_16__material_tabs__; });
2281
- /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "textfield", function() { return __WEBPACK_IMPORTED_MODULE_17__material_textfield__; });
2281
+ /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "textField", function() { return __WEBPACK_IMPORTED_MODULE_17__material_textfield__; });
2282
2282
  /* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, "toolbar", function() { return __WEBPACK_IMPORTED_MODULE_18__material_toolbar__; });
2283
2283
  /**
2284
2284
  * Copyright 2016 Google Inc. All Rights Reserved.
@@ -2330,7 +2330,7 @@ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('M
2330
2330
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSnackbar', __WEBPACK_IMPORTED_MODULE_15__material_snackbar__["MDCSnackbar"]);
2331
2331
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTab', __WEBPACK_IMPORTED_MODULE_16__material_tabs__["MDCTab"]);
2332
2332
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTabBar', __WEBPACK_IMPORTED_MODULE_16__material_tabs__["MDCTabBar"]);
2333
- __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTextfield', __WEBPACK_IMPORTED_MODULE_17__material_textfield__["MDCTextfield"]);
2333
+ __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCTextField', __WEBPACK_IMPORTED_MODULE_17__material_textfield__["MDCTextField"]);
2334
2334
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSimpleMenu', __WEBPACK_IMPORTED_MODULE_9__material_menu__["MDCSimpleMenu"]);
2335
2335
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSelect', __WEBPACK_IMPORTED_MODULE_12__material_select__["MDCSelect"]);
2336
2336
  __WEBPACK_IMPORTED_MODULE_0__material_auto_init__["a" /* default */].register('MDCSlider', __WEBPACK_IMPORTED_MODULE_14__material_slider__["MDCSlider"]);
@@ -10002,6 +10002,9 @@ var KEY_IDS = {
10002
10002
  PAGE_DOWN: 'PageDown'
10003
10003
  };
10004
10004
 
10005
+ // Events that can constitute the user releasing drag on a slider
10006
+ var UP_EVENTS = ['mouseup', 'pointerup', 'touchend'];
10007
+
10005
10008
  var MDCSliderFoundation = function (_MDCFoundation) {
10006
10009
  _inherits(MDCSliderFoundation, _MDCFoundation);
10007
10010
 
@@ -10081,7 +10084,6 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10081
10084
  // We set this to NaN since we want it to be a number, but we can't use '0' or '-1'
10082
10085
  // because those could be valid tabindices set by the client code.
10083
10086
  _this.savedTabIndex_ = NaN;
10084
- _this.off_ = false;
10085
10087
  _this.active_ = false;
10086
10088
  _this.inTransit_ = false;
10087
10089
  _this.isDiscrete_ = false;
@@ -10097,9 +10099,9 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10097
10099
  _this.thumbContainerPointerHandler_ = function () {
10098
10100
  _this.handlingThumbTargetEvt_ = true;
10099
10101
  };
10100
- _this.mousedownHandler_ = _this.createDownHandler_('mousemove', 'mouseup');
10101
- _this.pointerdownHandler_ = _this.createDownHandler_('pointermove', 'pointerup');
10102
- _this.touchstartHandler_ = _this.createDownHandler_('touchmove', 'touchend', function (_ref) {
10102
+ _this.mousedownHandler_ = _this.createDownHandler_('mousemove');
10103
+ _this.pointerdownHandler_ = _this.createDownHandler_('pointermove');
10104
+ _this.touchstartHandler_ = _this.createDownHandler_('touchmove', function (_ref) {
10103
10105
  var targetTouches = _ref.targetTouches;
10104
10106
  return targetTouches[0].pageX;
10105
10107
  });
@@ -10273,10 +10275,10 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10273
10275
  }
10274
10276
  }, {
10275
10277
  key: 'createDownHandler_',
10276
- value: function createDownHandler_(moveEvt, upEvt) {
10278
+ value: function createDownHandler_(moveEvt) {
10277
10279
  var _this4 = this;
10278
10280
 
10279
- var getPageX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (_ref2) {
10281
+ var getPageX = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (_ref2) {
10280
10282
  var pageX = _ref2.pageX;
10281
10283
  return pageX;
10282
10284
  };
@@ -10286,10 +10288,15 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10286
10288
  _this4.setValueFromEvt_(evt, getPageX);
10287
10289
  };
10288
10290
 
10291
+ // Note: upHandler is [de]registered on ALL potential pointer-related release event types, since some browsers
10292
+ // do not always fire these consistently in pairs.
10293
+ // (See https://github.com/material-components/material-components-web/issues/1192)
10289
10294
  var upHandler = function upHandler() {
10290
10295
  _this4.setActive_(false);
10291
10296
  _this4.adapter_.deregisterBodyInteractionHandler(moveEvt, moveHandler);
10292
- _this4.adapter_.deregisterBodyInteractionHandler(upEvt, upHandler);
10297
+ UP_EVENTS.forEach(function (type) {
10298
+ return _this4.adapter_.deregisterBodyInteractionHandler(type, upHandler);
10299
+ });
10293
10300
  _this4.adapter_.notifyChange();
10294
10301
  };
10295
10302
 
@@ -10305,7 +10312,9 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10305
10312
  _this4.setActive_(true);
10306
10313
 
10307
10314
  _this4.adapter_.registerBodyInteractionHandler(moveEvt, moveHandler);
10308
- _this4.adapter_.registerBodyInteractionHandler(upEvt, upHandler);
10315
+ UP_EVENTS.forEach(function (type) {
10316
+ return _this4.adapter_.registerBodyInteractionHandler(type, upHandler);
10317
+ });
10309
10318
  _this4.setValueFromEvt_(evt, getPageX);
10310
10319
  };
10311
10320
 
@@ -10493,7 +10502,6 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10493
10502
  }
10494
10503
 
10495
10504
  this.updateUIFrame_ = requestAnimationFrame(function () {
10496
- _this5.setOff_(pctComplete === 0);
10497
10505
  // NOTE(traviskaufman): It would be nice to use calc() here,
10498
10506
  // but IE cannot handle calcs in transforms correctly.
10499
10507
  // See: https://goo.gl/NC2itk
@@ -10502,12 +10510,6 @@ var MDCSliderFoundation = function (_MDCFoundation) {
10502
10510
  _this5.adapter_.setTrackStyleProperty(transformProp, 'scaleX(' + pctComplete + ')');
10503
10511
  });
10504
10512
  }
10505
- }, {
10506
- key: 'setOff_',
10507
- value: function setOff_(off) {
10508
- this.off_ = off;
10509
- this.toggleClass_(__WEBPACK_IMPORTED_MODULE_0__constants__["a" /* cssClasses */].OFF, this.off_);
10510
- }
10511
10513
  }, {
10512
10514
  key: 'setActive_',
10513
10515
  value: function setActive_(active) {
@@ -12072,13 +12074,13 @@ var strings = {
12072
12074
 
12073
12075
  "use strict";
12074
12076
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
12075
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfield", function() { return MDCTextfield; });
12077
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextField", function() { return MDCTextField; });
12076
12078
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__material_base_component__ = __webpack_require__(2);
12077
12079
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__material_ripple__ = __webpack_require__(4);
12078
12080
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constants__ = __webpack_require__(16);
12079
12081
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__adapter__ = __webpack_require__(17);
12080
12082
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__foundation__ = __webpack_require__(79);
12081
- /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextfieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
12083
+ /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "MDCTextFieldFoundation", function() { return __WEBPACK_IMPORTED_MODULE_4__foundation__["a"]; });
12082
12084
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
12083
12085
 
12084
12086
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -12116,27 +12118,27 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
12116
12118
 
12117
12119
 
12118
12120
  /**
12119
- * @extends {MDCComponent<!MDCTextfieldFoundation>}
12121
+ * @extends {MDCComponent<!MDCTextFieldFoundation>}
12120
12122
  * @final
12121
12123
  */
12122
12124
 
12123
- var MDCTextfield = function (_MDCComponent) {
12124
- _inherits(MDCTextfield, _MDCComponent);
12125
+ var MDCTextField = function (_MDCComponent) {
12126
+ _inherits(MDCTextField, _MDCComponent);
12125
12127
 
12126
12128
  /**
12127
12129
  * @param {...?} args
12128
12130
  */
12129
- function MDCTextfield() {
12131
+ function MDCTextField() {
12130
12132
  var _ref;
12131
12133
 
12132
- _classCallCheck(this, MDCTextfield);
12134
+ _classCallCheck(this, MDCTextField);
12133
12135
 
12134
12136
  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
12135
12137
  args[_key] = arguments[_key];
12136
12138
  }
12137
12139
 
12138
12140
  /** @private {?Element} */
12139
- var _this = _possibleConstructorReturn(this, (_ref = MDCTextfield.__proto__ || Object.getPrototypeOf(MDCTextfield)).call.apply(_ref, [this].concat(args)));
12141
+ var _this = _possibleConstructorReturn(this, (_ref = MDCTextField.__proto__ || Object.getPrototypeOf(MDCTextField)).call.apply(_ref, [this].concat(args)));
12140
12142
 
12141
12143
  _this.input_;
12142
12144
  /** @private {?Element} */
@@ -12154,11 +12156,11 @@ var MDCTextfield = function (_MDCComponent) {
12154
12156
 
12155
12157
  /**
12156
12158
  * @param {!Element} root
12157
- * @return {!MDCTextfield}
12159
+ * @return {!MDCTextField}
12158
12160
  */
12159
12161
 
12160
12162
 
12161
- _createClass(MDCTextfield, [{
12163
+ _createClass(MDCTextField, [{
12162
12164
  key: 'initialize',
12163
12165
 
12164
12166
 
@@ -12194,11 +12196,11 @@ var MDCTextfield = function (_MDCComponent) {
12194
12196
  if (this.ripple) {
12195
12197
  this.ripple.destroy();
12196
12198
  }
12197
- _get(MDCTextfield.prototype.__proto__ || Object.getPrototypeOf(MDCTextfield.prototype), 'destroy', this).call(this);
12199
+ _get(MDCTextField.prototype.__proto__ || Object.getPrototypeOf(MDCTextField.prototype), 'destroy', this).call(this);
12198
12200
  }
12199
12201
 
12200
12202
  /**
12201
- * Initiliazes the Textfield's internal state based on the environment's
12203
+ * Initiliazes the Text Field's internal state based on the environment's
12202
12204
  * state.
12203
12205
  */
12204
12206
 
@@ -12209,7 +12211,7 @@ var MDCTextfield = function (_MDCComponent) {
12209
12211
  }
12210
12212
 
12211
12213
  /**
12212
- * @return {boolean} True if the Textfield is disabled.
12214
+ * @return {boolean} True if the Text Field is disabled.
12213
12215
  */
12214
12216
 
12215
12217
  }, {
@@ -12217,12 +12219,12 @@ var MDCTextfield = function (_MDCComponent) {
12217
12219
 
12218
12220
 
12219
12221
  /**
12220
- * @return {!MDCTextfieldFoundation}
12222
+ * @return {!MDCTextFieldFoundation}
12221
12223
  */
12222
12224
  value: function getDefaultFoundation() {
12223
12225
  var _this2 = this;
12224
12226
 
12225
- return new __WEBPACK_IMPORTED_MODULE_4__foundation__["a" /* default */]( /** @type {!MDCTextfieldAdapter} */_extends({
12227
+ return new __WEBPACK_IMPORTED_MODULE_4__foundation__["a" /* default */]( /** @type {!MDCTextFieldAdapter} */_extends({
12226
12228
  addClass: function addClass(className) {
12227
12229
  return _this2.root_.classList.add(className);
12228
12230
  },
@@ -12397,7 +12399,7 @@ var MDCTextfield = function (_MDCComponent) {
12397
12399
  }
12398
12400
 
12399
12401
  /**
12400
- * @param {boolean} disabled Sets the Textfield disabled or enabled.
12402
+ * @param {boolean} disabled Sets the Text Field disabled or enabled.
12401
12403
  */
12402
12404
  ,
12403
12405
  set: function set(disabled) {
@@ -12405,7 +12407,7 @@ var MDCTextfield = function (_MDCComponent) {
12405
12407
  }
12406
12408
 
12407
12409
  /**
12408
- * @param {boolean} valid Sets the Textfield valid or invalid.
12410
+ * @param {boolean} valid Sets the Text Field valid or invalid.
12409
12411
  */
12410
12412
 
12411
12413
  }, {
@@ -12416,11 +12418,11 @@ var MDCTextfield = function (_MDCComponent) {
12416
12418
  }], [{
12417
12419
  key: 'attachTo',
12418
12420
  value: function attachTo(root) {
12419
- return new MDCTextfield(root);
12421
+ return new MDCTextField(root);
12420
12422
  }
12421
12423
  }]);
12422
12424
 
12423
- return MDCTextfield;
12425
+ return MDCTextField;
12424
12426
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_component__["a" /* default */]);
12425
12427
 
12426
12428
 
@@ -12465,14 +12467,14 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
12465
12467
 
12466
12468
 
12467
12469
  /**
12468
- * @extends {MDCFoundation<!MDCTextfieldAdapter>}
12470
+ * @extends {MDCFoundation<!MDCTextFieldAdapter>}
12469
12471
  * @final
12470
12472
  */
12471
12473
 
12472
- var MDCTextfieldFoundation = function (_MDCFoundation) {
12473
- _inherits(MDCTextfieldFoundation, _MDCFoundation);
12474
+ var MDCTextFieldFoundation = function (_MDCFoundation) {
12475
+ _inherits(MDCTextFieldFoundation, _MDCFoundation);
12474
12476
 
12475
- _createClass(MDCTextfieldFoundation, null, [{
12477
+ _createClass(MDCTextFieldFoundation, null, [{
12476
12478
  key: 'cssClasses',
12477
12479
 
12478
12480
  /** @return enum {string} */
@@ -12489,15 +12491,15 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12489
12491
  }
12490
12492
 
12491
12493
  /**
12492
- * {@see MDCTextfieldAdapter} for typing information on parameters and return
12494
+ * {@see MDCTextFieldAdapter} for typing information on parameters and return
12493
12495
  * types.
12494
- * @return {!MDCTextfieldAdapter}
12496
+ * @return {!MDCTextFieldAdapter}
12495
12497
  */
12496
12498
 
12497
12499
  }, {
12498
12500
  key: 'defaultAdapter',
12499
12501
  get: function get() {
12500
- return (/** @type {!MDCTextfieldAdapter} */{
12502
+ return (/** @type {!MDCTextFieldAdapter} */{
12501
12503
  addClass: function addClass() {},
12502
12504
  removeClass: function removeClass() {},
12503
12505
  addClassToLabel: function addClassToLabel() {},
@@ -12527,18 +12529,18 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12527
12529
  }
12528
12530
 
12529
12531
  /**
12530
- * @param {!MDCTextfieldAdapter=} adapter
12532
+ * @param {!MDCTextFieldAdapter=} adapter
12531
12533
  */
12532
12534
 
12533
12535
  }]);
12534
12536
 
12535
- function MDCTextfieldFoundation() {
12536
- var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : /** @type {!MDCTextfieldAdapter} */{};
12537
+ function MDCTextFieldFoundation() {
12538
+ var adapter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : /** @type {!MDCTextFieldAdapter} */{};
12537
12539
 
12538
- _classCallCheck(this, MDCTextfieldFoundation);
12540
+ _classCallCheck(this, MDCTextFieldFoundation);
12539
12541
 
12540
12542
  /** @private {boolean} */
12541
- var _this = _possibleConstructorReturn(this, (MDCTextfieldFoundation.__proto__ || Object.getPrototypeOf(MDCTextfieldFoundation)).call(this, _extends(MDCTextfieldFoundation.defaultAdapter, adapter)));
12543
+ var _this = _possibleConstructorReturn(this, (MDCTextFieldFoundation.__proto__ || Object.getPrototypeOf(MDCTextFieldFoundation)).call(this, _extends(MDCTextFieldFoundation.defaultAdapter, adapter)));
12542
12544
 
12543
12545
  _this.isFocused_ = false;
12544
12546
  /** @private {boolean} */
@@ -12547,40 +12549,40 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12547
12549
  _this.useCustomValidityChecking_ = false;
12548
12550
  /** @private {function(): undefined} */
12549
12551
  _this.inputFocusHandler_ = function () {
12550
- return _this.activateFocus_();
12552
+ return _this.activateFocus();
12551
12553
  };
12552
12554
  /** @private {function(): undefined} */
12553
12555
  _this.inputBlurHandler_ = function () {
12554
- return _this.deactivateFocus_();
12556
+ return _this.deactivateFocus();
12555
12557
  };
12556
12558
  /** @private {function(): undefined} */
12557
12559
  _this.inputInputHandler_ = function () {
12558
- return _this.autoCompleteFocus_();
12560
+ return _this.autoCompleteFocus();
12559
12561
  };
12560
12562
  /** @private {function(!Event): undefined} */
12561
12563
  _this.setPointerXOffset_ = function (evt) {
12562
- return _this.setBottomLineTransformOrigin_(evt);
12564
+ return _this.animateBottomLine(evt);
12563
12565
  };
12564
12566
  /** @private {function(!Event): undefined} */
12565
12567
  _this.textFieldInteractionHandler_ = function (evt) {
12566
- return _this.handleTextFieldInteraction_(evt);
12568
+ return _this.handleTextFieldInteraction(evt);
12567
12569
  };
12568
12570
  /** @private {function(!Event): undefined} */
12569
12571
  _this.transitionEndHandler_ = function (evt) {
12570
- return _this.transitionEnd_(evt);
12572
+ return _this.handleBottomLineAnimationEnd(evt);
12571
12573
  };
12572
12574
  return _this;
12573
12575
  }
12574
12576
 
12575
- _createClass(MDCTextfieldFoundation, [{
12577
+ _createClass(MDCTextFieldFoundation, [{
12576
12578
  key: 'init',
12577
12579
  value: function init() {
12578
12580
  var _this2 = this;
12579
12581
 
12580
- this.adapter_.addClass(MDCTextfieldFoundation.cssClasses.UPGRADED);
12582
+ this.adapter_.addClass(MDCTextFieldFoundation.cssClasses.UPGRADED);
12581
12583
  // Ensure label does not collide with any pre-filled value.
12582
12584
  if (this.getNativeInput_().value) {
12583
- this.adapter_.addClassToLabel(MDCTextfieldFoundation.cssClasses.LABEL_FLOAT_ABOVE);
12585
+ this.adapter_.addClassToLabel(MDCTextFieldFoundation.cssClasses.LABEL_FLOAT_ABOVE);
12584
12586
  }
12585
12587
 
12586
12588
  this.adapter_.registerInputInteractionHandler('focus', this.inputFocusHandler_);
@@ -12599,7 +12601,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12599
12601
  value: function destroy() {
12600
12602
  var _this3 = this;
12601
12603
 
12602
- this.adapter_.removeClass(MDCTextfieldFoundation.cssClasses.UPGRADED);
12604
+ this.adapter_.removeClass(MDCTextFieldFoundation.cssClasses.UPGRADED);
12603
12605
  this.adapter_.deregisterInputInteractionHandler('focus', this.inputFocusHandler_);
12604
12606
  this.adapter_.deregisterInputInteractionHandler('blur', this.inputBlurHandler_);
12605
12607
  this.adapter_.deregisterInputInteractionHandler('input', this.inputInputHandler_);
@@ -12613,14 +12615,13 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12613
12615
  }
12614
12616
 
12615
12617
  /**
12616
- * Handles all user interactions with the Textfield.
12618
+ * Handles all user interactions with the Text Field.
12617
12619
  * @param {!Event} evt
12618
- * @private
12619
12620
  */
12620
12621
 
12621
12622
  }, {
12622
- key: 'handleTextFieldInteraction_',
12623
- value: function handleTextFieldInteraction_(evt) {
12623
+ key: 'handleTextFieldInteraction',
12624
+ value: function handleTextFieldInteraction(evt) {
12624
12625
  if (this.adapter_.getNativeInput().disabled) {
12625
12626
  return;
12626
12627
  }
@@ -12629,7 +12630,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12629
12630
 
12630
12631
  var target = evt.target,
12631
12632
  type = evt.type;
12632
- var TEXT_FIELD_ICON = MDCTextfieldFoundation.cssClasses.TEXT_FIELD_ICON;
12633
+ var TEXT_FIELD_ICON = MDCTextFieldFoundation.cssClasses.TEXT_FIELD_ICON;
12633
12634
 
12634
12635
  var targetIsIcon = this.adapter_.eventTargetHasClass(target, TEXT_FIELD_ICON);
12635
12636
  var eventTriggersNotification = type === 'click' || evt.key === 'Enter' || evt.keyCode === 13;
@@ -12641,17 +12642,16 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12641
12642
 
12642
12643
  /**
12643
12644
  * Activates the text field focus state.
12644
- * @private
12645
12645
  */
12646
12646
 
12647
12647
  }, {
12648
- key: 'activateFocus_',
12649
- value: function activateFocus_() {
12650
- var _MDCTextfieldFoundati = MDCTextfieldFoundation.cssClasses,
12651
- BOTTOM_LINE_ACTIVE = _MDCTextfieldFoundati.BOTTOM_LINE_ACTIVE,
12652
- FOCUSED = _MDCTextfieldFoundati.FOCUSED,
12653
- LABEL_FLOAT_ABOVE = _MDCTextfieldFoundati.LABEL_FLOAT_ABOVE,
12654
- LABEL_SHAKE = _MDCTextfieldFoundati.LABEL_SHAKE;
12648
+ key: 'activateFocus',
12649
+ value: function activateFocus() {
12650
+ var _MDCTextFieldFoundati = MDCTextFieldFoundation.cssClasses,
12651
+ BOTTOM_LINE_ACTIVE = _MDCTextFieldFoundati.BOTTOM_LINE_ACTIVE,
12652
+ FOCUSED = _MDCTextFieldFoundati.FOCUSED,
12653
+ LABEL_FLOAT_ABOVE = _MDCTextFieldFoundati.LABEL_FLOAT_ABOVE,
12654
+ LABEL_SHAKE = _MDCTextFieldFoundati.LABEL_SHAKE;
12655
12655
 
12656
12656
  this.adapter_.addClass(FOCUSED);
12657
12657
  this.adapter_.addClassToBottomLine(BOTTOM_LINE_ACTIVE);
@@ -12662,15 +12662,13 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12662
12662
  }
12663
12663
 
12664
12664
  /**
12665
- * Sets the transform-origin of the bottom line, causing it to animate out
12666
- * from the user's click location.
12665
+ * Animates the bottom line out from the user's click location.
12667
12666
  * @param {!Event} evt
12668
- * @private
12669
12667
  */
12670
12668
 
12671
12669
  }, {
12672
- key: 'setBottomLineTransformOrigin_',
12673
- value: function setBottomLineTransformOrigin_(evt) {
12670
+ key: 'animateBottomLine',
12671
+ value: function animateBottomLine(evt) {
12674
12672
  var targetClientRect = evt.target.getBoundingClientRect();
12675
12673
  var evtCoords = { x: evt.clientX, y: evt.clientY };
12676
12674
  var normalizedX = evtCoords.x - targetClientRect.left;
@@ -12680,16 +12678,15 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12680
12678
  }
12681
12679
 
12682
12680
  /**
12683
- * Activates the Textfield's focus state in cases when the input value
12681
+ * Activates the Text Field's focus state in cases when the input value
12684
12682
  * changes without user input (e.g. programatically).
12685
- * @private
12686
12683
  */
12687
12684
 
12688
12685
  }, {
12689
- key: 'autoCompleteFocus_',
12690
- value: function autoCompleteFocus_() {
12686
+ key: 'autoCompleteFocus',
12687
+ value: function autoCompleteFocus() {
12691
12688
  if (!this.receivedUserInput_) {
12692
- this.activateFocus_();
12689
+ this.activateFocus();
12693
12690
  }
12694
12691
  }
12695
12692
 
@@ -12701,22 +12698,21 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12701
12698
  }, {
12702
12699
  key: 'showHelptext_',
12703
12700
  value: function showHelptext_() {
12704
- var ARIA_HIDDEN = MDCTextfieldFoundation.strings.ARIA_HIDDEN;
12701
+ var ARIA_HIDDEN = MDCTextFieldFoundation.strings.ARIA_HIDDEN;
12705
12702
 
12706
12703
  this.adapter_.removeHelptextAttr(ARIA_HIDDEN);
12707
12704
  }
12708
12705
 
12709
12706
  /**
12710
- * Fires when animation transition ends, performing actions that must wait
12711
- * for animations to finish.
12707
+ * Executes when the bottom line's transition animation ends, performing
12708
+ * actions that must wait for animations to finish.
12712
12709
  * @param {!Event} evt
12713
- * @private
12714
12710
  */
12715
12711
 
12716
12712
  }, {
12717
- key: 'transitionEnd_',
12718
- value: function transitionEnd_(evt) {
12719
- var BOTTOM_LINE_ACTIVE = MDCTextfieldFoundation.cssClasses.BOTTOM_LINE_ACTIVE;
12713
+ key: 'handleBottomLineAnimationEnd',
12714
+ value: function handleBottomLineAnimationEnd(evt) {
12715
+ var BOTTOM_LINE_ACTIVE = MDCTextFieldFoundation.cssClasses.BOTTOM_LINE_ACTIVE;
12720
12716
 
12721
12717
  // We need to wait for the bottom line to be entirely transparent
12722
12718
  // before removing the class. If we do not, we see the line start to
@@ -12728,17 +12724,16 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12728
12724
  }
12729
12725
 
12730
12726
  /**
12731
- * Deactives the Textfield's focus state.
12732
- * @private
12727
+ * Deactives the Text Field's focus state.
12733
12728
  */
12734
12729
 
12735
12730
  }, {
12736
- key: 'deactivateFocus_',
12737
- value: function deactivateFocus_() {
12738
- var _MDCTextfieldFoundati2 = MDCTextfieldFoundation.cssClasses,
12739
- FOCUSED = _MDCTextfieldFoundati2.FOCUSED,
12740
- LABEL_FLOAT_ABOVE = _MDCTextfieldFoundati2.LABEL_FLOAT_ABOVE,
12741
- LABEL_SHAKE = _MDCTextfieldFoundati2.LABEL_SHAKE;
12731
+ key: 'deactivateFocus',
12732
+ value: function deactivateFocus() {
12733
+ var _MDCTextFieldFoundati2 = MDCTextFieldFoundation.cssClasses,
12734
+ FOCUSED = _MDCTextFieldFoundati2.FOCUSED,
12735
+ LABEL_FLOAT_ABOVE = _MDCTextFieldFoundati2.LABEL_FLOAT_ABOVE,
12736
+ LABEL_SHAKE = _MDCTextFieldFoundati2.LABEL_SHAKE;
12742
12737
 
12743
12738
  var input = this.getNativeInput_();
12744
12739
 
@@ -12757,7 +12752,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12757
12752
  }
12758
12753
 
12759
12754
  /**
12760
- * Updates the Textfield's valid state based on the supplied validity.
12755
+ * Updates the Text Field's valid state based on the supplied validity.
12761
12756
  * @param {boolean} isValid
12762
12757
  * @private
12763
12758
  */
@@ -12765,9 +12760,9 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12765
12760
  }, {
12766
12761
  key: 'changeValidity_',
12767
12762
  value: function changeValidity_(isValid) {
12768
- var _MDCTextfieldFoundati3 = MDCTextfieldFoundation.cssClasses,
12769
- INVALID = _MDCTextfieldFoundati3.INVALID,
12770
- LABEL_SHAKE = _MDCTextfieldFoundati3.LABEL_SHAKE;
12763
+ var _MDCTextFieldFoundati3 = MDCTextFieldFoundation.cssClasses,
12764
+ INVALID = _MDCTextFieldFoundati3.INVALID,
12765
+ LABEL_SHAKE = _MDCTextFieldFoundati3.LABEL_SHAKE;
12771
12766
 
12772
12767
  if (isValid) {
12773
12768
  this.adapter_.removeClass(INVALID);
@@ -12779,18 +12774,18 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12779
12774
  }
12780
12775
 
12781
12776
  /**
12782
- * Updates the state of the Textfield's help text based on validity and
12783
- * the Textfield's options.
12777
+ * Updates the state of the Text Field's help text based on validity and
12778
+ * the Text Field's options.
12784
12779
  * @param {boolean} isValid
12785
12780
  */
12786
12781
 
12787
12782
  }, {
12788
12783
  key: 'updateHelptext_',
12789
12784
  value: function updateHelptext_(isValid) {
12790
- var _MDCTextfieldFoundati4 = MDCTextfieldFoundation.cssClasses,
12791
- HELPTEXT_PERSISTENT = _MDCTextfieldFoundati4.HELPTEXT_PERSISTENT,
12792
- HELPTEXT_VALIDATION_MSG = _MDCTextfieldFoundati4.HELPTEXT_VALIDATION_MSG;
12793
- var ROLE = MDCTextfieldFoundation.strings.ROLE;
12785
+ var _MDCTextFieldFoundati4 = MDCTextFieldFoundation.cssClasses,
12786
+ HELPTEXT_PERSISTENT = _MDCTextFieldFoundati4.HELPTEXT_PERSISTENT,
12787
+ HELPTEXT_VALIDATION_MSG = _MDCTextFieldFoundati4.HELPTEXT_VALIDATION_MSG;
12788
+ var ROLE = MDCTextFieldFoundation.strings.ROLE;
12794
12789
 
12795
12790
  var helptextIsPersistent = this.adapter_.helptextHasClass(HELPTEXT_PERSISTENT);
12796
12791
  var helptextIsValidationMsg = this.adapter_.helptextHasClass(HELPTEXT_VALIDATION_MSG);
@@ -12816,13 +12811,13 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12816
12811
  }, {
12817
12812
  key: 'hideHelptext_',
12818
12813
  value: function hideHelptext_() {
12819
- var ARIA_HIDDEN = MDCTextfieldFoundation.strings.ARIA_HIDDEN;
12814
+ var ARIA_HIDDEN = MDCTextFieldFoundation.strings.ARIA_HIDDEN;
12820
12815
 
12821
12816
  this.adapter_.setHelptextAttr(ARIA_HIDDEN, 'true');
12822
12817
  }
12823
12818
 
12824
12819
  /**
12825
- * @return {boolean} True if the Textfield input fails validity checks.
12820
+ * @return {boolean} True if the Text Field input fails validity checks.
12826
12821
  * @private
12827
12822
  */
12828
12823
 
@@ -12834,7 +12829,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12834
12829
  }
12835
12830
 
12836
12831
  /**
12837
- * @return {boolean} True if the Textfield is disabled.
12832
+ * @return {boolean} True if the Text Field is disabled.
12838
12833
  */
12839
12834
 
12840
12835
  }, {
@@ -12844,13 +12839,13 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12844
12839
  }
12845
12840
 
12846
12841
  /**
12847
- * @param {boolean} disabled Sets the textfield disabled or enabled.
12842
+ * @param {boolean} disabled Sets the text-field disabled or enabled.
12848
12843
  */
12849
12844
 
12850
12845
  }, {
12851
12846
  key: 'setDisabled',
12852
12847
  value: function setDisabled(disabled) {
12853
- var DISABLED = MDCTextfieldFoundation.cssClasses.DISABLED;
12848
+ var DISABLED = MDCTextFieldFoundation.cssClasses.DISABLED;
12854
12849
 
12855
12850
  this.getNativeInput_().disabled = disabled;
12856
12851
  if (disabled) {
@@ -12883,7 +12878,7 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12883
12878
  }
12884
12879
 
12885
12880
  /**
12886
- * @param {boolean} isValid Sets the validity state of the Textfield.
12881
+ * @param {boolean} isValid Sets the validity state of the Text Field.
12887
12882
  */
12888
12883
 
12889
12884
  }, {
@@ -12894,10 +12889,10 @@ var MDCTextfieldFoundation = function (_MDCFoundation) {
12894
12889
  }
12895
12890
  }]);
12896
12891
 
12897
- return MDCTextfieldFoundation;
12892
+ return MDCTextFieldFoundation;
12898
12893
  }(__WEBPACK_IMPORTED_MODULE_0__material_base_foundation__["a" /* default */]);
12899
12894
 
12900
- /* harmony default export */ __webpack_exports__["a"] = (MDCTextfieldFoundation);
12895
+ /* harmony default export */ __webpack_exports__["a"] = (MDCTextFieldFoundation);
12901
12896
 
12902
12897
  /***/ }),
12903
12898
  /* 80 */