changelog.md in titon-toolkit-1.5.3 vs changelog.md in titon-toolkit-2.0.0.pre.rc.1

- old
+ new

@@ -1,66 +1,185 @@ # Changelog # Older versions can be found in the documentation changelogs. -## 1.5.3 ## -* Updated the competitor comparison -* Carousel - * Fixed an issue where direct descendants were not being used and `ul li`s were conflicting with nested lists +## 2.0.0 ## +This major release includes a rewritten class, event, hooks, and component layer. +It improves overall tooling, drops out dated technologies, introduces new concepts, and more. +Check out the release update for more information. -## 1.5.2 ## -* Matrix - * Added defer rendering support to items either appended or prepended -* Modal - * Fixed a bug where DOM IDs passed to `show()` as an argument did not work - * Removed `pointer-events` from the CSS as it caused weirdness on touch devices - * Refactored events to handle click to close - -## 1.5.1 ## -* Matrix - * Added a `colHeights` property to track the height of each column - * Fixed a bug where the height style was not removed when columns are reduced to 1 - * Refactored so that items are placed in the smallest height column first, instead of the next column - -## 1.5.0 ## -This minor release includes a new responsive option, a major overhaul of the Carousel component, -and a complete refactor of the demo system. It also marks the final minor release before the 2.0 major version. - -* MooTools support is slowly being phased out and JavaScript changes have not been ported -* Added `$.fn.transitionend()` which will set a `transitionend` event if transitions have been defined on the element, - else it will execute the callback immediately -* Added a global `responsive` component option that allows for different options to be set depending on breakpoints -* Updated `$.fn.positionTo()` to re-position accordingly when a mouse event is being used as the offset -* Button Group - * Fixed a bug with incorrect button widths when the `vertical` modifier is used -* Carousel - * Added a `container` property which is the parent element for `items` - * Added a `animating` property that represents whether the items are currently animating - * Added a `calculate()` method that resizes the carousel based on the window size and defined options - * Added a `infinite` option which allows for infinite cycling in either direction - * Added a `loop` option which rewinds the cycle pointer to the beginning or end when the opposite edge is reached - (only applicable when `infinite` is disabled) - * Added a `reverse` option to reverse the automatic cycle direction - * Added a `itemsToShow` option which is used for displaying a specific number of items at once - * Added a `itemsToCycle` option which is used as the number of items to move when a cycle occurs - * Added a `defaultIndex` option which displays that item on initial page load - * Added `.no-next` and `.no-prev` classes to the component to hide navigation buttons - * Added `.carousel-stop` and `.carousel-start` as elements to delegate events to - * Removed `.carousel-caption` styles -* Form - * Added `.fields` which can be coupled with list elements to mimic `.field` -* Lazy Load - * Fixed a bug where offsets were incorrect when the parent with overflow was not the direct parent -* Matrix - * Fixed a bug where multiple spanning items break when the span is larger than the column count - * Updated image pre-loading to use deferred promises - * Removed `imagesLoaded` property - * Removed `onLoad` method -* Pin - * Fixed a bug where `yOffset` was not being applied for `fixed` pins -* Popover - * Fixed a bug when no options were passed to the constructor -* Showcase - * Updated item cycling to use deferred promises - * Added a `animating` property that represents whether the items are currently animating - * Fixed a bug where gutter was not being applied correctly - * Fixed a bug where the incorrect item was being opened when a grouping is used +* Dropped MooTools support +* Dropped IE8 support +* Upgraded to jQuery 2 +* Upgraded to Gulp from Grunt +* Upgraded to Sass 3.4 and Compass 1.0 +* Upgraded to RequireJS for JS dependency management and compilation +* Added a robust namespacing system which allows components to be nested within each other +* Added unit tests for all components through Mocha, Chai, and PhantomJS +* Decoupled the CSS and JS layers so that CSS classes (excluding states) are no longer hardcoded +* Refactored components to make more use of templates for DOM building +* Renamed most instances of the word "component" to "plugin" to differentiate between components and behaviors, + with plugins being a top-level grouping of everything +* Renamed `--components` to `--plugins` in the Gulp command line +* Removed themes +* Sass + * Added `$enable-small-size` and `$enable-large-size` to toggle size classes in CSS output + * Added `$enable-all-effects`, `$enable-all-modifiers`, and `$enable-all-animations` for easier styling + * Added `$breakpoint-range-xsmall`, `$breakpoint-range-small`, `$breakpoint-range-medium`, `$breakpoint-range-large`, + and `$breakpoint-range-xlarge` for responsive range breakpoints + * Added `$bem-element-separator` and `$bem-modifier-separator` to control the BEM class conventions + * Added `class-name()` and `bem()` for building CSS class names + * Added `full-screen()` mixin for full screen fixed positioning + * Added `in-range($range)` mixin that will accept a range of breakpoints and output the correct min/max width media query + * Added `in-xsmall()`, `in-xlarge()`, `if-xsmall()`, and `if-xlarge()` responsive mixins + * Fixed a bug in `join-classes()` when a class name doesn't start with a period + * Moved `.span-*` classes from the Grid component into the shared base file + * Updated all component CSS class names to use Sass variables for more configuration control + * Updated all modifiers to not use `@extend` to reduce CSS output (requires full class declarations now) + * Updated all modifiers to be toggleable through Sass variables + * Updated `:before` and `:after` pseudo elements to use double colon `::` syntax + * Updated `$size-*` and `$shape-*` variables to be prefixed by default with a `.` + * Refactored effects into their respective components that can be toggled through Sass variables + * Refactored the visual effects into modifiers for the Button component + * Removed `is-active()`, `is-disabled()`, and `is-*()` state mixins + * Removed `in-mobile()`, `in-tablet()`, `in-desktop()`, `if-mobile()`, `if-tablet()`, and `if-desktop()` responsive mixins + * Removed `.arrow-*` classes + * Removed `$breakpoint-*` variables and replaced with with range list variables +* JavaScript + * Added a `Base` class layer that both `Component` and `Behavior` extend + * Added a new hook layer to `Base` that replaces the instance event layer + * Added `$.fn.toString()` which returns the elements markup as a string + * Improved the prototype inheritance layer by initializing a new class instead of extending objects + * Refactored the class layer so that constructors are passed as a property instead of an argument + * Refactored so that class properties are passed through an object instead of set through the constructor + * Removed `$.cookie()` and `$.removeCookie()` methods (use a third-party instead) + * Renamed `$.fn.addData()` to `$.fn.cache()` + * Updated `$.fn.conceal()` to set the element to display none when the transitions is complete + * Updated `$.fn.reveal()` to set the element to display block (or similar) before transitions occur + * Component + * Added `hiding`, `showing`, and `destroying` events + * Added option groups + * Added `namespace` property + * Added `ns()` method for generating namespace selectors + * Refactored the `requestData()` method + * Added `url`, `cache` (whether to cache in the class), and `settings` (AJAX settings) to the XHR object used by jQuery + * Removed the `before`, `done`, and `fail` arguments + * Moved the callbacks into `onRequestBefore`, `onRequestDone`, and `onRequestFail` methods + * Renamed the `hide` event to `hidden` + * Renamed the `show` event to `shown` + * Renamed the `destroy` event to `destroyed` + * Renamed the `component` property to `name` + * Renamed the `doDestroy` method to `destructor` +* Components + * Accordion + * The active class is now applied to the header instead of the parent `li` + * Added `calculate()` method for determining section heights + * Removed the `jump` event + * Renamed selectors `.accordion-header`, `.accordion-section` to `[data-accordion-header]`, `[data-accordion-section]` + * Blackout + * Added `loaderTemplate` and `showLoading` options for generating loader markup + * Removed `hideLoader` and `showLoader` events + * Removed `loader` and `waveCount` options in favor of `loaderTemplate` + * Renamed `Toolkit.Blackout.factory()` to `Toolkit.Blackout.instance()` + * Carousel + * Added a `calculate()` method that triggers on load/resize to determine carousel dimensions + * Added a `swipe` option + * Added `cycling`, `cycled`, `jumping` and `jumped` events + * Removed `cycle` and `jump` events + * Renamed selectors `.carousel-items ul`, `.carousel-tabs`, `.carousel-next`, `.carousel-prev`, `.carousel-start`, `.carousel-stop` to + `[data-carousel-items]`, `[data-carousel-tabs]`, `[data-carousel-next]`, `[data-carousel-prev]`, `[data-carousel-start]`, `[data-carousel-stop]` + * Removed `.carousel-prev`, `.carousel-next`, and `.carousel-tabs` styles + * Divider + * Improved the divider to support longer strings of text and multiline text + * Drop + * All drop menus will now require a `data-drop-menu` attribute + * Flyout + * Added `headingTemplate` option + * Renamed selectors `.flyout` to `[data-flyout-menu]` + * Form + * Improved disabled state across inputs + * Normalized `fieldset` and `legend` when used in an inline form + * Grid + * Added new `xsmall` and `xlarge` (disabled by default) column sizes + * Added `$grid-sizes` map for associating sizes to breakpoints and column counts + * Added `$grid-columns-xsmall` and `$grid-columns-xlarge` for new column counts + * Added `$grid-class-end` to change the `.end` class + * Changed `$grid-columns-small` from `6` to `12` + * Fixed a bug where `.push-*` and `.pull-*` classes were being generated if `$grid-push-pull` was disabled + * Removed the `mobile`, `tablet`, and `desktop` column sizes + * Removed `$grid-columns-mobile`, `$grid-columns-tablet`, and `$grid-columns-desktop` + * Icon + * Added a `$icon-sizes` list variable to control the CSS output + * Input + * Added a `filterClasses` option which can be used in conjunction with `copyClasses` + * Added `template`, `checkboxTemplate`, `radioTemplate`, `selectTemplate`, `optionsTemplate`, `headingTemplate`, and `descTemplate` + * Renamed `arrowContent` to `arrowTemplate` + * Renamed selectors `.select-options`, `.select-label`, `.select-arrow` to + `[data-select-options]`, `[data-select-label]`, `[data-select-arrow]` + * Lazy Load + * Added `loading` and `loaded` events + * Added a `lazyClass` option that defaults to `.lazy-load` + * Added a `timer` property + * Fixed a bug where `shutdown` event was being called twice + * Removed `load` event + * Mask + * Added `template` and `messageTemplate` options + * Renamed `.mask-target` to `.is-maskable` + * Renamed selectors `.mask`, `.mask-message` to `[data-mask]`, `[data-mask-message]` + * Matrix + * Added `appending`, `prepending`, `removing`, `rendering`, and `rendered` events + * Improved the deferred image rendering process and item fade in animation + * Removed `render` event + * Updated to no longer automatically set `.matrix` on the container + * Modal + * IDs can now be passed as the 2nd argument to `show()` + * Renamed selectors `.modal-inner`, `.modal-hide`, `.modal-submit` to + `[data-modal-content]`, `[data-modal-close]`, `[data-modal-submit]` + * Off Canvas + * Added a `swipe` option + * Renamed selectors `.on-canvas`, `.off-canvas` to `[data-offcanvas-content]`, `[data-offcanvas-sidebar]` + * Updated so that `[data-offcanvas-sidebar]` defines the default side orientation + * Updated to no longer automatically set `.off-canvas` on the sidebar + * Pagination + * Updated to only support `ol` lists + * Pin + * Updated to have position absolute by default for `.pin` + * Updated to no longer automatically set `.pin` on the element + * Popover + * Updated so that an `.is-active` class is toggled on the target node + * Updated the `follow` attribute to `false` always + * Removed the `delay` option + * Renamed selectors `.popover-head`, `.popover-body` to `[data-popover-header]`, `[data-popover-content]` + * Responsive + * Added `.show-xsmall`, `.show-xlarge`, `.hide-xsmall`, and `.hide-xlarge` classes + * Removed `.show-mobile`, `.show-tablet`, `.show-desktop`, `.hide-mobile`, `.hide-tablet`, and `.hide-desktop` classes + * Removed `$responsive-size` variable + * Showcase + * Added a `swipe` option + * Added `jumping` and `jumped` events + * Removed `jump` event + * Removed `.showcase-prev`, `.showcase-next`, and `.showcase-tabs` styles + * Renamed selectors `.showcase-items`, `.showcase-tabs`, `.showcase-next`, `.showcase-prev`, `.showcase-hide`, `.showcase-caption` to + `[data-showcase-items]`, `[data-showcase-tabs]`, `[data-showcase-next]`, `[data-showcase-prev]`, `[data-showcase-close]`, `[data-showcase-caption]` + * Stalker + * Added `activating`, `activated`, `deactivating`, and `deactivated` events + * Removed the `applyToParent` option + * Removed `activate` and `deactivate` events + * Updated to no longer automatically set `.stalker`, `.stalker-target`, and `.stalker-marker` + * Switch + * The `.pill` and `.round` classes have moved to `.switch-bar` from `.switch` + * Tabs + * Has been renamed to `Tab` and all files and references have been changed + * Option `preventDefault` now applies to both cookie and fragment persistence + * Option `ajax` has changed to `false` by default + * Fixed a bug trying to determine the index to show on load + * Renamed selectors `.tab-nav`, `.tab-section` to `[data-tab-nav]`, `[data-tab-section]` + * Updated the `is-active` state to be set on the tab, instead of the parent `li` + * Toast + * Added a `toastTemplate` property + * Added a `reset()` method to reset the tooltip state + * Tooltip + * Removed the `delay` option + * Renamed selectors `.tooltip-head`, `.tooltip-body` to `[data-tooltip-header]`, `[data-tooltip-content]` + * Type Ahead + * Added `shadowTemplate`, `titleTemplate`, `descTemplate`, `highlightTemplate`, and `headingTemplate` options + * The `matcher` function now accepts the item object as the 1st argument