Skip to content

Commit 4b50095

Browse files
author
unknown
committed
Release 1.0.0-alpha4
1 parent ac8fea4 commit 4b50095

File tree

16 files changed

+404
-55
lines changed

16 files changed

+404
-55
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66

77
### Bootstrap 5 & Material Design 2.0 UI KIT
88

9-
**[>> Get Started](https://mdbootstrap.com/docs/standard/getting-started/installation/)**
9+
**[>> Get Started in 3 steps](https://mdbootstrap.com/docs/standard/getting-started/installation/)**
1010

11-
**[>> Demo](https://mdbootstrap.com/docs/standard/#demo)**
11+
**[>> Get Started with Webpack](https://github.com/mdbootstrap/mdb-webpack-starter)**
12+
13+
**[>> MDB 5 Demo](https://mdbootstrap.com/docs/standard/#demo)**
1214

1315
<a href="https://npmcharts.com/compare/mdbootstrap?minimal=true"> <img src="https://img.shields.io/npm/dm/mdbootstrap.svg?label=MDB%20Downloads" alt="Downloads"></a>
1416
<a href="https://github.com/mdbootstrap/bootstrap-material-design/blob/master/License.pdf"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>

README.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
MDB5
2-
Version: FREE 1.0.0-alpha3
2+
Version: FREE 1.0.0-alpha4
33

44
Documentation:
55
https://mdbootstrap.com/docs/standard/

css/mdb.min.css

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

css/mdb.min.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/mdb.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/mdb.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mdb-ui-kit",
3-
"version": "1.0.0-alpha3",
3+
"version": "1.0.0-alpha4",
44
"main": "js/mdb.min.js",
55
"repository": "https://github.com/mdbootstrap/mdb-ui-kit.git",
66
"author": "MDBootstrap",

src/js/free/input.js

Lines changed: 67 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ class Input {
7777
this._label = SelectorEngine.findOne('label', this._element);
7878
if (this._label === null) return;
7979
this._getLabelWidth();
80-
81-
if (!this._element.classList.contains('input-group')) return;
8280
this._getLabelPositionInInputGroup();
8381
}
8482

@@ -92,12 +90,18 @@ class Input {
9290
}
9391

9492
_getLabelPositionInInputGroup() {
93+
this._labelMarginLeft = 0;
94+
95+
if (!this._element.classList.contains('input-group')) return;
9596
const input =
9697
SelectorEngine.findOne('input', this._element) ||
9798
SelectorEngine.findOne('textarea', this._element);
9899
const prefix = SelectorEngine.prev(input, '.input-group-text')[0];
99-
if (prefix === undefined) return;
100-
this._labelMarginLeft = prefix.offsetWidth - 1;
100+
if (prefix === undefined) {
101+
this._labelMarginLeft = 0;
102+
} else {
103+
this._labelMarginLeft = prefix.offsetWidth - 1;
104+
}
101105
}
102106

103107
_applyDivs() {
@@ -130,25 +134,34 @@ class Input {
130134
}
131135

132136
_activate(event) {
133-
if (event) this._label = SelectorEngine.findOne('label', event.target.parentNode);
137+
this._getElements(event);
138+
139+
const input = event
140+
? event.target
141+
: SelectorEngine.findOne('input', this._element) ||
142+
SelectorEngine.findOne('textarea', this._element);
143+
144+
if (input.value !== '') {
145+
Manipulator.addClass(input, 'active');
146+
}
147+
}
148+
149+
_getElements(event) {
150+
if (event) {
151+
this._element = event.target.parentNode;
152+
this._label = SelectorEngine.findOne('label', this._element);
153+
}
154+
134155
if (event && this._label) {
135156
const prevLabelWidth = this._labelWidth;
136-
this._getLabelWidth();
157+
this._getLabelData();
137158

138159
if (prevLabelWidth !== this._labelWidth) {
139160
this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', event.target.parentNode);
140161
this._notchLeading = SelectorEngine.findOne('.form-notch-leading', event.target.parentNode);
141162
this._applyNotch();
142163
}
143164
}
144-
145-
const input = event
146-
? event.target
147-
: SelectorEngine.findOne('input', this._element) ||
148-
SelectorEngine.findOne('textarea', this._element);
149-
if (input.value !== '') {
150-
Manipulator.addClass(input, 'active');
151-
}
152165
}
153166

154167
_deactivate(event) {
@@ -186,8 +199,46 @@ EventHandler.on(document, 'focus', OUTLINE_TEXTAREA, Input.activate(new Input())
186199
EventHandler.on(document, 'input', OUTLINE_TEXTAREA, Input.activate(new Input()));
187200
EventHandler.on(document, 'blur', OUTLINE_TEXTAREA, Input.deactivate(new Input()));
188201

189-
EventHandler.on(window, 'shown.bs.modal', Input.activate(new Input()));
190-
EventHandler.on(window, 'shown.bs.dropdown', Input.activate(new Input()));
202+
EventHandler.on(window, 'shown.bs.modal', (e) => {
203+
SelectorEngine.find(OUTLINE_INPUT, e.target).forEach((element) => {
204+
const instance = Input.getInstance(element.parentNode);
205+
if (!instance) return;
206+
instance.update();
207+
});
208+
SelectorEngine.find(OUTLINE_TEXTAREA, e.target).forEach((element) => {
209+
const instance = Input.getInstance(element.parentNode);
210+
if (!instance) return;
211+
instance.update();
212+
});
213+
});
214+
215+
EventHandler.on(window, 'shown.bs.dropdown', (e) => {
216+
SelectorEngine.find(OUTLINE_INPUT, e.target).forEach((element) => {
217+
const instance = Input.getInstance(element.parentNode);
218+
if (!instance) return;
219+
instance.update();
220+
});
221+
SelectorEngine.find(OUTLINE_TEXTAREA, e.target).forEach((element) => {
222+
const instance = Input.getInstance(element.parentNode);
223+
if (!instance) return;
224+
instance.update();
225+
});
226+
});
227+
228+
EventHandler.on(window, 'shown.bs.tab', (e) => {
229+
const targetId = e.target.href.split('#')[1];
230+
const target = SelectorEngine.findOne(`#${targetId}`);
231+
SelectorEngine.find(OUTLINE_INPUT, target).forEach((element) => {
232+
const instance = Input.getInstance(element.parentNode);
233+
if (!instance) return;
234+
instance.update();
235+
});
236+
SelectorEngine.find(OUTLINE_TEXTAREA, target).forEach((element) => {
237+
const instance = Input.getInstance(element.parentNode);
238+
if (!instance) return;
239+
instance.update();
240+
});
241+
});
191242

192243
// auto-init
193244
SelectorEngine.find(`.${CLASSNAME_WRAPPER}`).forEach((element) => {

src/js/mdb.free.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ import Dropdown from './free/dropdown';
1616
import Treeview from './free/treeview';
1717
import Ripple from './free/ripple';
1818

19+
// AUTO INIT
20+
const tooltips = [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]'));
21+
const popovers = [].slice.call(document.querySelectorAll('[data-toggle="popover"]'));
22+
if (tooltips.length > 0) tooltips.map((tooltip) => new Tooltip(tooltip));
23+
if (popovers.length > 0) popovers.map((popover) => new Popover(popover));
24+
1925
export {
2026
Alert,
2127
Button,

src/scss/free/_badge.scss

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
min-width: 0;
77
padding: 0;
88
width: $badge-dot-width;
9-
margin-left: $badge-dot-ml;
9+
margin-left: -5px;
1010
&:empty {
1111
display: inline-block;
1212
}
1313
}
1414

1515
.badge-notification {
1616
position: absolute;
17-
margin-top: $badge-notification-mt;
18-
margin-left: $badge-notification-ml;
17+
font-size: 0.6rem;
18+
margin-top: -0.1rem;
19+
margin-left: -0.5rem;
20+
padding: 0.2em 0.45em;
1921
}

0 commit comments

Comments
 (0)