metro4
Version:
The front-end framework for Build responsive, mobile-first projects on the web with the first front-end component library in Metro Style
728 lines (691 loc) • 86.3 kB
Markdown
### 4.5.1
+ [x] Donut: fixed method `setColor({...})`
+ [x] Checkbox Three State: added new component with role `checkbox-three-state`
+ [x] Media: added sizes `xxxl: 1600px`, `xxxxl: 1800px`, `xxxxxl: 2000px`
+ [x] Grid: added cells `cell-xxxl-*`, `cell-xxxxl-*`, `cell-xxxxxl-*`, `cell-*-fifth` (20%), `cell-*-one-fifth` (20%), `cell-*-two-fifth` (40%), `cell-*-three-fifth` (60%), `cell-*-four-fifth` (80%)
+ [x] Table: fixed creating head from html
+ [x] Table: added placeholder for search input with `table-search-placeholder` attribute
+ [x] Countdown: fixed method `reset()`
+ [x] Countdown: added method `resetWith(str|obj)`
+ [x] Tabs: added events `onTabOpen`, `onTabClose`
+ [x] Tabs: to events `onTab`, `onTabOpen`, `onTabClose` added second argument `target`. Value for it child `a.href` value
+ [x] Tabs: added attribute `data-update-uri="true|false"` (default `false`). If true url hash will update with tab target value
+ [x] Tabs: added method `openByTarget("#...")`
### 4.5.0
+ [x] Tabs Material: fixed jump to the anchors, issue #1794
+ [x] Table: fixed create `Instpector` when table data loaded with method `loadData()`, issue #1796
+ [x] Tabs Material: added mouse wheel support for scrolling tabs, issue #1795
+ [x] Select: added event `data-on-clear`, fixed firing event `data-on-change` when user click on the `clear` button, issue #1802
+ [x] Switch: fixed method `toggleState()`, issue #1799
+ [x] Select: fixed API method `data()` for selecting option when defined, issue #1755
+ [x] Select: added API methods `addOptions(values = [] || {})`, `removeOptions(values = [])`
+ [x] Select: added API methods `addOption(val, title, selected)`, `removeOption(val)`
+ [x] Select: fixed clear button work, issue #1716
+ [x] Master: fixed for quick switching panes, issue #1787
+ [x] Important: IE is dead and no more supported!
+ [x] M4Q: version updated to 1.1.0
+ [x] M4Q: removed polyfills for Promise, CustomEvent (IE is dead)
+ [x] Datetime: version `1.0.1`, new **global type** `Datetime`, and **factory** `datetime()`
+ [x] Cake: version `1.0.0`, new **global type** `Cake`, and **factory** `cake()`
+ [x] Ajax: switched from `$.ajax` (`$.json`, `$.post`, ...) to `fetch` (IE is dead)
+ [x] Tag input: switched from `$.ajax` to `fetch`
+ [x] Input: switched from `$.ajax` to `fetch`
+ [x] Html container: switched from `$.ajax` to `fetch`
+ [x] Cookie disclaimer: switched from `$.ajax` to `fetch`
+ [x] Table: `_create()`, `_build()`, `_saveTableView()`, `loadData()` now use `fetch`, and send data to server as `json`
+ [x] Streamer: now use `fetch` for loading data
+ [x] List: now use `fetch` for loading data
+ [x] Calendar: fixed showing week numbers
+ [x] Calendar: rewritten with Datetime
+ [x] Calendar picker: rewritten with Datetime
+ [x] Countdown: updated for using with Datetime
+ [x] Chat: updated for using with Datetime
+ [x] Chat: changed messages style
+ [x] Validator: updated method `date` for using with Datetime
+ [x] Table: updated for using with Datetime (change `toDate()` to `Datetime.from()`)
+ [x] List: updated for using with Datetime (change `toDate()` to `Datetime.from()`)
+ [x] Datepicker: updated for using with Datetime
+ [x] Utils: updated for using with Datetime
+ [x] Extensions: removed extension for `Date`, use `Datetime`
+ [x] Extensions: removed extension for `Object` - `Object.create()`, `Object.values()` (IE is dead)
+ [x] Extensions: removed methods from extension for `String`, `Array`
+ [x] Any: added using `Cake.lpad` where need
+ [x] Utils: removed functions `lpad`, `rpad`. If you need these functions, use `Cake.pad`, `Cake.lpad`, `Cake.rpad`
+ [x] Select: added attributes `data-drop-full-size=true|false` (default: false), `data-drop-width=int_value` to set drop container width
+ [x] Hint: added attribute `hintDeferred` if value of this > 0, a hint will display with delay.
+ [x] ActionButton: fixed `vertical-align` for `multi-action` class
+ [x] Activity: change default style to `color`
+ [x] Keylock: added new component
+ [x] Calendar: fixed bug issue #1732
+ [x] Window: fixed event `onMaxClick`, issue #1735
+ [x] DoubleSelectBox: added new component, request from Patreon patron
+ [x] M4Q: fixed setting css number props `order`, `zoom` with method `css()`
+ [x] CalendarPicker: added API method `clear()`
+ [x] CalendarPicker: fixed API method `val()`, if you set argument as empty string `val("")`, you clear calendar picker value
+ [x] M4Q Ajax: fixed method `$.get` for url with `?`, issue #1745
+ [x] List: updated for using with different tags. For example: now you can use list with `div.grid role=list > div.row > div.cell` structure
+ [x] List: added attribute `data-cls-template-tag` to set class(es) for item children
+ [x] List: added attribute `data-default-template-tag` to set wrapper element for item children, when template is not defined
+ [x] List: improved work with an attribute `data-cls-template-tag`. Now you can set many classes separated with comma to applying to elements with linked index
+ [x] Grid: fixed `no-gap` class, now `padding` cancels for `.grid.no-gap .row > .cell*` and `.row.no-gap > .cell*`
+ [x] Utils: fixed function `Utils.isObject()`, issue #1755
+ [x] Switch: To show on-off label you must set attribute `data-show-on-off='true'` and use attributes: `data-on`, `data-text-on`, `data-off`, `data-text-off` or `i18n` configs with attribute `data-locale`
+ [x] Switch: added `i18n` support with props `locale.switch.on`, `locale.switch.off`
+ [x] Switch: added changing on-off text in runtime with API method `i18n(locale_name)`, issue #1761
+ [x] M4Q: added property `$.dark`
+ [x] Accordion: added API method `open(index)`
+ [x] Accordion: added attributes `data-cls-accordion`, `data-cls-frame`, `data-cls-heading`, `data-cls-content`, `data-cls-active-frame`, `data-cls-active-frame-heading`, `data-cls-active-frame-content`
+ [x] Table: added attribute `data-use-current-slice`. If this attribute has a value **true**, click on select-all checkbox will only apply to the current (visible) data slice, issue #1778
+ [x] Sidebar: added attribute `data-close-outside="true|false"` to close sidebar by a click outside the sidebar, issue #1777
+ [x] Marquee: added method `setItems([...])`
### 4.4.3
#### M4Q
+ [x] Attributes: fixed method `attr` when user defining one argument
+ [x] Animation: added methods `stopAll()`, `pause(id)`, `pauseAll()`, `resume(id)`, `resumeAll()`
#### Metro 4
+ [x] Color selector: added new component
+ [x] Color picker: added new a component
+ [x] Marquee: added new component
+ [x] NavView: fixed `navview-pane` item `height` and hover state, issue #1661
+ [x] Metro: improved function `makePlugin(...)`, now you can use it for set of elements.
+ [x] Slider: fixed work vertical slider for touchable devices
+ [x] Colors: improve work with hsl, hsv
+ [x] Spinner: fixed input not a number value, value more or less than defined in options.
+ [x] Keypad: fixed internal value type mismatch.
+ [x] InfoBox: added attribute `data-overlay-click-close=true|false`, default `false`, issue #1668
+ [x] Table: added localization from i18n files, issue #1671
+ [x] Dropdown: fixed closing others when open current
+ [x] Timepicker: fixed error when `step` is not equals to `0`, issue #1676
+ [x] Select: fixed clear button icon position in `input-small` mode, issue #1675
+ [x] Select: added attribute `data-cls-group-name`
+ [x] Select: for option added attribute `data-display`, issue #1677
+ [x] Input: added support for getting autocomplete list items with ajax, issue #1682
+ [x] Locales: added `Croatian` locale, thanks to [dugi007](https://github.com/dugi007)
+ [x] Calendar: added showing events count in days, issue #1621
+ [x] Tag Input: added autocomplete feature, issue #1500
+ [x] Table: added showing inspector button with attributes `data-show-inspector-button=true|false`, `data-inspector-button-icon`.
+ [x] Table: set default value for `data-cell-wrapper` to **true**
+ [x] Table: improve table styles for `table-contaner`
+ [x] Table: fixed working with attribute `data-horizontal-scroll-stop`
+ [x] Metro: added method `pluginExists(name)` to check if specified plugin registered in registry
+ [x] Colors: fixed primitives `RGBA`, `HSLA` to create with specified **alpha**
+ [x] Utils: added `lpad()`, `rpad()` functions
+ [x] Calendar: improve visibility, fixed for using `Utils.lpad()`
+ [x] Calendar picker: fixed for using `Utils.lpad()`
+ [x] Metro: added method `Component._fireEvents(...)`
+ [x] Security alert: fixed from issue #1687
+ [x] Date extension: fixed method `getWeek()`, used in calendar for showing week numbers.
+ [x] Tag input: added closing autocomplete list on user click outside.
+ [x] Window: fixed holds zIndex when draggable, issue #1689
+ [x] i18n: fixed a chinese locales name, issue #1691
+ [x] Countdown: changed prop name `data-animate-func` to `data-ease`
+ [x] Additional colors: for opacity added `op-*-hi`, `op-*-low` classes
+ [x] Additional colors: default opacity changed to `0.5`
+ [x] Keypad: added attributes `data-except-keys`, `data-key-separator`, `data-key-delimiter`, `data-trim-separator`.
+ [x] Table: fixed using attribute `data-sortable` for `th`.
### 4.4.2
#### Metro 4
+ [x] Button: fixed content position, issue #1648.
+ [x] Split-button: improved the layout, added subclass `no-gap` for `split-button`.
+ [x] Select: fixed minor bug for showing group name, when value sets with method `val(...)`, issue #1652
+ [x] GradientBox: refactoring.
+ [x] ImageBox: fixed work of attribute `data-repeat`.
+ [x] Window: improve work with window content, now no require `content` wrapping into the `block` when defining `content` property.
+ [x] ImagePlaceholder: new component to create image placeholders.
+ [x] Button: added a button with loading state.
+ [x] Color: improved method `parse()`.
+ [x] Validator: improved validating function `color`, now you can use any color string format: rgb, hex, ...
+ [x] Default icons: optimized styles.
+ [x] Media players: optimized default icons.
+ [x] Activity: added two new activity `bars`, `atom`.
+ [x] Tabs material: fixed tabs position.
+ [x] Utils: removed functions: `hex2rgba()`, `getTransformMatrix()`, `computedRgbToHex()`, `computedRgbToRgba()`, `computedRgbToArray()`, `hexColorToArray()`, `hexColorToRgbA()`
+ [x] i18n: added `tr-TR` turkish locale.
+ [x] Third party plugins: removed support for `select2`, `datatables`
+ [x] AppBar: added event `onBeforeMenuOpen`, `onBeforeMenuClose`, fixed firing events `onMenuOpen`, `onMenuClose`.
+ [x] Timepicker: added attributes `data-cls-button`, `data-cls-ok-button`, `data-cls-cancel-button` to modify picker buttons style, issue #1659.
+ [x] Datepicker: added attributes `data-cls-button`, `data-cls-ok-button`, `data-cls-cancel-button` to modify picker buttons style, issue #1659.
+ [x] TreeView: fixed `ul` default position to initial, issue #1660
+ [x] Dropdown: added classes `.drop-down-left`, `.drop-down-right`, `.drop-up-left`, `.drop-up-right`.
+ [x] Position: split position into `position`, `position-ext`, `z-index`.
+ [x] Utilities: removed function `isColor(...)`, if need, use `Metro.colors.isColor()`.
+ [x] Utilities: removed function `embedObject(...)`, if need, use `$(...).wrap()`.
+ [x] Utilities: removed function `randomColor(...)`, if need, use `Metro.colors.random()`.
+ [x] Utilities: updated function `isVideoUrl(...)`, added `twitch`.
### 4.4.1
#### M4Q
+ [x] M4Q: updated to 1.0.9
+ [x] M4Q Core: added function `$.isLocalhost([hostname])`, **true** if host is localhost.
+ [x] M4Q Core: added property `$.localhost`, **true** if current location is localhost.
+ [x] M4Q Core: added property `$.touchable`, **true** if device detected as touchable.
+ [x] M4Q Manipulation: added methods `appendText(...any_text...)`, `prependText(...any_text...)`.
#### Metro 4
+ [x] Licensing: return MIT unified licensing model
+ [x] Tile: fixed double firing click event. Component internal event `onClick` renamed to `onTileClick` (attribute `data-on-click` => `data-on-tile-click`), issue #1636
+ [x] Export: added method `arrayToCSV(array, filename, options)`.
+ [x] Utils: removed function `isLocalhost`, if you need, use `$.localhost` or `$.isLocalhost([host])`.
+ [x] Utils: removed function `isArray`.
+ [x] Utils: removed function `isTouchDevice`. if you need, use `$.touchable`.
+ [x] Tag input: improve method `val()`. Now you can use for new value(s) `array` or `simple value`.
+ [x] Tag input: added method `append(val)`. For append tag(s) to existing value.
+ [x] Select: fixed using attribute `data-cls-option-group`, issue #1640
+ [x] Carousel: fixed usage attribute `data-width`, now this attribute applied to `max-width` css property, issue #1647
+ [x] ImageBox: added new component for issue #1647
+ [x] GradientBox: added new component for issue #1645
+ [x] ViewportCheck: added new component for check if element in viewport
+ [x] Shadows: added class `shadowed`, class defined in `shadow.less`, issue #1643
+ [x] Select: added attributes `data-show-group-name="true|false"` (default - **false**), `data-short-tag="true|false"` (default - **true**), issue #1642
### 4.4.0
#### M4Q
+ [x] M4Q: updated to 1.0.8
+ [x] M4Q Constructor: added short-tag for selecting by `data-role` with `$('@rolename')`
+ [x] M4Q Visibility: fixed method `hide` for detecting initial `display` value
+ [x] M4Q Init: improve init method
+ [x] M4Q: added property `$.device`, **true** for mobile a device.
#### Metro 4
+ [x] Components: switch to `Component._fireEvent(...)` method for firing component events `data-on-*`
+ [x] Calendar: added firing event `onMonthChange` when user clicks on outside day, issue #1589
+ [x] Window: added API methods `pos(top, left)`, `top(v)`, `left(v)`, `width(v)`, `height(v)`, issue #1590
+ [x] Metro.window: added methods `pos(top, left)`, `top(v)`, `left(v)`, `width(v)`, `height(v)`
+ [x] Switch: added `data-on`, `data-off` attributes to show switch text state
+ [x] Checkbox: added API method `toggle(state)`. The `state` must be `-1` (indeterminate), `0` (unchecked), `1` (checked) or `undefined` (toggle between checked and unchecked), issue #1586
+ [x] Switch: added API method `toggle(state)`. The `state` must be `0` (unchecked), `1` (checked) or `undefined` (toggle between checked and unchecked), issue #1586
+ [x] Double slider: fixed right-hand button moves when grabbing the left-hand hint, issue #1591
+ [x] Window: added property `attr` to custom button definition. This attribute must be a `object` with pairs `key: value` where `key` - attribute name, `value` - attribute value, issue #1592
+ [x] Input: added property `attr` to custom button definition
+ [x] Panel: added property `attr` to custom button definition
+ [x] Lightbox: new component to create a modal image gallery
+ [x] ImageGrid: new component to create a simple beautiful image grid
+ [x] Draggable: added attribute `data-boundary-restriction="true|false"`, issue #1595
+ [x] Tokenizer: new component to create tokenized text
+ [x] Carousel: fixed active slide `z-index`, issue #1605
+ [x] Dropdown: added attributes `data-drop-up=true|false` (default `false`), `data-check-drop-up=true|false` (default: `false`), issue #1604
+ [x] Select: added attributes `data-drop-up=true|false` (default `false`), `data-check-drop-up=true|false` (default: `true`), issue #1604
+ [x] Table: fixed using template, issue #1606
+ [x] Select: fixed clear button work, issue #1610
+ [x] Input: remove metro style from input without role `input`. To added metro style to input without role `input`, use class `metro-input`.
+ [x] Textarea: remove metro style from input without role `input`. To added metro style to input without role `input`, use class `metro-input`.
+ [x] Utils Css: remove classes `.neb`, `.neb2`, `.h-center`, `.v-center`
+ [x] Input: added event `onAutocompleteSelect`. You can define this event with an attribute `data-on-autocomplete-select`. The event receives a one argument - selected value. issue #1615.
+ [x] Validator: fixed validating radio buttons with a name as indexed array, issue #1620
+ [x] Textarea: added attribute `data-max-height=0..n`, now you can set max height for textarea component.
+ [x] Components: now, you can use components without common styles from `metro-common.css`, `metro-reset.css`, issue #1609
+ [x] Window: disable a window maximized/minimized action when attribute `data-btn-max=false` and user use double-click on then window caption, issue #1625
+ [x] Input: added style prop `min-width=0`, issue #1626
+ [x] Component: fixed method `_runtime()` for updating attribute `data-role`.
+ [x] Input: added attribute `data-label`. If this attribute defined, `label` element for input will be created automatically.
+ [x] Calendar picker: added attribute `data-label`. If this attribute defined, `label` element for input will be created automatically.
+ [x] Time picker: added attribute `data-label`. If this attribute defined, `label` element for input will be created automatically.
+ [x] Date picker: added attribute `data-label`. If this attribute defined, `label` element for input will be created automatically.
+ [x] Input mask: added new component. Currently, only for desktop browsers.
+ [x] Icons: new icons `external`, `new-tab`
+ [x] Countdown: fixed draw function, issue #1632
+ [x] Color: added `ColorPrimitive` with color primitive objects
+ [x] Color: fixed color type constructor for creating colors from string
+ [x] Color: added method `mix(...)`: `ColorType.mix(color)` and `Colors.mix(color1, color2)`. This method allows you to mix colors.
+ [x] Color: added methods `channel(channelName, val)`, `channels(obj)`. This method change specified color channel. Color must be a required format.
+ [x] Date picker: added methods `enable()`, `disable())`, `toggleState()`, added observing for prop `disabled`, issue #1633
+ [x] Time picker: added methods `enable()`, `disable())`, `toggleState()`, added observing for prop `disabled`, issue #1633
### 4.3.10
+ [x] Input: added API method `setAutocompleteList(array|string)`, issue #1576
+ [x] Scrollbars: added styles with classes `.scrollbar-type-1`, `.scrollbar-type-2`, `.scrollbar-type-3`, `.scrollbar-type-4`
+ [x] NavView: fixed pane close on mobile devices when inputs, inside a pane, receive a focus, issue #1580
+ [x] NavView: added displaying caption for `navview-menu` for compacted mode on the left of icon when user hovering item
+ [x] Grid: fixed offset-*-0 are missing in the grid system, issue #1583
+ [x] Grid: added gaps with classes `gap-*`, where `*` is one of `0, 8, 16, 24, 32, 40` in pixels
+ [x] NavView: fixed scrolling menu in compact mode, issue #1579
+ [x] NavView: added API method `toggleMode()` to toggle between expanded and compacted modes, issue #1538
+ [x] Select: for API method `data(newOptions, selected, delimiter)` added second argument. Must be a `string` or `array`, if `selected` is a `string`, you can use `delimiter` argument to split string into array, issue #1497
### 4.3.9
+ [x] Component: `_fireEvent` push `__this` to arguments. `__this` contains HTMLElement
+ [x] Utils: fixed function `github()` for executing callback
+ [x] Counter: fixed for starting when page scrolls
+ [x] Counter: added attributes `data-from`, `data-prefix`, `data-suffix`. Prefixed and suffixed must be a plain text.
+ [x] Observer: added firing event `attrchange` when component attribute was ben changed. `e.detail` contains an object `{attr, newValue, oldValue, __this}`.
+ [x] General: added firing event `hotkeybonded` when hotkey for component was ben bonded. `e.detail` contains an object `{__this, hotkey, fn}`.
+ [x] General: all components fired event `create` when init. The `e.detail` contains an object `{name, __this}`.
+ [x] General: the document fired event `component-create` when a component was ben initialized. The `e.detail` contains an object `{element, name}`.
+ [x] Window: fixed `makeRuntime` calling, issue #1574
+ [x] Window: fixed make window `resizable`
+ [x] Typography: added `italic` and `underline` text classes, issue #1577
### 4.3.8
#### M4Q
+ [x] Animation: fixed using String.includes for IE11. Changed to `String.indexOf`
+ [x] Animation: added operator `/` to `_getRelativeValue()`
+ [x] Events: fixed `fire`. Now main is constructor `CustonEvent`, for old - `createEvent`
+ [x] Manipulation: added method `wrap`, `wrapAll`, `wrapInner`. The method puts elements inside the wrapper and return `wrapper(s)`
+ [x] Init: change `throw Error` to `console.warn` when selector is `#` or `.`
+ [x] setImmediate: added support for `process` and `web workers`
#### Metro 4
+ [x] General: new module system. All components now defined as alone IIFE modules.
+ [x] Validator: fixed functions `compare`, `equals`, `notequals` to work not inside a form, issue #1542
+ [x] Rtl: remove `form-rtl`, `accordion-rtl` less files. RTL Styles moved to component style.
+ [x] Locales: added `pt-BR` Brazilian Portuguese language
+ [x] Toast: added method `Metro.createToast()`. This eq to `Metro.toast.create()`
+ [x] Components: event `on[Component]Create` now have context a `HTMLElement` and receive `$(HTMLElement)` as argument
+ [x] Keypad: fixed Keypad backspace button click behavior on `keypad`, created at `runtime`, issue #1547
+ [x] Utils: improve function `isType`
+ [x] Utils: remove functions `camelCase()`, `dashedName()`. Use `String.camelCase` or `$.camelCase()` and `String.dashedName())` or `$.dashedName()`.
+ [x] Clock: added events `onTick`, `onSecond`
+ [x] String: added extensions `includes()`, `camelCase()`, `dashedName()`, `shuffle()`
+ [x] Array: added extensions `includes()`
+ [x] ListView: fixed event `onNodeDblclick`, issue #1453
+ [x] Ribbon menu: fixed hovering when button disabled, issue #1551
+ [x] Components: new constructor function
+ [x] Colors: full refactoring, now its full equals to `ColorJS`
+ [x] ColorType: new custom type for `color` variable. Var can be defined as `var c = new Color(...)` or `var c = new Metro.Color(...)`
+ [x] Material Tabs: update to work in all browsers
+ [x] Animation: redesign module
+ [x] Animation: added effects `zoom`, `swirl`
+ [x] Tiles: remove prefixed `animate-*` for values for attribute `data-effect`
+ [x] Core: removed meta attribute `metro4:init:mode`. Now Metro is **ALWAYS** initialized after the content has been loaded.
+ [x] IE: removed file `ie.less`. Styles moved to components styles.
+ [x] ListView: added method `selectByAttribute(attrName, attrValue, true|false)` for select/deselect items, issue #1554
+ [x] Template: new component. This component allows you to use javascript templates inside HTML elements.
+ [x] Table: fixed using wrapper for `skip`, issue #1557
+ [x] Calendar picker: fixed using attribute `clsPrepend`, issue #1558
+ [x] Toast: added new arguments format `Metro.createToast(message, options)`. Where `options` is a `plain object`.
+ [x] Draggable: added attribute `dragContext`, you can set it for access to any object with drag events, issue #1565
+ [x] Window: added second argument `context` for events `onDragStart`, `onDragStop`, `onDragMove`, issue #1565
+ [x] Calendar picker: fixed work in `dialog-mode`
+ [x] Tabs: fixed work attribute `clsTabsListItemActive`, issue #1568
+ [x] Locales: added danish locale `da-DK`, issue #1570
### 4.3.7
#### M4Q
+ [x] Animation: a new engine for animation. The `animate` function changed. Now function receives one argument. Also, you can use old syntax :)
+ [x] Init: fixed minor bug for creating elements in context
+ [x] Ajax: added parameter `contentType`. If this param has value `false`, `Content-type` can't be defined.
+ [x] Contains: added checks with `:visible` to method `is`. Example: `$(...).is(':visible')`
+ [x] Utils: added methods `$.random(array | a, b)`, `$.getUnit(a)`, `$.strip(where, what)`, `$.hasProp(obj, prop)`, `$.dashedName(val)`
+ [x] Classes: added method `$(...).removeClassBy(mask)`
#### Metro 4
+ [x] Source: reposition source code
+ [x] Builder: new builder config, and new builder version `2020.1`. New version not compatibility with 4.3.6
+ [x] Input: fixed append size and padding, issue #1512
+ [x] Ripple: added ripple call for any element, issue #1515
+ [x] Splitter: added event `onResizeWindow`. Setup this event with prop `data-on-resize-window` or event `$(...).on('resizewindow', ...)`, issue #1516
+ [x] Table: added `skip to page` functionality, issue #1511
+ [x] Table: added attributes `data-show-skip`, `data-table-skip-title`, `data-skip-wrapper`, `data-cls-table-skip`, `data-cls-table-skip-input`, `data-cls-table-skip-button`
+ [x] Table: added event `data-on-skip`
+ [x] Common css: optimize `lists`, `reset`
+ [x] UtilsJS: improve `isFloat` function, issue #1518
+ [x] Icons: added `whatsapp` icon, issue #1510
+ [x] AudioButton: added new component for the button with role `audio-button`
+ [x] Select: fixed `prepend`, `append` for `input-small`, `input-large`. With `multiple`, `append` and `prepend` will not displayed.
+ [x] Input: fixed `prepend`, `append` for `input-small`, `input-large`. Issue #1522
+ [x] Counter: fixed start if element already in viewport
+ [x] CSS: added `metro-reset.css`, `metro-common.css`, `metro-components.css` as standalone.
+ [x] Image magnifier: fixed glass image when user resize original image
+ [x] Notifies: minor improve notify create method
+ [x] Donut: update for using new `animate` function to draw `stroke-dasharray`
+ [x] Counter: update for using new `animate` function to draw
+ [x] File: fixed clear when user fire `reset` on form in `drop` mode, issue #1524
+ [x] Adblock: a new component for hunting on the ads blockers
+ [x] Core: refactoring for new component definition
+ [x] Audio: rename component to `audio-player`
+ [x] Video: rename component to `video-player`
+ [x] Calendar: minor updated for action buttons
+ [x] i18n: refactoring definition. Now each lang defined in own file
+ [x] Third party: third party components styles `select2`, `datatables` move to components and include to main
+ [x] Container: remove prop `display: block`
+ [x] Select: added using empty value for `option`, issue #1527
+ [x] Action button: fixed sub actions position
+ [x] Additional colors: refactoring
+ [x] Utils: remove method `random`, to get random value from an array or two values, use `$.random(array | a, b)` from `m4q`
+ [x] Utils: remove method `uniqueID`, to get unique GUID, use `$.uniqueID(prefix)` from `m4q`
+ [x] Utils: remove method `formData`, to get form data as array, use `$.serializeToArray(form)` from `m4q` and `$.serialize(form)` to get stringify value with `&` divider
+ [x] Utils: remove method `strToArray`, to transform string to array, use String.prototype method `String.prototype.toArray(delimiter, type, format)`
+ [x] Utils: remove method `callback`, execute function or code, use method `Utils.exec(fn, args, context)`
+ [x] Sidebar: added attribute `data-menu-scrollbar="true|false"`. Attribute enable or disable scrollbar in the sidebar menu, issue #1528
+ [x] Tag: new component. Used in `tag-input`, `select`, can be used as standalone.
+ [x] Ribbon menu: fixed sizes and positions for `ribbon-icon-button`, `ribbon-tool-button`
+ [x] Menus: removed `text-decoration` for anchors (`a`) inside any types of menus
+ [x] Cookie: new class for cookie manipulation `Metro.cookie`. Contains methods: `setCookie()`, `getCookie()`, `delCookie()`
+ [x] Cookie disclaimer: new component for accept cookies for GDPR, and not only, issue #1530
+ [x] Metro icon font: added 65 new icons `cross-light`, `document-file-*` (64)
+ [x] Select: improved performance for creating options, issue #1534
+ [x] Select: remove dependency from `d-menu`
+ [x] Navview: added scrollable to `navview-menu` in `compacted` mode
### 4.3.6
##### M4Q
+ [x] M4Q: updated to `1.0.6`
+ [x] M4Q Init: fixed minor bug for creating elements in context
+ [x] M4Q Ajax: added parameter `contentType`. If this param has value `false`, `Content-type` can't be defined.
##### Metro 4
+ [x] ColorJS: fixed functions `RGB`, `RGBA`
+ [x] Select: added focus state, issue #1488
+ [x] Checkbox: added focus state
+ [x] Radio: added focus state
+ [x] Select: added attribute `data-cls-drop-container`
+ [x] Dropdown: added `important` to `.drop-left`, `.drop-right`, `.drop-up` classes
+ [x] Table: added support `formatMask` for fields defined in table head `thead`
+ [x] ResetCSS: remove duplicate declarations
+ [x] Toast: added global setup. Related to issue #1493
+ [x] Streamer: now you can set event time up to a minute
+ [x] Streamer: now you can use for event size `half` and `one-third` constants
+ [x] Streamer: added events `onDrawEvent`, `onDrawGlobalEvent`, `onDrawStream`
+ [x] TreeView: fixed attribute `data-show-child-count`
+ [x] CalendarPicker: added attribute `data-value` to set init input value, issue #1506
+ [x] Streamer: `data-wheel` now true by default
+ [x] Streamer: added attribute `data-wheel-step` to define scroll step for horizontal scrolling with mouse
+ [x] Streamer: fixed horizontal scrolling with mouse.
### 4.3.5
##### M4Q
+ [x] M4Q: updated to `1.0.5`
+ [x] M4Q Events: fixed firing events, Metro 4 issue #1476
+ [x] M4Q Events: optimize method `trigger`, now this is a synonym of `fire`
##### Metro 4
+ [x] Tag input: change `trigger` defining
+ [x] Tag input: added `clear button` with attributes `clearButton`, `clsClearButton`, `clearButtonIcon`
+ [x] Tag input: added attributes `clsComponent`, `clsInput`
+ [x] Tag input: added event `onClear`
+ [x] List: added attribute `data-sort-initial` to sorts on create component, issue #1475
+ [x] Tag input: added attribute `data-static` and static mode for `data-static='true'` or if present attribute `readonly`
+ [x] Tag input: added method `toggleStatic([true|false])`
+ [x] Select: fixed clearing `select-input`, issue #1477
+ [x] Calendar picker: fixed closing calendar when user click on overlay, issue #1478
+ [x] Select: fixed styles for `input-large`, `input-small` classes
+ [x] Tag input: change `keyup` to `keydown` for tag trigger event
+ [x] Tag input: added event `onTagTrigger`
+ [x] Tag input: added removing last tag on current value is empty end user press `Backspace`, you can disable it with attribute `data-backspace='false'`
+ [x] Draggable: added attribute `data-timeout` for set timeout before creating component
+ [x] Components: creating components can be deferred with attribute `data-[componentName]-deferred=[ms]`. Example: `<div data-role='draggable' data-draggable-deferred='2000'>...</div>`
+ [x] Counter: added attribute `data-start-on-viewport`. If attribute value is `true`, counter started after element showed in viewport. You can combine this with `data-timeout`
+ [x] Select: fixed bug with `data-filter='false'`
+ [x] File: fixed method `clear` for mode `dropzone`
+ [x] Select: added mode `button`
### 4.3.4
##### M4Q
+ [x] M4Q: updated to `1.0.4`
+ [x] M4Q Manipulation: optimise `append`, `prepend` to one definition for IE
+ [x] M4Q Script: added `$.script`, `$.fn.script` to execute scripts from element or create script object
+ [x] M4Q Manipulation: `$.fn.append`, `$.fn.prepend` now support script tag processing
+ [x] M4Q Clone: now support cloning `data` if second argument `withData`is `true` - `$(el).clone(true, true)`
+ [x] M4Q Events: now you can define event name with `hyphen` or in `camelCase` notation. Example: `mouse-down`, `accordionCreate`
+ [x] M4Q Ajax: fixed handler for sending data
+ [x] M4Q Ajax: fixed `$.json` if returned value can't be parsed
+ [x] M4Q Ajax: fixed `post` for `object`
+ [x] $: added $.serializeToArray(form), $serialize(form)
+ [x] M4Q Events: fixed `removeEventListener`
##### Metro 4
+ [x] Animations: put animations to separate less/css file `metro-animations`
+ [x] Object animations: added `.flip-card`
+ [x] Object animations: added `.post-card`
+ [x] Inputs: change placeholder `font-size` to `14px`, added `text-ellipsis`
+ [x] Utils CSS: added class `.stop-pointer`
+ [x] Role naming: you can now use a hyphen to separate words in verbose component names for the data-role attribute. Example: `data-role='button-group''` and `data-role='buttongroup''` are equivalent.
+ [x] Drag Items: added new component, issue #1336
+ [x] Table: fixed `viewPath` for getting `view` from server
+ [x] Table: fixed colspan for message `emptyTableTitle`
+ [x] Checkbox: added using attribute `readonly`
+ [x] Switch: added using attribute `readonly`
+ [x] Table: fixed `viewPath` for saving `view` on server
+ [x] Animation CSS: relocation
+ [x] AppBar: fixed `app-bar-menu` behavior when user resize a window
+ [x] Slider: fixed hint for IE11
+ [x] Window: fixed interop m4q and jquery for `Metro.window.create()`
+ [x] Splitter: fixed for IE11
+ [x] AppBar: added events `onMenuOpen`, `onMenuClose`, `onMenuExpand`, `onMenuCollapse`
### 4.3.3
+ [x] m4q: updated to 1.0.3
+ [x] Toast: fixed calculating toast position
+ [x] Progress: fixed global setup function name
+ [x] Progress: percent value. To show set attribute `data-show-value="true"`, `data-value-position="free|center"`
+ [x] Progress: added label. Use attributes `data-show-label="true|false"`, `data-label-position="before|after"`, `data-label-template="Value is %VAL%"`
+ [x] InfoBox: fixed interop with Metro 4 and jQuery
+ [x] Table: added method `clear()`, issue #1426
+ [x] Table: fixed cell data wrapping with attribute `data-cell-wrapper="true"`
+ [x] File: fixed Input file inconsistent display when user cancel the choose dialog, issue #1443
+ [x] Slider: fixed using accuracy with decimal value, issue #1447
+ [x] Calendar Picker: added attribute `data-show-week-number`
+ [x] Gravatar: fixed global setup method name
+ [x] Activity: fixed method `open` for undefined options
+ [x] Activity: fixed interop with Metro 4 and jQuery
+ [x] Dialog: fixed interop with Metro 4 and jQuery for dialog create method
+ [x] AppBar: set `max-height` for `app-bar-menu` opened with `hamburger` to visible viewport
+ [x] Buttons: refactoring - split to separate components from one file
+ [x] Calendar Picker: fixed dialog mode, issue #1450
+ [x] Common CSS: added class `-disabled`
+ [x] General: Now `Metro4` init after content was loaded. If you need to switch to old init method, use `metro4:init:mode` with value `immediate`
+ [x] Double Slider: added new component, issue #1441
+ [x] InfoButton: fixed position and `display` change from `inline-flex` to `inline-block`, issue #1451
+ [x] M4Q Events: improve method `on`
+ [x] Select: fixed for ie11, issue #1452
+ [x] ListView: added callback for `onNodeDblClick` event, issue #1453
+ [x] Table: added show activity when data loaded
+ [x] Table: you can set data with JS object and attribute `data-source`. Value for attribute must be a object name.
### 4.3.2
+ [x] Slider: fixed vertical slider marker position when slider is not visible, thx to [thinkcpu](https://github.com/thinkcpu), PR #1417
+ [x] Slider: improve events
+ [x] HotKey: extended anchor work with `data-hotkey` and attr `href`, issue #1420
+ [x] M4Q Events: fixed `function.name` property for IE11, issue #1425
+ [x] Table: added methods `addItem([...], redraw)`, `addItems([...], redraw)`, issue #1426
+ [x] Select: attribute `data-cls-drop-list` now override default class `d-menu` if defined
+ [x] Lists: if list has class attribute, it resets with `margin: 0; padding: 0; list-style: none inside;`
+ [x] Select: if option not has value, used option text for value
+ [x] Table: added event `onDataSaveError`
+ [x] Table: fixed save view to server
+ [x] M4Q Ajax: fixed creating additional headers for request, issue #1427
+ [x] Init: added meta tag `metro4:init:mode`. The value must be `immediate` or `contentloaded`, default - `immediate`. If value is `contentloaded` and meta tag `metro4:init` not equal `false`, Metro 4 will be initiate after the content was loaded.
+ [x] Table: now you can define `decimalSeparator` and `thousandSeparator` in table head and global
+ [x] Table: added attributes `data-head` (object name, define table header), `data-body` (object name, define table data)
+ [x] Table: added attribute `data-static`. If `true`, search, pagination, info, rows count will be disabled and will not showing.
+ [x] Splitter: added method `size(str)` for change panel sizes at runtime, added observing for attribute `data-split-sizes` for change panel sizes at runtime
+ [x] Carousel: improve slide switching
+ [x] TreeView: added trigger `change` for checkboxes
+ [x] Common: fixed `h-auto-*`
### 4.3.1
+ [x] Interop: fixed interop with Metro4 and jQuery, issue #1408
+ [x] m4q: updated to 1.0.1
+ [x] m4q: fixed initialization when `metro4` added into `head`
+ [x] Init: fixed issue #1409
+ [x] Dropdown: fixed interop between Metro4 and jQuery, issue #1411
+ [x] Select: fixed interop between Metro4 and jQuery, issue #1412
+ [x] Panel: fixed interop between Metro4 and jQuery
+ [x] Windows: fixed interop between Metro4 and jQuery
+ [x] VideoPlayer: fixed interop between Metro4 and jQuery
+ [x] AudioPlayer: fixed interop between Metro4 and jQuery
+ [x] Hotkey: fixed interop between Metro4 and jQuery
+ [x] TimePicker: fixed interop between Metro4 and jQuery
+ [x] SideBar: fixed interop between Metro4 and jQuery
+ [x] Charms: fixed interop between Metro4 and jQuery
+ [x] Select: fixed close when user click document and jQuery used
+ [x] CalendarPicker: fixed interop between Metro4 and jQuery, fixed close when `next[Year, Month]` clicked
+ [x] Select: added works with disabled option. You can added attr `disabled` to option to create disabled option, issue #1413
+ [x] Window: fixed toggle draggable, resizeable
+ [x] Tile: fixed tile width in then `tiles-grid` when tile placed in specific column
+ [x] Metro: fixed observing attributes
### 4.3.0
+ [x] jQuery: Goodbye!!!
+ [x] M4Q: now built in for DOM manipulation and animation
+ [x] Keypad: rename property `data-length` to `data-key-length`
+ [x] Slider: fixed show/hide hint
+ [x] Typo: fixed `margin-top` for lists inside a lists, ex: `ul > ul`
+ [x] Animation: fixed `fadeIn`, `fadeOut`
+ [x] NavView: rename attribute `data-expanded` to `data-expand`
+ [x] Examples: updated `start screen`
+ [x] Calendar picker: fixed using locale for initial value, issue #1376
+ [x] Typo: set line-height for paragraph to 1.5
+ [x] Table: fire event onDataLoaded before table build
+ [x] Dialog: fixed hide method
+ [x] File: added method "clear"
+ [x] Source: structure refactoring
+ [x] Typography: added background to `remark` with `accent` color
+ [x] Tests: begin tests with `cypress`
+ [x] Draggable: minor improve for `mouseMove`
+ [x] Chat: added attribute `data-readonly` and method `toggleReadonly`
+ [x] Schemes: fixed colors for table `tfoot`
+ [x] Add `checkRuntime` to components
+ [x] Table: added attributes `data-empty-table-title`, `data-cls-empty-table-title` for issue #1403
+ [x] Table: fixed padding for sortable columns
+ [x] Add `destroy` method to components. This method remove all event handlers and return core element
+ [x] Select: added props `data-add-empty-value` (default: false), `data-empty-value` (default: empty string)
+ [x] Select: added prop `data-placeholder`
+ [x] Select: added prop `data-clear-button` (default: false)
+ [x] Grid: optimise styles
+ [x] Hint: fixed remove on leave element
+ [x] TreeView: added attribute `data-show-child-count`
### 4.2.49
+ [x] Select: extended to interop with role=dropdown
+ [x] Docs: updated docs for cards, added `icon-box`, `more-info-box`, `skill-box`, `social-box`
+ [x] Sidebar: fixed setup global function name
+ [x] Textarea: fixed issue #1400
+ [x] MaterialTabs: fixed issue #1402
+ [x] MaterialTabs: added method `open(tab_num)` for issue #1399
+ [x] Select: fixed input autofocus when dropdown
+ [x] Textarea: fixed resize when component was created
+ [x] File: fixed firing `change` event on Safari
### 4.2.48
+ [x] Select: fixed error when using with pair to Select from Metro 4 for React
+ [x] Carousel: moved style props for slide background image from js to css
+ [x] Input: added attribute `data-exclaim` for defining exclamation symbol
+ [x] Input: fixed no display clear button when input is readOnly
+ [x] Textarea: fixed no display clear button when input is readOnly
### 4.2.47
+ [x] Input: fixed triggering `change` event, added trigger event `clear` when clear button is pressed
+ [x] Accordion: fixed glitch for frames who must be closed, but initiated as open
### 4.2.46
+ [x] Table: fixed format value for sorting when value is empty, null or undefined
+ [x] Dropdown: fixed set open on init
+ [x] DatePicker: added observation for attribute `data-locale`
+ [x] DatePicker: added observation for attribute `data-format`
+ [x] Utils: updated func `isLocalhost`
+ [x] Windows: fixed make runtime
+ [x] Dialog: fixed make runtime
+ [x] InfoBox: fixed make runtime
+ [x] Validator: fixed validating for `integer` and `float` rules, issue #1388
+ [x] Builder: fixed builder `config`
+ [x] Embed objects: set default width and height to `100%`
### 4.2.45
+ [x] Calendar picker: fixed initial value for i18n
+ [x] Typography: set `line-height: 1.5` for `p`
+ [x] Examples: fixed desktop demo
+ [x] Examples: fixed start screen demo
+ [x] Notify system: fixed minor bug for creating notify after setup
### 4.2.44
+ [x] Calendar: fixed methods `setMaxDate`, `setMinDate`, issue #1374
+ [x] Datepicker: fixed offset for timezones, issue #1372
+ [x] Datepicker: fixed `val()` method
### 4.2.43
+ [x] Inputs: added class `.input-small` for using with `input`, `select`, `spinner`, `tag-input`, `keypad`, `file` , issue #1245
+ [x] Events: updated docs for subscribing events with `$.on` and `addEventListener()`
+ [x] Panel: new method `customButtons()` for added custom buttons at runtime
+ [x] Table: added `margin-top: 1rem` for class `.table`
+ [x] Lists: added `margin-top: 1rem` for `ul`, `ol`, `dl`
+ [x] Hotkey: full refactoring
+ [x] Datepicker: added attribute `data-input-format`
+ [x] Datepicker: fixed hours timezone offset
+ [x] Datepicker: now you can use attribute `value` to setup component date
+ [x] Pickers: change default scroll speed factor to `4`
+ [x] Window: fixed methods `setContent`, `setTitle`, `setIcon`, `changePlace`
+ [x] Utils: rename method `isJQueryObject` to `isJQuery`
+ [x] Utils: added methods `isM4Q`, `isQ`. Method `isQ` return one of `isJQuery` or `isM4Q`
+ [x] Streamer: fixed scrolling with `apple magic mouse` and `firefox`
+ [x] Streamer: fixed scroll position for `events-area` when source changed
+ [x] TreeView: fixed confused calls `expandNode` and `collapseNode` events
+ [x] Dialog: added attribute `data-actions` for predefined dialog
+ [x] DatePicker: fixed scroll event handler
+ [x] TimePicker: fixed scroll event handler
+ [x] Tabs material: added event `data-on-tabs-scroll`
+ [x] ScrollEvents: plugin for `scrollStart`, `scrollStop` events was removed
+ [x] Mousewheel: plugin was removed
### 4.2.42
+ [x] General: improved components initialization
+ [x] Hotkeys: now you can added or change `hotkey` at runtime
+ [x] Select: fixed cyclic error when `Uncaught ReferenceError: function is not defined` for `onchange` event
+ [x] Card: added class `flex-card` to create card in flex model
+ [x] ListView: fixed works methods with jQuery object and\or HTMLElement
+ [x] Streamer: added event `data-on-events-scroll`
+ [x] Streamer: fixed method `source`
+ [x] Streamer: rename method `data` to `dataSet`
+ [x] TreeView: fixed methods for added nodes, issue #1150
### 4.2.41
+ [x] List: added event `data-on-data-load-error`
+ [x] List: added item template with property `template`
+ [x] Table: added item template with property `template` and value wrapper `this.cellValue`
+ [x] Pagination: added function `Metro.pagination`
+ [x] Templates: now you can change `begin` and `end` template symbols with third argument `{beginToken, endToken}`
+ [x] Html container: added attributes `data-method`, `data-request-data`
+ [x] Html container: change name of events to `data-on-html-load`, `data-on-html-load-fail`, `data-on-html-load-done`
+ [x] Typography: change `line-height` for `p`, `.text-leader`, `.text-leader2` to `1.2`
+ [x] Charm: added event `data-on-toggle`.
+ [x] Chat: fixed error for time manipulation, issue #1355
+ [x] Master: added events `data-on-next-page`, `data-on-prev-page`
+ [x] Events extensions: Now you can subscribe to all table events with `$.on()` or `addEventListener()`
+ [x] Wizard: added events `data-on-next-page`, `data-on-prev-page`, `data-on-first-page`, `data-on-last-page`, `data-on-finish-page`
+ [x] Global setup: added using global object `metro{ComponentName}Setup` to set up all components on the page with own global options set.
+ [x] Resizable: fixed toggle `canResize` property
+ [x] Calendar picker: fixed width for calendar wide
+ [x] Slider: change events to `startAll`, `moveAll`, `stopAll`
+ [x] Streamer: added events `data-on-data-load`, `data-on-data-loaded`, `data-on-data-load-error`
+ [x] Streamer: fixed methods `changeSource`, `changeData`
+ [x] Streamer: added property `row` for event
+ [x] Streamer: added property `html` for event with custom html
### 4.2.40
+ [x] Chat: new component
+ [x] Boxes: added new boxes `skill-box`, `social-box`, `more-info-box`
+ [x] NavView: added behavior for show submenu on left from main menu for compacted mode
+ [x] Cards: added default background color `white`
+ [x] Cards: fixed flex model for image header
+ [x] Colors: change `op-*` alpha value from `0.7` to `0.1`
+ [x] Dropdown: if element has class `open`, it will be open after initialization
+ [x] Show metro4 about in console: added meta parameter `metro4:about`. Thanks to [Ken Kitay](https://github.com/kens-code)
+ [x] Metro4 Events: added constants `Metro.events.startAll`, `Metro.events.stopAll`, `Metro.events.moveAll`. Constants contains both mouse and touch.
+ [x] Clock: updated component, PR #1341, Thanks to [Ken Kitay](https://github.com/kens-code)
+ [x] Sidenav simple: optimize css
+ [x] Sidenav counter: optimize css
+ [x] File: call trigger `change` when user drop files into drop area
+ [x] Form: Add default styling for `input[type=submit]`, `input[type=reset]`, `input[type=button]`.
+ [x] Rating: added half value for static with attribute `data-half="true"`
+ [x] Headlines: added `margin-top` to `display*`, `h1-h5` and `.h1-.h5`
+ [x] Panel: added `text-ellipsis` to `caption`
+ [x] Table: added methods: `updateItem(key, field, value)`, `getIndex()`, `rebuildIndex()`, `getItem(key)`
+ [x] Table: store item data in row. Now you can use `tr.data('original')` to get table row original data
+ [x] Table: store cell data in cell. Now you can use `td.data('original')` to get cell original data
+ [x] Table: fixed incorrect work service radio buttons
+ [x] Select: remove `margin-bottom`
+ [x] Blockquote: rename class `place-right` to `right-side` for right side quote
+ [x] Lists: fixed list style position for ordered list
+ [x] Dropdown: added service class `stay-open`. When an element has this class, an element can't be closed when the user clicks on the document.
+ [x] Collapse: change default animation duration to `100ms`
+ [x] Tiles: set cover default position to `center center`
+ [x] Tiles: added attribute for image slide `data-cover-position`
+ [x] Timepicker: set default value for `data-scroll-speed` to `1`
+ [x] Datepicker: set default value for `data-scroll-speed` to `1`
+ [x] Countdown: change behavior when browser tab lost focus or invisible
+ [x] Countdown: fixed zoom effect
+ [x] Countdown: fixed minor bug when first tick (not critical)
+ [x] Dialog: change padding for dialog title to `12px 24px`
+ [x] Dialog: added predefined accent classes `primary`, `alert`, `info`, `warning`, ...
+ [x] InfoBox: added predefined accent classes `primary`, `alert`, `info`, `warning`, ...
+ [x] Elements colors: optimize less for using `each` function
+ [x] Additional colors: optimize less for using `each` function
+ [x] Element: added class `.accent-block` for using with accent colors classes `primary`, `alert`, `info`, `warning`, ...
+ [x] Dialog: added close button to top left corner with attribute `data-close-button`
+ [x] Video: fixed show/hide controls when mouse enter leave
+ [x] Video: fixed show controls in full screen mode with attribute `data-full-screen-mode="desktop"`
+ [x] Draggable: fixed minor bug for draggable windows
+ [x] Sidenav M3: fixed item height with text overflow
+ [x] Sidenav M3: remove floating for `d-menu`
+ [x] Dropdown: added attribute `data-drop-filter`. Filtering elements on closing.
+ [x] Select: Opening a select now closes only other selects.
+ [x] Accordion: added drop marker. Marker can disabled with attribute `data-show-marker="false"`
+ [x] Accordion: fixed frames open on accordion init
### 4.2.39
+ [x] NavView: minor improve styling
+ [x] NavView: added method `pullClick()` for emulate pull button click at runtime
+ [x] NavView: added class `.focusableItems` to added focus state for items
+ [x] NavView: added attribute `data-active-state="true|false"` to added active state for menu items
+ [x] NavView: added `.badges` container for menu item for collect menu item badges
+ [x] NavView: added `.data-box` container for navigation view pane
+ [x] IconBox: new css component
+ [x] Panel: fixed draggable
+ [x] Panel: added custom buttons to panel title
+ [x] Table: fixed assign classes from attribute `data-cls-head-cell`
+ [x] Breadcrumbs: added `.breadcrumb-item` class
+ [x] Draggable: fixed recreate element content when drag started
+ [x] Table: fixed implements custom class to custom wrappers (search, pagination, ...), issue #1335
+ [x] Select: fixed error for validating required func for select with `multiple` option, issue #1338
+ [x] Select: for validating added functions `length`, `minlength`, `maxlength` for select with `multiple` option
### 4.2.38
+ [x] ListView: added class `.vertical-layout` for `icons-*` view mo