Further updates to selection visuals from design. win-selectionstylefilled + tapBehavior=toggleSelect + selectionMode=multi will now enable the 'selection mode' visuals in all layouts (previously it was only applied to vertical list).
Fixed a race condition in Hub tests that caused tests to fail on slow
machines. Fixes #611.
https://github.com/winjs/winjs/issues/761
     Closes #761

     The fix is to give AppBar inner elements "background-color: inherit"
Fixing typo in logging code. Thanks Adcom for the tip.
Fixes minor error in selector for ListView selection visuals
Fix #637

This changes the behavior of WinJS.UI.Pages.render() so that the promise returned is the final promise chain constructed by the Page control.

Previously there was an issue of the render complete promise forking to call parentedPromise and Page.render(), so any issues during loading would propagate down that path as well and result in unhandled errors ending up in Application.onerror (triggering App termination) unless the developer added a custom Page.error() handler for each Page since the default error handler will blindly rethrow the error.

This means that functions chaining off Pages.render() will now get fired after ready has been called. It also means that in the navigation template specifying an invalid page to navigate to will no longer result in an app crash since all errors are handled by the cleanup() function.
Revert "Fix #637"

This reverts commit bf2db60f8cae9749a5f4b439098c392f9abb0297.

Passing a parented promise to Pages.render() regressed. Backing this out for now.
Renamed DirectionalFocus src files to XYFocus.
Renamed DirectionalFocus to XYFocus in src and tests.
NavBar: Apply accent color to split button

Fixes #767
Fix #637

A second take on a fix for #637. The previous fix broke the scenario where you pass a parented promise to WinJS.UI.Pages.render().

This fix is less intrusive, but requires some work on the part of the developer to handle errors properly. This time the error value of Pages.render() has been modified to be an object that contains a reference to the Page itself. This way you can hook Page.readyComplete yourself and handle the error later:

WinJS.UI.Pages.render(location, element, state)
    .then(function (page) {
        console.log("Pages.render complete");
        return page.readyComplete;
    }, function (errObj) {
        console.log("Pages.render error");
        return errObj.page.readyComplete;
    })
    .then(null, function () {
        console.log("Page error handled");
    });
Change hub to no longer use flex box and use `display: inline-block` instead. Closes #636.
Remove base.js and ui.js from the build.
Add a private global variable to track version

This variable is useful for sites which measure usage of various JS
libraries. WinJS did not have a globally exposed variable, so sites could
not reliably track different versions of WinJS. This change
leverages the existing string replace grunt task and exposes
WinJS.Utilities._version.
Merge pull request #790 from seanzer/telemetry1

Add a private global property to track version
Closes #508

We now throw a custom exception as opposed to the trident Unspecified error when we detect that the anchor element of a shown flyout is not an element in the DOM.
In addition we have lengthened the window in which developers can hide the flyout to prevent the crash. Previously it was possible to get caught up in a perfect storm when you try to navigate while A flyout is showing and the virtual keyboard was up, such that the only way to avoid a crash after navigating was to preempt the virtual keyboard and hide the flyout before the keyboard starts hiding.

Now it is sufficient to prevent the crash by hiding the flyout after navigating, anytime before the virtual keyboard finishes hiding as opposed to before it starts hiding.
1) Fixing lint bug.
2) Updating error string in unit test
Update ContentDialog API

API changes:
- WinJS.UI.ContentDialog.DismissalReason to DismissalResult
- For beforehide and afterhide, eventObject.detail.reason to result
- For show promise, hideInfo.reason to hideInfo.result

Also moved the ContentDialog type definition from dev.ts to the winjs d.ts
file.
Update SplitView API

API changes include:
- Removed togglePane method.
- Added hiddenDisplayMode property. Values:
  - none: When hidden, the pane is invisible.
  - inline: When hidden, the pane takes up space causing the SplitView's
    content to shift.

Now that there's an explicit mode for making the hidden pane invisible
(rather than an implicit mode by styling the hidden pane's width/height to
0), we can provide a default height/width for the hidden pane. Styling
changes:
  - Placement=top/bottom
    - Hidden height: 0px to 24px (matches minimal AppBar)
    - Shown height: 320px to 60px (matches shown AppBar with labels)
  - Placement=left/right
    - Hidden width: 0px to 48px
    - Shown height: 320px (no change)
SplitView: Avoid unnecessary measurement

When hiddenDisplayMode=none, we know that the hidden pane's thickness is 0
so we don't need to measure it.