changelog.md in titon-toolkit-2.0.2 vs changelog.md in titon-toolkit-2.1.0

- old
+ new

@@ -1,200 +1,83 @@ # Changelog # Older versions can be found in the documentation changelogs. -## 2.0.2 ## -* Updates and fixes for documentation. +## 2.1.0 ## -## 2.0.1 ## -* Removed the grid placeholders `%row` and `%col` as they would be included in the CSS output multiple times (use the mixins instead) -* Removed `grid` as a dependency for the `form` component - -## 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. - -* Dropped MooTools support -* Dropped IE8 support -* Upgraded to jQuery 2 -* Upgraded to Gulp from Grunt -* Upgraded to libsass over Ruby Sass -* 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 -* Added new `horizontalresize` and `verticalresize` events -* 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 +* Added the Flex component which supports flexbox based grids and layouts +* Added right-to-left (RTL) support for all CSS and JS components +* Added Travis CI integration for automatic build and testing +* Added a Sass module exporting system +* Improved BEM support on all JS components +* Updated all JS templates to support functions for lazy-loaded rendering * 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 + * Added `$text-direction` variable + * Added `export()`, `ltr()`, and `rtl()` mixins + * Added `gutter()` and `span-width()` functions + * Renamed `$vendor-prefix` to `$namespace` + * Renamed `remove-selector-char()` to `remove-selector()` * 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 - * Added a debugging layer and a new `debug` option - * 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 - * Updated the `ajax` option to only be used for setting jQuery AJAX options - * 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` + * Toolkit + * Added `isRTL` flag for detecting RTL support + * Added `bemSeparators` property for customizing BEM separators + * Added `bem()` function for generating BEM CSS class names + * Added `buildTemplate()` function for converting strings into usable templates + * Added `wrapperTemplate` option + * Renamed `create()` function to `createPlugin()` + * Renamed `vendor` property to `namespace` + * Base + * Removed the `runtime` property * 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 for toggling swipe events - * 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 + * Component + * Split the `Component` class into 3 classes with different roles: + `Component` for embedded elements, `TemplateComponent` for templates rendered into elements, + and `CompositeComponent` which is a collection of rendered elements + * Moved `elements` and `nodes` properties to `CompositeComponent` + * Moved `createElement()` method to `TemplateComponent` + * Added `render()` for converting templates into elements + * Removed the `created` property * Drop - * All drop menus will now require a `data-drop-menu` attribute + * Updated to extend the `CompositeComponent` + * Added the menu and node as arguments to the `hiding` and `showing` events + * Removed the `hideOpened` option (will happen automatically now) + * Flex + * Added `flex-span()` function + * Added `flex-region()`, `flex-region-align()`, `flex-region-orientation()`, `flex-region-wrap()`, `flex-block()`, `flex-block-align()`, `flex-block-order()`, `flex-block-grow()`, and `flex-block-shrink()` mixins + * Added 17 `$flex-*` variables * 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 + * Updated to extend the `CompositeComponent` + * Added a `wrapperClass` option + * Renamed the `current` property to `url` + * Renamed the `menus` property to `elements` + * Renamed the `.push-left` class to `.push-opposite` + * Refactored `_buildMenu()` to handle the composite functionality + * Removed the `isVisible()`, `_getMenu()`, and `_getTarget()` methods * 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 + * Renamed `grid-gutter()` to `gutter()` + * LazyLoad + * Renamed the `elements` property to `items` * Modal - * Added a `clickout` option for toggling clickout events - * IDs can now be passed as the 2nd argument to `show()` - * Removed the `ajax` option (handled by `loadContent()`) - * 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 + * Updated to extend the `TemplateComponent` * 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]` + * Added a `wrapperClass` option + * Removed the `elementHead` and `elementBody` properties * 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 + * Moved the `.fluid` class to the base CSS * Showcase - * Added a `swipe` option for toggling swipe events - * Added a `clickout` option for toggling clickout events - * 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` + * Updated to extend the `TemplateComponent` + * Fixed a bug where captions would disappear + * Fixed a bug where the blackout loader would not disappear * Toast - * Added a `toastTemplate` property - * Added a `reset()` method to reset the tooltip state + * Updated to extend the `CompositeComponent` + * Added a `wrapperClass` option + * Renamed `template` to `wrapperTemplate` + * Renamed `toastTemplate` to `template` * Tooltip - * Removed the `ajax` option (handled by `loadContent()`) - * 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 + * Updated to extend the `CompositeComponent` + * Added a `wrapperClass` option + * Updated to toggle `is-active` classes on the activating node + * Added the title as a second argument to the `load` event + * Removed the `elementHead` and `elementBody` properties + * Removed the `reset()` method and runtime options + * TypeAhead + * Updated to extend the `TemplateComponent`