mui-sass 0.9.27 → 0.9.28

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f244354edb4cba236419e6239a0f5eabdcd6d32c
4
- data.tar.gz: d3ec7859772af0c3fddb201fc8c2ee291b614414
3
+ metadata.gz: b9838ec4cc616cc23a464cb3a27334a4f26f9b2c
4
+ data.tar.gz: b15383f90e0811811d3f573e31bdc486b47e8d4c
5
5
  SHA512:
6
- metadata.gz: 5420e3279942565128744b4fb61a0c7eff3c4107dd887c1c4adce48513bb71b77897cbe72f3d2b7e22432acca649e0d4d5d46ed63148d81cc31f3a5ad1e15c11
7
- data.tar.gz: 6ed10ce06107e40b47f9f1b2b6712e3d4a1437f31c5eb988822206af3fdd12ceef37417af7b60ee3926f3f484c20ee813e490b37214a1f92550aed93016d31fc
6
+ metadata.gz: 665edc4f1af2fd42abdfc3c3c55571ba31c5858238383ca24a59a3be268b20f0de29e8f3432bb24ffec330053f2b2a2dfe2480b0084f182e14be0ecf98411552
7
+ data.tar.gz: 7946b403b214369b7a7e2eb28a4f030f8af6694ea238b403aaa370eb3fd3d6f73163f4b0e99cab7e72669fba4f609efeda082bd1ae4bbc87c4b440d4d5db2a04
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.9.28 (2017-10-31)
2
+
3
+ - Update assets to match upstream version
4
+
1
5
  ## 0.9.27 (2017-10-31)
2
6
 
3
7
  - Update assets to match upstream version
@@ -1,5 +1,5 @@
1
1
  module Mui
2
2
  module Sass
3
- VERSION = '0.9.27'.freeze
3
+ VERSION = '0.9.28'.freeze
4
4
  end
5
5
  end
@@ -161,29 +161,29 @@ module.exports = {
161
161
 
162
162
  'use strict';
163
163
 
164
- var wrapperPadding = 15, // from CSS
165
- inputHeight = 32, // from CSS
166
- rowHeight = 42, // from CSS
167
- menuPadding = 8; // from CSS
164
+ var jqLite = require('./jqLite');
168
165
 
169
166
 
170
167
  /**
171
168
  * Menu position/size/scroll helper
172
169
  * @returns {Object} Object with keys 'height', 'top', 'scrollTop'
173
170
  */
174
- function getMenuPositionalCSSFn(wrapperEl, numRows, selectedRow) {
175
- var viewHeight = document.documentElement.clientHeight;
171
+ function getMenuPositionalCSSFn(wrapperEl, menuEl, selectedRow) {
172
+ var viewHeight = document.documentElement.clientHeight,
173
+ numRows = menuEl.children.length;
176
174
 
177
- // determine 'height'
178
- var h = numRows * rowHeight + 2 * menuPadding,
175
+ // determine menu height
176
+ var h = parseInt(menuEl.offsetHeight),
179
177
  height = Math.min(h, viewHeight);
180
178
 
179
+ // determine row height
180
+ var p = parseInt(jqLite.css(menuEl, 'padding-top')),
181
+ rowHeight = (h - 2 * p) / numRows;
182
+
181
183
  // determine 'top'
182
184
  var top, initTop, minTop, maxTop;
183
185
 
184
- initTop = (menuPadding + rowHeight) - (wrapperPadding + inputHeight);
185
- initTop -= selectedRow * rowHeight;
186
-
186
+ initTop = -1 * selectedRow * rowHeight;
187
187
  minTop = -1 * wrapperEl.getBoundingClientRect().top;
188
188
  maxTop = (viewHeight - height) + minTop;
189
189
 
@@ -195,9 +195,8 @@ function getMenuPositionalCSSFn(wrapperEl, numRows, selectedRow) {
195
195
  scrollMax;
196
196
 
197
197
  if (h > viewHeight) {
198
- scrollIdeal = (menuPadding + (selectedRow + 1) * rowHeight) -
199
- (-1 * top + wrapperPadding + inputHeight);
200
- scrollMax = numRows * rowHeight + 2 * menuPadding - height;
198
+ scrollIdeal = top + p + selectedRow * rowHeight;
199
+ scrollMax = numRows * rowHeight + 2 * p - height;
201
200
  scrollTop = Math.min(scrollIdeal, scrollMax);
202
201
  }
203
202
 
@@ -214,7 +213,7 @@ module.exports = {
214
213
  getMenuPositionalCSS: getMenuPositionalCSSFn
215
214
  };
216
215
 
217
- },{}],5:[function(require,module,exports){
216
+ },{"./jqLite":5}],5:[function(require,module,exports){
218
217
  /**
219
218
  * MUI CSS/JS jqLite module
220
219
  * @module lib/jqLite
@@ -1574,7 +1573,9 @@ function Menu(wrapperEl, selectEl, wrapperCallbackFn) {
1574
1573
  this.currentPos = null;
1575
1574
  this.selectEl = selectEl;
1576
1575
  this.wrapperEl = wrapperEl;
1577
- this.menuEl = this._createMenuEl(wrapperEl, selectEl);
1576
+
1577
+ var res = this._createMenuEl(wrapperEl, selectEl),
1578
+ menuEl = this.menuEl = res[0];
1578
1579
 
1579
1580
  var cb = util.callback;
1580
1581
 
@@ -1584,11 +1585,20 @@ function Menu(wrapperEl, selectEl, wrapperCallbackFn) {
1584
1585
 
1585
1586
  // add to DOM
1586
1587
  wrapperEl.appendChild(this.menuEl);
1587
- jqLite.scrollTop(this.menuEl, this.menuEl._scrollTop);
1588
+
1589
+ // set position
1590
+ var props = formlib.getMenuPositionalCSS(
1591
+ wrapperEl,
1592
+ menuEl,
1593
+ res[1]
1594
+ );
1595
+
1596
+ jqLite.css(menuEl, props);
1597
+ jqLite.scrollTop(menuEl, props.scrollTop);
1588
1598
 
1589
1599
  // attach event handlers
1590
1600
  var destroyCB = this.destroyCB;
1591
- jqLite.on(this.menuEl, 'click', this.onClickCB);
1601
+ jqLite.on(menuEl, 'click', this.onClickCB);
1592
1602
  jqLite.on(win, 'resize', destroyCB);
1593
1603
 
1594
1604
  // attach event handler after current event loop exits
@@ -1608,6 +1618,7 @@ Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
1608
1618
  origPos = -1,
1609
1619
  selectedPos = 0,
1610
1620
  selectedRow = 0,
1621
+ numRows = 0,
1611
1622
  docFrag = document.createDocumentFragment(), // for speed
1612
1623
  loopEl,
1613
1624
  rowEl,
@@ -1658,7 +1669,7 @@ Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
1658
1669
 
1659
1670
  // handle selected options
1660
1671
  if (loopEl.selected) {
1661
- selectedRow = menuEl.children.length;
1672
+ selectedRow = numRows;
1662
1673
  origPos = itemPos;
1663
1674
  selectedPos = itemPos;
1664
1675
  }
@@ -1669,6 +1680,7 @@ Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
1669
1680
  }
1670
1681
 
1671
1682
  docFrag.appendChild(rowEl);
1683
+ numRows += 1;
1672
1684
  }
1673
1685
  }
1674
1686
 
@@ -1682,17 +1694,7 @@ Menu.prototype._createMenuEl = function(wrapperEl, selectEl) {
1682
1694
  // paint selectedPos
1683
1695
  if (itemArray.length) jqLite.addClass(itemArray[selectedPos], selectedClass);
1684
1696
 
1685
- // set position
1686
- var props = formlib.getMenuPositionalCSS(
1687
- wrapperEl,
1688
- menuEl.children.length,
1689
- selectedRow
1690
- );
1691
-
1692
- jqLite.css(menuEl, props);
1693
- menuEl._scrollTop = props.scrollTop;
1694
-
1695
- return menuEl;
1697
+ return [menuEl, selectedRow];
1696
1698
  }
1697
1699
 
1698
1700
 
@@ -126,8 +126,8 @@ $xFormLabelLineHeight: floor($mui-label-font-size * 1.25);
126
126
 
127
127
  > div {
128
128
  padding: 0 22px;
129
- height: $mui-select-menu-font-size + 26px;
130
- line-height: $mui-select-menu-font-size + 26px;
129
+ height: $mui-select-menu-item-height;
130
+ line-height: $mui-select-menu-item-height;
131
131
  cursor: pointer;
132
132
  white-space: nowrap;
133
133
 
@@ -191,8 +191,9 @@ $mui-form-group-margin-bottom: 20px !default;
191
191
  // SELECT
192
192
  // ============================================================================
193
193
 
194
- $mui-select-menu-font-size: $mui-input-font-size !default;
195
- $mui-select-menu-bg-color: mui-color('white') !default;
194
+ $mui-select-menu-font-size: $mui-input-font-size !default;
195
+ $mui-select-menu-bg-color: mui-color('white') !default;
196
+ $mui-select-menu-item-height: $mui-select-menu-font-size + 26px !default;
196
197
  $mui-select-menu-item-bg-color-selected: mui-color('grey', '200') !default;
197
198
  $mui-select-menu-item-bg-color-hover: mui-color('grey', '300') !default;
198
199
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mui-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.27
4
+ version: 0.9.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy Tarasov