http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/shelljs/package.json ---------------------------------------------------------------------- diff --git a/node_modules/shelljs/package.json b/node_modules/shelljs/package.json index 32f685a..0e7b832 100644 --- a/node_modules/shelljs/package.json +++ b/node_modules/shelljs/package.json @@ -1,9 +1,9 @@ { "name": "shelljs", - "version": "0.3.0", + "version": "0.5.3", "author": { "name": "Artur Adib", - "email": "[email protected]" + "email": "[email protected]" }, "description": "Portable Unix shell commands for Node.js", "keywords": [ @@ -35,13 +35,30 @@ "engines": { "node": ">=0.8.0" }, - "readme": "# ShellJS - Unix shell commands for Node.js [](http://travis-ci.org/arturadib/shelljs)\n\nShellJS is a portable **(Windows/Linux/OS X)** implementation of Unix shell commands on top of the Node.js API. You can use it to eliminate your shell script's dependency on Unix while still keeping its familiar and powerful commands. You can also install it globally so you can run it from outside Node projects - say goodbye to those gnarly Bash scripts!\n\nThe project is [unit-tested](http://travis-ci.org/arturadib/shelljs) and battled-tested in projects like:\n\n+ [PDF.js](http://github.com/mozilla/pdf.js) - Firefox's next-gen PDF reader\n+ [Firebug](http://getfirebug.com/) - Firefox's infamous debugger\n+ [JSHint](http://jshint.com) - Most popular JavaScript linter\n+ [Zepto](http://zeptojs.com) - jQuery-compatible JavaScript library for modern browsers\n+ [Yeoman](http://yeoman.io/) - Web application stack and d evelopment tool\n+ [Deployd.com](http://deployd.com) - Open source PaaS for quick API backend generation\n\nand [many more](https://npmjs.org/browse/depended/shelljs).\n\n## Installing\n\nVia npm:\n\n```bash\n$ npm install [-g] shelljs\n```\n\nIf the global option `-g` is specified, the binary `shjs` will be installed. This makes it possible to\nrun ShellJS scripts much like any shell script from the command line, i.e. without requiring a `node_modules` folder:\n\n```bash\n$ shjs my_script\n```\n\nYou can also just copy `shell.js` into your project's directory, and `require()` accordingly.\n\n\n## Examples\n\n### JavaScript\n\n```javascript\nrequire('shelljs/global');\n\nif (!which('git')) {\n echo('Sorry, this script requires git');\n exit(1);\n}\n\n// Copy files to release dir\nmkdir('-p', 'out/Release');\ncp('-R', 'stuff/*', 'out/Release');\n\n// Replace macros in each .js file\ncd('lib');\nls('*.js').forEach(function(file) {\n sed('-i', 'BUILD_VERSION', 'v0.1.2', file);\n se d('-i', /.*REMOVE_THIS_LINE.*\\n/, '', file);\n sed('-i', /.*REPLACE_LINE_WITH_MACRO.*\\n/, cat('macro.js'), file);\n});\ncd('..');\n\n// Run external tool synchronously\nif (exec('git commit -am \"Auto-commit\"').code !== 0) {\n echo('Error: Git commit failed');\n exit(1);\n}\n```\n\n### CoffeeScript\n\n```coffeescript\nrequire 'shelljs/global'\n\nif not which 'git'\n echo 'Sorry, this script requires git'\n exit 1\n\n# Copy files to release dir\nmkdir '-p', 'out/Release'\ncp '-R', 'stuff/*', 'out/Release'\n\n# Replace macros in each .js file\ncd 'lib'\nfor file in ls '*.js'\n sed '-i', 'BUILD_VERSION', 'v0.1.2', file\n sed '-i', /.*REMOVE_THIS_LINE.*\\n/, '', file\n sed '-i', /.*REPLACE_LINE_WITH_MACRO.*\\n/, cat 'macro.js', file\ncd '..'\n\n# Run external tool synchronously\nif (exec 'git commit -am \"Auto-commit\"').code != 0\n echo 'Error: Git commit failed'\n exit 1\n```\n\n## Global vs. Local\n\nThe example above uses the convenience script `shelljs/global` to reduc e verbosity. If polluting your global namespace is not desirable, simply require `shelljs`.\n\nExample:\n\n```javascript\nvar shell = require('shelljs');\nshell.echo('hello world');\n```\n\n## Make tool\n\nA convenience script `shelljs/make` is also provided to mimic the behavior of a Unix Makefile. In this case all shell objects are global, and command line arguments will cause the script to execute only the corresponding function in the global `target` object. To avoid redundant calls, target functions are executed only once per script.\n\nExample (CoffeeScript):\n\n```coffeescript\nrequire 'shelljs/make'\n\ntarget.all = ->\n target.bundle()\n target.docs()\n\ntarget.bundle = ->\n cd __dirname\n mkdir 'build'\n cd 'lib'\n (cat '*.js').to '../build/output.js'\n\ntarget.docs = ->\n cd __dirname\n mkdir 'docs'\n cd 'lib'\n for file in ls '*.js'\n text = grep '//@', file # extract special comments\n text.replace '//@', '' # remove comment tags\n text.to 'do cs/my_docs.md'\n```\n\nTo run the target `all`, call the above script without arguments: `$ node make`. To run the target `docs`: `$ node make docs`, and so on.\n\n\n\n<!-- \n\n DO NOT MODIFY BEYOND THIS POINT - IT'S AUTOMATICALLY GENERATED\n\n-->\n\n\n## Command reference\n\n\nAll commands run synchronously, unless otherwise stated.\n\n\n### cd('dir')\nChanges to directory `dir` for the duration of the script\n\n\n### pwd()\nReturns the current directory.\n\n\n### ls([options ,] path [,path ...])\n### ls([options ,] path_array)\nAvailable options:\n\n+ `-R`: recursive\n+ `-A`: all files (include files beginning with `.`, except for `.` and `..`)\n\nExamples:\n\n```javascript\nls('projs/*.js');\nls('-R', '/users/me', '/tmp');\nls('-R', ['/users/me', '/tmp']); // same as above\n```\n\nReturns array of files in the given path, or in current directory if no path provided.\n\n\n### find(path [,path ...])\n### find(path_array)\nExamples:\n\n```javascript\nfind('src', 'lib');\nfind(['src ', 'lib']); // same as above\nfind('.').filter(function(file) { return file.match(/\\.js$/); });\n```\n\nReturns array of all files (however deep) in the given paths.\n\nThe main difference from `ls('-R', path)` is that the resulting file names\ninclude the base directories, e.g. `lib/resources/file1` instead of just `file1`.\n\n\n### cp([options ,] source [,source ...], dest)\n### cp([options ,] source_array, dest)\nAvailable options:\n\n+ `-f`: force\n+ `-r, -R`: recursive\n\nExamples:\n\n```javascript\ncp('file1', 'dir1');\ncp('-Rf', '/tmp/*', '/usr/local/*', '/home/tmp');\ncp('-Rf', ['/tmp/*', '/usr/local/*'], '/home/tmp'); // same as above\n```\n\nCopies files. The wildcard `*` is accepted.\n\n\n### rm([options ,] file [, file ...])\n### rm([options ,] file_array)\nAvailable options:\n\n+ `-f`: force\n+ `-r, -R`: recursive\n\nExamples:\n\n```javascript\nrm('-rf', '/tmp/*');\nrm('some_file.txt', 'another_file.txt');\nrm(['some_file.txt', 'another_file.txt']); // same as above\n` ``\n\nRemoves files. The wildcard `*` is accepted.\n\n\n### mv(source [, source ...], dest')\n### mv(source_array, dest')\nAvailable options:\n\n+ `f`: force\n\nExamples:\n\n```javascript\nmv('-f', 'file', 'dir/');\nmv('file1', 'file2', 'dir/');\nmv(['file1', 'file2'], 'dir/'); // same as above\n```\n\nMoves files. The wildcard `*` is accepted.\n\n\n### mkdir([options ,] dir [, dir ...])\n### mkdir([options ,] dir_array)\nAvailable options:\n\n+ `p`: full path (will create intermediate dirs if necessary)\n\nExamples:\n\n```javascript\nmkdir('-p', '/tmp/a/b/c/d', '/tmp/e/f/g');\nmkdir('-p', ['/tmp/a/b/c/d', '/tmp/e/f/g']); // same as above\n```\n\nCreates directories.\n\n\n### test(expression)\nAvailable expression primaries:\n\n+ `'-b', 'path'`: true if path is a block device\n+ `'-c', 'path'`: true if path is a character device\n+ `'-d', 'path'`: true if path is a directory\n+ `'-e', 'path'`: true if path exists\n+ `'-f', 'path'`: true if path is a regular file\n+ `'-L', 'path'`: t rue if path is a symboilc link\n+ `'-p', 'path'`: true if path is a pipe (FIFO)\n+ `'-S', 'path'`: true if path is a socket\n\nExamples:\n\n```javascript\nif (test('-d', path)) { /* do something with dir */ };\nif (!test('-f', path)) continue; // skip if it's a regular file\n```\n\nEvaluates expression using the available primaries and returns corresponding value.\n\n\n### cat(file [, file ...])\n### cat(file_array)\n\nExamples:\n\n```javascript\nvar str = cat('file*.txt');\nvar str = cat('file1', 'file2');\nvar str = cat(['file1', 'file2']); // same as above\n```\n\nReturns a string containing the given file, or a concatenated string\ncontaining the files if more than one file is given (a new line character is\nintroduced between each file). Wildcard `*` accepted.\n\n\n### 'string'.to(file)\n\nExamples:\n\n```javascript\ncat('input.txt').to('output.txt');\n```\n\nAnalogous to the redirection operator `>` in Unix, but works with JavaScript strings (such as\nthose returned by `cat`, `grep`, etc). _Like Unix redirections, `to()` will overwrite any existing file!_\n\n\n### 'string'.toEnd(file)\n\nExamples:\n\n```javascript\ncat('input.txt').toEnd('output.txt');\n```\n\nAnalogous to the redirect-and-append operator `>>` in Unix, but works with JavaScript strings (such as\nthose returned by `cat`, `grep`, etc).\n\n\n### sed([options ,] search_regex, replacement, file)\nAvailable options:\n\n+ `-i`: Replace contents of 'file' in-place. _Note that no backups will be created!_\n\nExamples:\n\n```javascript\nsed('-i', 'PROGRAM_VERSION', 'v0.1.3', 'source.js');\nsed(/.*DELETE_THIS_LINE.*\\n/, '', 'source.js');\n```\n\nReads an input string from `file` and performs a JavaScript `replace()` on the input\nusing the given search regex and replacement string or function. Returns the new string after replacement.\n\n\n### grep([options ,] regex_filter, file [, file ...])\n### grep([options ,] regex_filter, file_array)\nAvailable options:\n\n+ `-v`: Inverse the sense of the re gex and print the lines not matching the criteria.\n\nExamples:\n\n```javascript\ngrep('-v', 'GLOBAL_VARIABLE', '*.js');\ngrep('GLOBAL_VARIABLE', '*.js');\n```\n\nReads input string from given files and returns a string containing all lines of the\nfile that match the given `regex_filter`. Wildcard `*` accepted.\n\n\n### which(command)\n\nExamples:\n\n```javascript\nvar nodeExec = which('node');\n```\n\nSearches for `command` in the system's PATH. On Windows looks for `.exe`, `.cmd`, and `.bat` extensions.\nReturns string containing the absolute path to the command.\n\n\n### echo(string [,string ...])\n\nExamples:\n\n```javascript\necho('hello world');\nvar str = echo('hello world');\n```\n\nPrints string to stdout, and returns string with additional utility methods\nlike `.to()`.\n\n\n### pushd([options,] [dir | '-N' | '+N'])\n\nAvailable options:\n\n+ `-n`: Suppresses the normal change of directory when adding directories to the stack, so that only the stack is manipulated.\n\nArg uments:\n\n+ `dir`: Makes the current working directory be the top of the stack, and then executes the equivalent of `cd dir`.\n+ `+N`: Brings the Nth directory (counting from the left of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n+ `-N`: Brings the Nth directory (counting from the right of the list printed by dirs, starting with zero) to the top of the list by rotating the stack.\n\nExamples:\n\n```javascript\n// process.cwd() === '/usr'\npushd('/etc'); // Returns /etc /usr\npushd('+1'); // Returns /usr /etc\n```\n\nSave the current directory on the top of the directory stack and then cd to `dir`. With no arguments, pushd exchanges the top two directories. Returns an array of paths in the stack.\n\n### popd([options,] ['-N' | '+N'])\n\nAvailable options:\n\n+ `-n`: Suppresses the normal change of directory when removing directories from the stack, so that only the stack is manipulated.\n\nArguments:\n\n+ `+N`: Removes the Nth dire ctory (counting from the left of the list printed by dirs), starting with zero.\n+ `-N`: Removes the Nth directory (counting from the right of the list printed by dirs), starting with zero.\n\nExamples:\n\n```javascript\necho(process.cwd()); // '/usr'\npushd('/etc'); // '/etc /usr'\necho(process.cwd()); // '/etc'\npopd(); // '/usr'\necho(process.cwd()); // '/usr'\n```\n\nWhen no arguments are given, popd removes the top directory from the stack and performs a cd to the new top directory. The elements are numbered from 0 starting at the first directory listed with dirs; i.e., popd is equivalent to popd +0. Returns an array of paths in the stack.\n\n### dirs([options | '+N' | '-N'])\n\nAvailable options:\n\n+ `-c`: Clears the directory stack by deleting all of the elements.\n\nArguments:\n\n+ `+N`: Displays the Nth directory (counting from the left of the list printed by dirs when invoked without options), starting with zero.\n+ `-N`: Displays the Nth directory (cou nting from the right of the list printed by dirs when invoked without options), starting with zero.\n\nDisplay the list of currently remembered directories. Returns an array of paths in the stack, or a single path if +N or -N was specified.\n\nSee also: pushd, popd\n\n\n### ln(options, source, dest)\n### ln(source, dest)\nAvailable options:\n\n+ `s`: symlink\n+ `f`: force\n\nExamples:\n\n```javascript\nln('file', 'newlink');\nln('-sf', 'file', 'existing');\n```\n\nLinks source to dest. Use -f to force the link, should dest already exist.\n\n\n### exit(code)\nExits the current process with the given exit code.\n\n### env['VAR_NAME']\nObject containing environment variables (both getter and setter). Shortcut to process.env.\n\n### exec(command [, options] [, callback])\nAvailable options (all `false` by default):\n\n+ `async`: Asynchronous execution. Defaults to true if a callback is provided.\n+ `silent`: Do not echo program output to console.\n\nExamples:\n\n```javascript\nvar versi on = exec('node --version', {silent:true}).output;\n\nvar child = exec('some_long_running_process', {async:true});\nchild.stdout.on('data', function(data) {\n /* ... do something with data ... */\n});\n\nexec('some_long_running_process', function(code, output) {\n console.log('Exit code:', code);\n console.log('Program output:', output);\n});\n```\n\nExecutes the given `command` _synchronously_, unless otherwise specified.\nWhen in synchronous mode returns the object `{ code:..., output:... }`, containing the program's\n`output` (stdout + stderr) and its exit `code`. Otherwise returns the child process object, and\nthe `callback` gets the arguments `(code, output)`.\n\n**Note:** For long-lived processes, it's best to run `exec()` asynchronously as\nthe current synchronous implementation uses a lot of CPU. This should be getting\nfixed soon.\n\n\n### chmod(octal_mode || octal_string, file)\n### chmod(symbolic_mode, file)\n\nAvailable options:\n\n+ `-v`: output a diagnostic for ev ery file processed\n+ `-c`: like verbose but report only when a change is made\n+ `-R`: change files and directories recursively\n\nExamples:\n\n```javascript\nchmod(755, '/Users/brandon');\nchmod('755', '/Users/brandon'); // same as above\nchmod('u+x', '/Users/brandon');\n```\n\nAlters the permissions of a file or directory by either specifying the\nabsolute permissions in octal form or expressing the changes in symbols.\nThis command tries to mimic the POSIX behavior as much as possible.\nNotable exceptions:\n\n+ In symbolic modes, 'a-r' and '-r' are identical. No consideration is\n given to the umask.\n+ There is no \"quiet\" option since default behavior is to run silent.\n\n\n## Non-Unix commands\n\n\n### tempdir()\n\nExamples:\n\n```javascript\nvar tmp = tempdir(); // \"/tmp\" for most *nix platforms\n```\n\nSearches and returns string containing a writeable, platform-dependent temporary directory.\nFollows Python's [tempfile algorithm](http://docs.python.org/library/tempfil e.html#tempfile.tempdir).\n\n\n### error()\nTests if error occurred in the last command. Returns `null` if no error occurred,\notherwise returns string explaining the error\n\n\n## Configuration\n\n\n### config.silent\nExample:\n\n```javascript\nvar silentState = config.silent; // save old silent state\nconfig.silent = true;\n/* ... */\nconfig.silent = silentState; // restore old silent state\n```\n\nSuppresses all command output if `true`, except for `echo()` calls.\nDefault is `false`.\n\n### config.fatal\nExample:\n\n```javascript\nconfig.fatal = true;\ncp('this_file_does_not_exist', '/dev/null'); // dies here\n/* more commands... */\n```\n\nIf `true` the script will die on errors. Default is `false`.\n", - "readmeFilename": "README.md", + "gitHead": "22d0975040b9b8234755dc6e692d6869436e8485", "bugs": { "url": "https://github.com/arturadib/shelljs/issues" }, - "_id": "[email protected]", - "_shasum": "3596e6307a781544f591f37da618360f31db57b1", - "_from": "shelljs@~0.3", - "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz" + "_id": "[email protected]", + "_shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113", + "_from": "shelljs@>=0.5.3 <0.6.0", + "_npmVersion": "2.5.1", + "_nodeVersion": "1.2.0", + "_npmUser": { + "name": "artur", + "email": "[email protected]" + }, + "maintainers": [ + { + "name": "artur", + "email": "[email protected]" + } + ], + "dist": { + "shasum": "c54982b996c76ef0c1e6b59fbdc5825f5b713113", + "tarball": "http://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz" + }, + "directories": {}, + "_resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "readme": "ERROR: No README data found!" }
http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/shelljs/shell.js ---------------------------------------------------------------------- diff --git a/node_modules/shelljs/shell.js b/node_modules/shelljs/shell.js index 54402c7..bdeb559 100644 --- a/node_modules/shelljs/shell.js +++ b/node_modules/shelljs/shell.js @@ -135,10 +135,11 @@ exports.config = common.config; //@ Example: //@ //@ ```javascript -//@ var silentState = config.silent; // save old silent state -//@ config.silent = true; +//@ var sh = require('shelljs'); +//@ var silentState = sh.config.silent; // save old silent state +//@ sh.config.silent = true; //@ /* ... */ -//@ config.silent = silentState; // restore old silent state +//@ sh.config.silent = silentState; // restore old silent state //@ ``` //@ //@ Suppresses all command output if `true`, except for `echo()` calls. @@ -149,6 +150,7 @@ exports.config = common.config; //@ Example: //@ //@ ```javascript +//@ require('shelljs/global'); //@ config.fatal = true; //@ cp('this_file_does_not_exist', '/dev/null'); // dies here //@ /* more commands... */ http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/shelljs/src/cp.js ---------------------------------------------------------------------- diff --git a/node_modules/shelljs/src/cp.js b/node_modules/shelljs/src/cp.js index 141d8e3..ef19f96 100644 --- a/node_modules/shelljs/src/cp.js +++ b/node_modules/shelljs/src/cp.js @@ -174,7 +174,10 @@ function _cp(options, sources, dest) { fs.mkdirSync(newDest, checkDir.mode); } catch (e) { //if the directory already exists, that's okay - if (e.code !== 'EEXIST') throw e; + if (e.code !== 'EEXIST') { + common.error('dest file no such file or directory: ' + newDest, true); + throw e; + } } cpdirSyncRecursive(src, newDest, {force: options.force}); http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/shelljs/src/exec.js ---------------------------------------------------------------------- diff --git a/node_modules/shelljs/src/exec.js b/node_modules/shelljs/src/exec.js index 7ccdbc0..d259a9f 100644 --- a/node_modules/shelljs/src/exec.js +++ b/node_modules/shelljs/src/exec.js @@ -40,32 +40,67 @@ function execSync(cmd, opts) { return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0"); } - cmd += ' > '+stdoutFile+' 2>&1'; // works on both win/unix - - var script = - "var child = require('child_process')," + - " fs = require('fs');" + - "child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: 20*1024*1024}, function(err) {" + - " fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');" + - "});"; - if (fs.existsSync(scriptFile)) common.unlinkSync(scriptFile); if (fs.existsSync(stdoutFile)) common.unlinkSync(stdoutFile); if (fs.existsSync(codeFile)) common.unlinkSync(codeFile); - fs.writeFileSync(scriptFile, script); - child.exec('"'+process.execPath+'" '+scriptFile, { + var execCommand = '"'+process.execPath+'" '+scriptFile; + var execOptions = { env: process.env, cwd: _pwd(), maxBuffer: 20*1024*1024 - }); + }; - // The wait loop - // sleepFile is used as a dummy I/O op to mitigate unnecessary CPU usage - // (tried many I/O sync ops, writeFileSync() seems to be only one that is effective in reducing - // CPU usage, though apparently not so much on Windows) - while (!fs.existsSync(codeFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } - while (!fs.existsSync(stdoutFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } + if (typeof child.execSync === 'function') { + var script = [ + "var child = require('child_process')", + " , fs = require('fs');", + "var childProcess = child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: 20*1024*1024}, function(err) {", + " fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');", + "});", + "var stdoutStream = fs.createWriteStream('"+escape(stdoutFile)+"');", + "childProcess.stdout.pipe(stdoutStream, {end: false});", + "childProcess.stderr.pipe(stdoutStream, {end: false});", + "childProcess.stdout.pipe(process.stdout);", + "childProcess.stderr.pipe(process.stderr);", + "var stdoutEnded = false, stderrEnded = false;", + "function tryClosing(){ if(stdoutEnded && stderrEnded){ stdoutStream.end(); } }", + "childProcess.stdout.on('end', function(){ stdoutEnded = true; tryClosing(); });", + "childProcess.stderr.on('end', function(){ stderrEnded = true; tryClosing(); });" + ].join('\n'); + + fs.writeFileSync(scriptFile, script); + + if (options.silent) { + execOptions.stdio = 'ignore'; + } else { + execOptions.stdio = [0, 1, 2]; + } + + // Welcome to the future + child.execSync(execCommand, execOptions); + } else { + cmd += ' > '+stdoutFile+' 2>&1'; // works on both win/unix + + var script = [ + "var child = require('child_process')", + " , fs = require('fs');", + "var childProcess = child.exec('"+escape(cmd)+"', {env: process.env, maxBuffer: 20*1024*1024}, function(err) {", + " fs.writeFileSync('"+escape(codeFile)+"', err ? err.code.toString() : '0');", + "});" + ].join('\n'); + + fs.writeFileSync(scriptFile, script); + + child.exec(execCommand, execOptions); + + // The wait loop + // sleepFile is used as a dummy I/O op to mitigate unnecessary CPU usage + // (tried many I/O sync ops, writeFileSync() seems to be only one that is effective in reducing + // CPU usage, though apparently not so much on Windows) + while (!fs.existsSync(codeFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } + while (!fs.existsSync(stdoutFile)) { updateStdout(); fs.writeFileSync(sleepFile, 'a'); } + } // At this point codeFile exists, but it's not necessarily flushed yet. // Keep reading it until it is. http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/shelljs/src/rm.js ---------------------------------------------------------------------- diff --git a/node_modules/shelljs/src/rm.js b/node_modules/shelljs/src/rm.js index 3abe6e1..bd608cb 100644 --- a/node_modules/shelljs/src/rm.js +++ b/node_modules/shelljs/src/rm.js @@ -48,7 +48,25 @@ function rmdirSyncRecursive(dir, force) { var result; try { - result = fs.rmdirSync(dir); + // Retry on windows, sometimes it takes a little time before all the files in the directory are gone + var start = Date.now(); + while (true) { + try { + result = fs.rmdirSync(dir); + if (fs.existsSync(dir)) throw { code: "EAGAIN" } + break; + } catch(er) { + // In addition to error codes, also check if the directory still exists and loop again if true + if (process.platform === "win32" && (er.code === "ENOTEMPTY" || er.code === "EBUSY" || er.code === "EPERM" || er.code === "EAGAIN")) { + if (Date.now() - start > 1000) throw er; + } else if (er.code === "ENOENT") { + // Directory did not exist, deletion was successful + break; + } else { + throw er; + } + } + } } catch(e) { common.error('could not remove directory (code '+e.code+'): ' + dir, true); } http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/winjs/README.md ---------------------------------------------------------------------- diff --git a/node_modules/winjs/README.md b/node_modules/winjs/README.md index aab5fb5..33e432f 100644 --- a/node_modules/winjs/README.md +++ b/node_modules/winjs/README.md @@ -9,17 +9,14 @@ WinJS is a set of JavaScript toolkits that allow developers to build application * Provide developers with a distinctive set of UI controls with high polish and performance with fundamental support for touch, mouse, keyboard and accessibility * Provide developers with a cohesive set of components and utilities to build the scaffolding and infrastructure of their applications -This is a first step for the WinJS project and there is still a lot of work that needs to be done. So please check out the [roadmap](https://github.com/winjs/winjs/wiki/Roadmap) to see where the project is headed or participate by [contributing](https://github.com/winjs/winjs/wiki/Contribute) along the way. +This is a first step for the WinJS project and there is still a lot of work that needs to be done. Feel free to participate by [contributing][contribute] along the way. # Contribute -There are many ways to [contribute](https://github.com/winjs/winjs/blob/master/CONTRIBUTING.md) to the project. +There are many ways to [contribute] to the project. You can contribute by reviewing and sending feedback on code checkins, suggesting and trying out new features as they are implemented, submitting bugs and helping us verify fixes as they are checked in, as well as submitting code fixes or code contributions of your own. -Note that all code submissions will be rigorously reviewed and tested by the team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source. - -# Roadmap -The source code on this repo is under active development that will be part of our next release. For details on our planned features and future direction, please refer to our [roadmap](https://github.com/winjs/winjs/wiki/Roadmap). +Note that all code submissions will be rigorously reviewed and tested by the team, and only those that meet an extremely high bar for both quality and design appropriateness will be merged into the source. # Build WinJS In order to build WinJS, ensure that you have [git](http://git-scm.com/downloads) and [Node.js](http://nodejs.org/download/) installed. @@ -52,11 +49,15 @@ grunt > **Note:** You may need to use sudo (for OSX, *nix, BSD etc) or run your > command shell as Administrator (for Windows) to install Grunt globally. # Tests status -Refer to http://try.buildwinjs.com/#status for the current status of the unit tests and the list of known issues. +Refer to http://winjs.azurewebsites.net/#status for the current status of the unit tests and the list of known issues. # Try WinJS -Check out our online playground http://try.buildwinjs.com +Check out our online playground at http://www.buildwinjs.com/playground/ + +The old playground is still available at http://winjs.azurewebsites.net/ # Follow Us Twitter https://twitter.com/BuildWinJS Facebook https://www.facebook.com/buildwinjs + +[contribute]: https://github.com/winjs/winjs/blob/master/CONTRIBUTING.md http://git-wip-us.apache.org/repos/asf/cordova-windows/blob/58047a3d/node_modules/winjs/css/ui-dark.css ---------------------------------------------------------------------- diff --git a/node_modules/winjs/css/ui-dark.css b/node_modules/winjs/css/ui-dark.css index 991c931..82474e2 100644 --- a/node_modules/winjs/css/ui-dark.css +++ b/node_modules/winjs/css/ui-dark.css @@ -1039,9 +1039,7 @@ select[multiple].win-dropdown { .win-slider { -webkit-appearance: none; width: 280px; - height: 22px; - padding-top: 17px; - padding-bottom: 32px; + height: 44px; } .win-slider::-ms-track { height: 2px; @@ -1055,29 +1053,30 @@ select[multiple].win-dropdown { height: 2px; border-style: none; } -.win-slider::-ms-thumb { - width: 24px; - height: 8px; +.win-slider::-moz-range-thumb { + width: 8px; + height: 24px; border-radius: 4px; border-style: none; } .win-slider::-webkit-slider-thumb { -webkit-appearance: none; - margin-top: -4px; - width: 24px; - height: 8px; + margin-top: -11px; + width: 8px; + height: 24px; border-radius: 4px; border-style: none; } -.win-slider::-moz-range-thumb { - width: 24px; - height: 8px; +.win-slider::-ms-thumb { + margin-top: inherit; + width: 8px; + height: 24px; border-radius: 4px; border-style: none; } .win-slider.win-vertical { writing-mode: bt-lr; - width: 22px; + width: 44px; height: 280px; } .win-slider.win-vertical::-ms-track { @@ -1085,8 +1084,8 @@ select[multiple].win-dropdown { height: auto; } .win-slider.win-vertical::-ms-thumb { - width: 8px; - height: 24px; + width: 24px; + height: 8px; } .win-slider.win-vertical:lang(ar), .win-slider.win-vertical:lang(dv), @@ -1803,9 +1802,8 @@ html.win-hoverable .win-itemcontainer .win-itembox:hover::before { opacity: 0.4; } html.win-hoverable .win-listview .win-pressed .win-itembox:hover::before, -html.win-hoverable .win-itemcontainer .win-pressed .win-itembox:hover::before, html.win-hoverable .win-listview .win-pressed.win-itembox:hover::before, -html.win-hoverable .win-itemcontainer .win-pressed.win-itembox:hover::before { +html.win-hoverable .win-itemcontainer.win-pressed .win-itembox:hover::before { opacity: 0.6; } html.win-hoverable .win-listview.win-selectionstylefilled .win-container:hover, @@ -2053,6 +2051,8 @@ html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-selected a:ho .win-flipview { overflow: hidden; height: 400px; + /* Necessary for detecting element resize */ + position: relative; } .win-flipview .win-surface { -ms-scroll-chaining: none; @@ -2512,13 +2512,12 @@ button.win-navigation-backbutton:enabled:hover:active { vertical-align: top; } .win-toggleswitch .win-toggleswitch-value { - min-width: 65px; margin-left: 12px; - height: 16px; + height: 20px; vertical-align: top; font-size: 15px; font-weight: 400; - line-height: 16px; + line-height: 20px; } .win-toggleswitch .win-toggleswitch-description { font-size: 12px; @@ -2533,28 +2532,29 @@ button.win-navigation-backbutton:enabled:hover:active { -webkit-user-select: none; -moz-user-select: none; user-select: none; + padding-top: 5px; } .win-toggleswitch .win-toggleswitch-track { position: relative; display: inline-block; width: 44px; - height: 16px; + height: 20px; border-style: solid; border-width: 2px; - border-radius: 8px; + border-radius: 10px; box-sizing: border-box; } .win-toggleswitch .win-toggleswitch-thumb { position: absolute; - top: 2px; + top: 3px; display: inline-block; - width: 20px; - height: 8px; - border-radius: 4px; + width: 10px; + height: 10px; + border-radius: 5px; -webkit-transition: left 0.1s; transition: left 0.1s; } -.win-toggleswitch:focus .win-toggleswitch-track { +.win-toggleswitch:focus .win-toggleswitch-clickregion { outline-width: 1px; outline-style: dotted; } @@ -2575,10 +2575,10 @@ button.win-navigation-backbutton:enabled:hover:active { line-height: 0; } .win-toggleswitch.win-toggleswitch-on .win-toggleswitch-thumb { - left: 18px; + left: 27px; } .win-toggleswitch.win-toggleswitch-off .win-toggleswitch-thumb { - left: 2px; + left: 3px; } .win-toggleswitch:lang(ar), .win-toggleswitch:lang(dv), @@ -2608,7 +2608,7 @@ button.win-navigation-backbutton:enabled:hover:active { .win-toggleswitch:lang(ug).win-toggleswitch-on .win-toggleswitch-thumb, .win-toggleswitch:lang(ur).win-toggleswitch-on .win-toggleswitch-thumb, .win-toggleswitch:lang(qps-plocm).win-toggleswitch-on .win-toggleswitch-thumb { - left: 2px; + left: 3px; } .win-toggleswitch:lang(ar).win-toggleswitch-off .win-toggleswitch-thumb, .win-toggleswitch:lang(dv).win-toggleswitch-off .win-toggleswitch-thumb, @@ -2623,11 +2623,13 @@ button.win-navigation-backbutton:enabled:hover:active { .win-toggleswitch:lang(ug).win-toggleswitch-off .win-toggleswitch-thumb, .win-toggleswitch:lang(ur).win-toggleswitch-off .win-toggleswitch-thumb, .win-toggleswitch:lang(qps-plocm).win-toggleswitch-off .win-toggleswitch-thumb { - left: 18px; + left: 27px; } .win-semanticzoom { touch-action: pan-x pan-y double-tap-zoom; height: 400px; + /* Necessary to detect element resize */ + position: relative; } .win-semanticzoom .win-listview > .win-viewport * { touch-action: auto; @@ -2712,6 +2714,8 @@ button.win-navigation-backbutton:enabled:hover:active { overflow: hidden; -ms-scroll-limit-x-max: 0px; touch-action: manipulation; + /* Necessary for detecting when this element has resized */ + position: relative; } .win-pivot .win-pivot-navbutton { touch-action: manipulation; @@ -2848,6 +2852,10 @@ button.win-navigation-backbutton:enabled:hover:active { padding-top: 48px; margin-top: -48px; } +.win-pivot.win-pivot-customheaders .win-pivot-viewport { + padding-top: inherit; + margin-top: inherit; +} .win-pivot.win-pivot-mouse .win-pivot-viewport { padding-top: 0px; margin-top: 0px; @@ -2856,8 +2864,8 @@ button.win-navigation-backbutton:enabled:hover:active { overflow: hidden; } .win-pivot .win-pivot-surface { - /* 49 before, 1 current, 50 after */ - width: 10000%; + /* Surface is 3x of viewport to allow panning. */ + width: 300%; height: 100%; position: relative; } @@ -2882,10 +2890,27 @@ html.win-hoverable .win-pivot .win-pivot-navbutton:hover { */ .win-pivot-item { position: absolute; - top: 0px; + top: 0; bottom: 0; - /* Since the surface is 100x in width, 1% here means the size of the viewport. */ - width: 1%; + /* Since the surface is 3x in width, 33.3% here means the size of the viewport. */ + width: 33.3%; + left: 33.3%; +} +.win-pivot-item:lang(ar), +.win-pivot-item:lang(dv), +.win-pivot-item:lang(fa), +.win-pivot-item:lang(he), +.win-pivot-item:lang(ku-Arab), +.win-pivot-item:lang(pa-Arab), +.win-pivot-item:lang(prs), +.win-pivot-item:lang(ps), +.win-pivot-item:lang(sd-Arab), +.win-pivot-item:lang(syr), +.win-pivot-item:lang(ug), +.win-pivot-item:lang(ur), +.win-pivot-item:lang(qps-plocm) { + left: auto; + right: 33.3%; } .win-pivot-item .win-pivot-item-content { height: 100%; @@ -2901,16 +2926,15 @@ html.win-hoverable .win-pivot .win-pivot-navbutton:hover { margin-top: 0px; overflow: hidden; } -.win-pivot.win-pivot-nosnap .win-pivot-surface { - width: 100%; - position: static; -} +.win-pivot.win-pivot-nosnap .win-pivot-surface, .win-pivot.win-pivot-nosnap .win-pivot-item { width: 100%; + position: static; } .win-hub { height: 100%; width: 100%; + /* Necessary for detecting when this element has resized */ position: relative; } .win-hub-progress { @@ -2939,33 +2963,66 @@ html.win-hoverable .win-pivot .win-pivot-navbutton:hover { display: inline-block; } .win-hub-vertical .win-hub-surface { - width: 100%; + width: calc(100% - 24px); padding: 0px 12px 8px 12px; + margin-top: -24px; + /* Keep in sync w/ hub-section padding-top */ } .win-hub-horizontal .win-hub-surface { height: 100%; - padding: 0px 0px 0px 12px; + padding-left: 12px; +} +.win-hub-horizontal .win-hub-surface:lang(ar), +.win-hub-horizontal .win-hub-surface:lang(dv), +.win-hub-horizontal .win-hub-surface:lang(fa), +.win-hub-horizontal .win-hub-surface:lang(he), +.win-hub-horizontal .win-hub-surface:lang(ku-Arab), +.win-hub-horizontal .win-hub-surface:lang(pa-Arab), +.win-hub-horizontal .win-hub-surface:lang(prs), +.win-hub-horizontal .win-hub-surface:lang(ps), +.win-hub-horizontal .win-hub-surface:lang(sd-Arab), +.win-hub-horizontal .win-hub-surface:lang(syr), +.win-hub-horizontal .win-hub-surface:lang(ug), +.win-hub-horizontal .win-hub-surface:lang(ur), +.win-hub-horizontal .win-hub-surface:lang(qps-plocm) { + padding-left: 0; + padding-right: 12px; } .win-hub-section { display: inline-block; - padding: 0px 24px 0px 0px; vertical-align: top; white-space: normal; } .win-hub-horizontal .win-hub-section { height: 100%; + padding-right: 24px; +} +.win-hub-horizontal .win-hub-section:lang(ar), +.win-hub-horizontal .win-hub-section:lang(dv), +.win-hub-horizontal .win-hub-section:lang(fa), +.win-hub-horizontal .win-hub-section:lang(he), +.win-hub-horizontal .win-hub-section:lang(ku-Arab), +.win-hub-horizontal .win-hub-section:lang(pa-Arab), +.win-hub-horizontal .win-hub-section:lang(prs), +.win-hub-horizontal .win-hub-section:lang(ps), +.win-hub-horizontal .win-hub-section:lang(sd-Arab), +.win-hub-horizontal .win-hub-section:lang(syr), +.win-hub-horizontal .win-hub-section:lang(ug), +.win-hub-horizontal .win-hub-section:lang(ur), +.win-hub-horizontal .win-hub-section:lang(qps-plocm) { + padding-right: 0; + padding-left: 24px; } .win-hub-horizontal .win-hub-section-header { - margin-top: 44px; + margin-top: 62px; } .win-hub-vertical .win-hub-section { - width: calc(100% - 24px); -} -.win-hub-vertical .win-hub-section-header { - margin-top: 16px; + width: 100%; + padding-top: 24px; + /* Keep in sync w/ hub-surface margin-top */ } .win-hub-section-header { - margin: 4px 0px 9px 0px; + margin-bottom: 9px; height: 28px; } button.win-hub-section-header-tabstop, @@ -3002,17 +3059,15 @@ button.win-hub-section-header-tabstop:-ms-keyboard-active { .win-hub-section-header-content { font-size: 20px; font-weight: 400; - line-height: 1.2; + line-height: 1.5; -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; flex: 1 1 auto; text-align: left; vertical-align: bottom; - padding-top: 1px; overflow: hidden; text-overflow: clip; white-space: nowrap; - line-height: 1.5; } .win-hub-section-header-content:lang(ar), .win-hub-section-header-content:lang(dv), @@ -3061,7 +3116,7 @@ button.win-hub-section-header-tabstop:-ms-keyboard-active { margin-right: 24px; } .win-hub-horizontal .win-hub-section-content { - height: calc(100% - 81px); + height: calc(100% - 99px); } .win-hub-vertical .win-hub-section-content { width: 100%; @@ -3295,6 +3350,9 @@ div.win-command:lang(qps-plocm) { div.win-command:focus { outline: none; } +.win-command.win-command-hidden { + display: none; +} /* AppBar */ @@ -4163,9 +4221,6 @@ Settings Pane .win-commandingsurface .win-commandingsurface-actionarea .win-commandingsurface-overflowbutton .win-commandingsurface-ellipsis::before { content: "\E10C"; } -.win-commandingsurface.win-commandingsurface-empty .win-commandingsurface-overflowbutton { - display: none; -} .win-commandingsurface.win-commandingsurface-opened .win-commandingsurface-actionarea { height: auto; } @@ -4196,7 +4251,8 @@ Settings Pane .win-commandingsurface.win-commandingsurface-closed .win-commandingsurface-overflowareacontainer { display: none; } -.win-commandingsurface.win-commandingsurface-empty .win-commandingsurface-overflowbutton { +.win-commandingsurface .win-commandingsurface-insetoutline { + /* Display none except in High Contrast scenarios */ display: none; } .win-commandingsurface .win-commandingsurface-overflowareacontainer { @@ -4242,6 +4298,11 @@ Settings Pane max-width: 480px; /* override max-width styles from WinJS.UI.Menu */ } +.win-commandingsurface .win-commandingsurface-overflowarea .win-commandingsurface-spacer { + /* Reserves space at the bottom of the overflow area */ + visibility: hidden; + height: 24px; +} .win-commandingsurface .win-commandingsurface-overflowarea button.win-command { -ms-flex: 0 0 auto; -webkit-flex: 0 0 auto; @@ -4264,12 +4325,24 @@ Settings Pane } .win-commandingsurface .win-commandingsurface-actionareacontainer { overflow: hidden; + position: relative; } .win-commandingsurface.win-commandingsurface-closing.win-commandingsurface-closeddisplaycompact .win-command .win-label, .win-commandingsurface.win-commandingsurface-closing.win-commandingsurface-closeddisplayminimal .win-command, .win-commandingsurface.win-commandingsurface-closing.win-commandingsurface-closeddisplaynone .win-command { opacity: 0; } +.win-commandingsurface .win-command.win-command-hidden { + display: inline-block; +} +.win-commandingsurface .win-command.win-commandingsurface-command-hidden { + display: none; +} +.win-commandingsurface .win-command.win-commandingsurface-command-primary-overflown, +.win-commandingsurface .win-command.win-commandingsurface-command-secondary-overflown, +.win-commandingsurface .win-command.win-commandingsurface-command-separator-hidden { + display: none; +} @media (max-width: 480px) { .win-commandingsurface .win-commandingsurface-overflowarea.win-menu { width: 100vw; @@ -4606,6 +4679,116 @@ Hide clear button in search box control. color: ButtonFace; } } +/* + SplitViewCommand +*/ +.win-splitviewcommand { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -ms-flex: 0 0 auto; + -webkit-flex: 0 0 auto; + flex: 0 0 auto; + touch-action: manipulation; +} +.win-splitviewcommand-button { + -ms-flex: 1 1 0%; + -webkit-flex: 1 1 0%; + flex: 1 1 0%; + position: relative; +} +.win-splitviewcommand-button-content { + position: relative; + height: 48px; + padding-left: 16px; + padding-right: 16px; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} +.win-splitviewcommand-button:focus { + z-index: 1; + outline: none; +} +.win-splitviewcommand-icon { + font-family: "Segoe MDL2 Assets", "Symbols"; + height: 16px; + width: 16px; + font-size: 16px; + margin-left: 0; + margin-right: 16px; + margin-top: 14px; + /* Center icon vertically */ + line-height: 1; + /* Ensure icon is exactly font-size */ + -ms-flex: 0 0 auto; + -webkit-flex: 0 0 auto; + flex: 0 0 auto; +} +.win-splitviewcommand-icon:lang(ar), +.win-splitviewcommand-icon:lang(dv), +.win-splitviewcommand-icon:lang(fa), +.win-splitviewcommand-icon:lang(he), +.win-splitviewcommand-icon:lang(ku-Arab), +.win-splitviewcommand-icon:lang(pa-Arab), +.win-splitviewcommand-icon:lang(prs), +.win-splitviewcommand-icon:lang(ps), +.win-splitviewcommand-icon:lang(sd-Arab), +.win-splitviewcommand-icon:lang(syr), +.win-splitviewcommand-icon:lang(ug), +.win-splitviewcommand-icon:lang(ur), +.win-splitviewcommand-icon:lang(qps-plocm) { + margin-right: 0; + margin-left: 16px; +} +.win-splitviewcommand-label { + -ms-flex: 1 1 0%; + -webkit-flex: 1 1 0%; + flex: 1 1 0%; + overflow: hidden; + white-space: nowrap; + font-size: 15px; + font-weight: 400; + line-height: 1.333; + margin-top: 13px; + margin-bottom: 15px; +} +@media (-ms-high-contrast) { + /* + SplitViewCommand colors. + */ + .win-splitviewcommand-button { + background-color: ButtonFace; + color: ButtonText; + } + .win-splitviewcommand-button:after { + position: absolute; + top: 0; + left: 0; + border: 2px solid ButtonText; + content: ""; + width: calc(100% - 3px); + height: calc(100% - 3px); + pointer-events: none; + } + html.win-hoverable .win-splitviewcommand-button:hover { + background-color: Highlight; + color: HighlightText; + } + .win-splitviewcommand-button.win-pressed, + html.win-hoverable .win-splitviewcommand-button.win-pressed:hover { + background-color: ButtonText; + color: ButtonFace; + } +} +.win-navbar { + /* NavBar should overlay content in the body when opened or closed. + * This z-index value is chosen to be smaller than light dismissables. + * z-index will be overwritten by the light dismiss service to an even + * higher value when the NavBar is in the opened state. + */ + z-index: 999; +} .win-navbar.win-navbar-showing, .win-navbar.win-navbar-shown, .win-navbar.win-navbar-hiding { @@ -4967,12 +5150,10 @@ Hide clear button in search box control. */ } .win-contentdialog.win-contentdialog-verticalalignment { - z-index: 1005; - /* Above AppBar and SettingsFlyout. Below Flyout. */ position: fixed; top: 0; left: 0; - width: 100vw; + right: 0; height: 100vh; overflow: hidden; display: none; @@ -4991,6 +5172,11 @@ Hide clear button in search box control. align-content: center; /* maintain horizontal centering when the flexbox has 2 columns */ } +.win-contentdialog.win-contentdialog-verticalalignment.win-contentdialog-devicefixedsupported { + position: -ms-device-fixed; + height: auto; + bottom: 0; +} .win-contentdialog.win-contentdialog-verticalalignment.win-contentdialog-visible { display: -ms-flexbox; display: -webkit-flex; @@ -5000,8 +5186,8 @@ Hide clear button in search box control. position: absolute; top: 0; left: 0; - width: 100vw; - height: 100vh; + width: 100%; + height: 100%; } .win-contentdialog .win-contentdialog-dialog { display: -ms-flexbox; @@ -5019,7 +5205,7 @@ Hide clear button in search box control. outline-width: 1px; box-sizing: border-box; padding: 18px 24px 24px 24px; - width: 100vw; + width: 100%; min-width: 320px; max-width: 456px; min-height: 184px; @@ -5029,10 +5215,9 @@ Hide clear button in search box control. margin-right: auto; } .win-contentdialog .win-contentdialog-column0or1 { - height: 50vh; - -ms-flex: 10000 0 auto; - -webkit-flex: 10000 0 auto; - flex: 10000 0 auto; + -ms-flex: 10000 0 50%; + -webkit-flex: 10000 0 50%; + flex: 10000 0 50%; width: 0; } @media (min-height: 640px) { @@ -5064,6 +5249,7 @@ Hide clear button in search box control. font-size: 20px; font-weight: 400; line-height: 1.2; + margin: 0; } .win-contentdialog .win-contentdialog-content { -ms-flex: 1 0 auto; @@ -5133,6 +5319,17 @@ Hide clear button in search box control. display: -webkit-flex; display: flex; } +.win-splitview .win-splitview-paneoutline { + display: none; + pointer-events: none; + position: absolute; + top: 0; + left: 0; + border: 1px solid transparent; + width: calc(100% - 2px); + height: calc(100% - 2px); + z-index: 1; +} .win-splitview .win-splitview-pane { outline: none; } @@ -5253,10 +5450,9 @@ button.win-splitviewpanetoggle { min-height: 0; min-width: 0; padding: 0; - border: 1px dotted transparent; + border: none; margin: 0; outline: none; - background-color: transparent; } button.win-splitviewpanetoggle:after { font-size: 24px; @@ -5271,6 +5467,12 @@ button.win-splitviewpanetoggle:after { /* enough to fit the overflowbutton */ position: fixed; position: -ms-device-fixed; + /* AppBar should overlay content in the body when opened or closed. + * This z-index value is chosen to be smaller than light dismissables. + * z-index will be overwritten by the light dismiss service to an even + * higher value when the AppBar is in the opened state. + */ + z-index: 999; } .win-appbar.win-appbar-top { top: 0; @@ -5379,20 +5581,23 @@ winjs-themedetection-tag { background-color: rgba(255, 255, 255, 0.2); border-color: transparent; } -.win-button:hover { +.win-button.win-button-primary { + color: #fff; +} +.win-button:hover, +.win-button.win-button-primary:hover { border-color: rgba(255, 255, 255, 0.4); } -.win-button:active { +.win-button:active, +.win-button.win-button-primary:active { background-color: rgba(255, 255, 255, 0.4); } -.win-button:disabled { +.win-button:disabled, +.win-button.win-button-primary:disabled { color: rgba(255, 255, 255, 0.2); background-color: rgba(255, 255, 255, 0.2); border-color: transparent; } -.win-button.win-button-primary { - color: #fff; -} .win-dropdown { color: #ffffff; background-color: rgba(255, 255, 255, 0.2); @@ -5488,15 +5693,6 @@ select[multiple].win-dropdown option:checked { .win-slider::-moz-range-track { background: rgba(255, 255, 255, 0.4); } -.win-slider:hover::-ms-fill-upper { - background: rgba(255, 255, 255, 0.6); -} -.win-slider:hover::-webkit-slider-runnable-track { - background: rgba(255, 255, 255, 0.6); -} -.win-slider:hover::-moz-range-track { - background: rgba(255, 255, 255, 0.6); -} .win-slider:active::-ms-fill-upper { background: rgba(255, 255, 255, 0.4); } @@ -5573,9 +5769,11 @@ select[multiple].win-dropdown option:checked { color: #ffffff; } html.win-hoverable .win-listview.win-selectionstylefilled .win-container.win-pressed .win-itembox, -html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container .win-itembox, html.win-hoverable .win-listview.win-selectionstylefilled .win-container .win-itembox.win-pressed, -html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container .win-itembox.win-pressed { +html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container.win-pressed .win-itembox, +.win-listview.win-selectionstylefilled .win-container.win-pressed .win-itembox, +.win-listview.win-selectionstylefilled .win-container .win-itembox.win-pressed, +.win-itemcontainer.win-selectionstylefilled.win-container.win-pressed .win-itembox { background-color: rgba(255, 255, 255, 0.2); } .win-listview .win-itembox, @@ -5652,9 +5850,7 @@ html.win-hoverable .win-flipview .win-navbutton:hover { .win-rating .win-star.win-empty { color: rgba(255, 255, 255, 0.2); } -.win-toggleswitch-header { - color: #ffffff; -} +.win-toggleswitch-header, .win-toggleswitch-value { color: #ffffff; } @@ -5664,21 +5860,37 @@ html.win-hoverable .win-flipview .win-navbutton:hover { .win-toggleswitch-off .win-toggleswitch-track { border-color: rgba(255, 255, 255, 0.8); } -.win-toggleswitch-pressed .win-toggleswitch-track { - border-color: rgba(255, 255, 255, 0.6); -} .win-toggleswitch-pressed .win-toggleswitch-thumb { + background-color: #ffffff; +} +.win-toggleswitch-pressed .win-toggleswitch-track { + border-color: transparent; background-color: rgba(255, 255, 255, 0.6); } +.win-toggleswitch-disabled .win-toggleswitch-header, +.win-toggleswitch-disabled .win-toggleswitch-value { + color: rgba(255, 255, 255, 0.2); +} +.win-toggleswitch-disabled .win-toggleswitch-thumb { + background-color: rgba(255, 255, 255, 0.2); +} .win-toggleswitch-disabled .win-toggleswitch-track { border-color: rgba(255, 255, 255, 0.2); } -.win-toggleswitch-disabled .win-toggleswitch-thumb { +.win-toggleswitch-on .win-toggleswitch-thumb { + background-color: #ffffff; +} +.win-toggleswitch-on .win-toggleswitch-track { + border-color: transparent; +} +.win-toggleswitch-on.win-toggleswitch-pressed .win-toggleswitch-track { + background-color: rgba(255, 255, 255, 0.6); +} +.win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-thumb { background-color: rgba(255, 255, 255, 0.2); } -.win-toggleswitch-disabled .win-toggleswitch-header, -.win-toggleswitch-disabled .win-toggleswitch-value { - color: rgba(255, 255, 255, 0.2); +.win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-track { + background-color: rgba(255, 255, 255, 0.2); } .win-semanticzoom-button { background-color: rgba(216, 216, 216, 0.33); @@ -5708,6 +5920,7 @@ button.win-semanticzoom-button.win-semanticzoom-button:hover:active { } .win-pivot button.win-pivot-header.win-pivot-header-selected { color: #ffffff; + background-color: transparent; } .win-pivot-header[disabled] { color: rgba(255, 255, 255, 0.4); @@ -5972,6 +6185,24 @@ button.win-command:disabled:active .win-label { .win-searchbox-button.win-searchbox-button:not(.win-searchbox-button-disabled):hover:active { color: #ffffff; } +.win-splitviewcommand-button { + background-color: transparent; + color: #ffffff; +} +.win-splitviewcommand-button.win-pressed { + background-color: rgba(255, 255, 255, 0.2); +} +.win-splitviewcommand-button.win-keyboard:focus::before { + content: ""; + pointer-events: none; + position: absolute; + box-sizing: border-box; + top: 0; + left: 0; + height: 100%; + width: 100%; + border: 1px dotted #ffffff; +} .win-navbarcontainer-pageindicator { background-color: rgba(255, 255, 255, 0.2); } @@ -6026,13 +6257,21 @@ button.win-command:disabled:active .win-label { } button.win-splitviewpanetoggle { color: #ffffff; + background-color: transparent; } button.win-splitviewpanetoggle:active, button.win-splitviewpanetoggle.win-splitviewpanetoggle:active:hover { + color: #ffffff; background-color: rgba(255, 255, 255, 0.2); } button.win-splitviewpanetoggle.win-keyboard:focus { - border-color: #ffffff; + border: 1px dotted #ffffff; +} +button.win-splitviewpanetoggle:disabled, +button.win-splitviewpanetoggle:disabled:active, +button.win-splitviewpanetoggle.win-splitviewpanetoggle:disabled:hover { + color: rgba(255, 255, 255, 0.2); + background-color: transparent; } html.win-hoverable { /* LegacyAppBar control colors */ @@ -6051,12 +6290,15 @@ html.win-hoverable .win-listview.win-selectionstylefilled .win-selected:hover .w html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-selected:hover .win-selectionbackground { opacity: 0.8; } -html.win-hoverable .win-toggleswitch-off:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-track { - border-color: #ffffff; -} html.win-hoverable .win-toggleswitch:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-thumb { background-color: #ffffff; } +html.win-hoverable .win-toggleswitch:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed).win-toggleswitch-on .win-toggleswitch-clickregion:hover .win-toggleswitch-thumb { + background-color: #ffffff; +} +html.win-hoverable .win-toggleswitch-off:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-track { + border-color: #ffffff; +} html.win-hoverable button:hover.win-semanticzoom-button { background-color: #d8d8d8; } @@ -6064,7 +6306,7 @@ html.win-hoverable .win-pivot .win-pivot-navbutton:hover { color: rgba(255, 255, 255, 0.6); } html.win-hoverable .win-pivot button.win-pivot-header:hover { - color: rgba(255, 255, 255, 0.8); + color: baseMediumHigh; } html.win-hoverable button.win-hub-section-header-tabstop:hover { color: #ffffff; @@ -6139,6 +6381,12 @@ html.win-hoverable .win-autosuggestbox-suggestion-query:hover { html.win-hoverable .win-searchbox-button:not(.win-searchbox-button-disabled):hover:active { color: #ffffff; } +html.win-hoverable .win-splitviewcommand-button:hover { + background-color: rgba(255, 255, 255, 0.1); +} +html.win-hoverable .win-splitviewcommand-button:hover.win-pressed { + background-color: rgba(255, 255, 255, 0.2); +} html.win-hoverable .win-navbarcontainer-navarrow:hover { background-color: rgba(255, 255, 255, 0.6); } @@ -6151,6 +6399,7 @@ html.win-hoverable .win-navbarcommand-splitbutton:hover.win-pressed { background-color: rgba(255, 255, 255, 0.28); } html.win-hoverable button.win-splitviewpanetoggle:hover { + color: #ffffff; background-color: rgba(255, 255, 255, 0.1); } .win-ui-light body { @@ -6248,20 +6497,23 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { background-color: rgba(0, 0, 0, 0.2); border-color: transparent; } -.win-ui-light .win-button:hover { +.win-ui-light .win-button.win-button-primary { + color: #fff; +} +.win-ui-light .win-button:hover, +.win-ui-light .win-button.win-button-primary:hover { border-color: rgba(0, 0, 0, 0.4); } -.win-ui-light .win-button:active { +.win-ui-light .win-button:active, +.win-ui-light .win-button.win-button-primary:active { background-color: rgba(0, 0, 0, 0.4); } -.win-ui-light .win-button:disabled { +.win-ui-light .win-button:disabled, +.win-ui-light .win-button.win-button-primary:disabled { color: rgba(0, 0, 0, 0.2); background-color: rgba(0, 0, 0, 0.2); border-color: transparent; } -.win-ui-light .win-button.win-button-primary { - color: #fff; -} .win-ui-light .win-dropdown { color: #000000; background-color: rgba(0, 0, 0, 0.2); @@ -6357,15 +6609,6 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { .win-ui-light .win-slider::-moz-range-track { background: rgba(0, 0, 0, 0.4); } -.win-ui-light .win-slider:hover::-ms-fill-upper { - background: rgba(0, 0, 0, 0.6); -} -.win-ui-light .win-slider:hover::-webkit-slider-runnable-track { - background: rgba(0, 0, 0, 0.6); -} -.win-ui-light .win-slider:hover::-moz-range-track { - background: rgba(0, 0, 0, 0.6); -} .win-ui-light .win-slider:active::-ms-fill-upper { background: rgba(0, 0, 0, 0.4); } @@ -6442,9 +6685,11 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { color: #000000; } .win-ui-light html.win-hoverable .win-listview.win-selectionstylefilled .win-container.win-pressed .win-itembox, -.win-ui-light html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container .win-itembox, .win-ui-light html.win-hoverable .win-listview.win-selectionstylefilled .win-container .win-itembox.win-pressed, -.win-ui-light html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container .win-itembox.win-pressed { +.win-ui-light html.win-hoverable .win-itemcontainer.win-selectionstylefilled.win-container.win-pressed .win-itembox, +.win-ui-light .win-listview.win-selectionstylefilled .win-container.win-pressed .win-itembox, +.win-ui-light .win-listview.win-selectionstylefilled .win-container .win-itembox.win-pressed, +.win-ui-light .win-itemcontainer.win-selectionstylefilled.win-container.win-pressed .win-itembox { background-color: rgba(0, 0, 0, 0.2); } .win-ui-light .win-listview .win-itembox, @@ -6521,9 +6766,7 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { .win-ui-light .win-rating .win-star.win-empty { color: rgba(0, 0, 0, 0.2); } -.win-ui-light .win-toggleswitch-header { - color: #000000; -} +.win-ui-light .win-toggleswitch-header, .win-ui-light .win-toggleswitch-value { color: #000000; } @@ -6533,21 +6776,37 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { .win-ui-light .win-toggleswitch-off .win-toggleswitch-track { border-color: rgba(0, 0, 0, 0.8); } -.win-ui-light .win-toggleswitch-pressed .win-toggleswitch-track { - border-color: rgba(0, 0, 0, 0.6); -} .win-ui-light .win-toggleswitch-pressed .win-toggleswitch-thumb { + background-color: #ffffff; +} +.win-ui-light .win-toggleswitch-pressed .win-toggleswitch-track { + border-color: transparent; background-color: rgba(0, 0, 0, 0.6); } +.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-header, +.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-value { + color: rgba(0, 0, 0, 0.2); +} +.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-thumb { + background-color: rgba(0, 0, 0, 0.2); +} .win-ui-light .win-toggleswitch-disabled .win-toggleswitch-track { border-color: rgba(0, 0, 0, 0.2); } -.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-thumb { +.win-ui-light .win-toggleswitch-on .win-toggleswitch-thumb { + background-color: #ffffff; +} +.win-ui-light .win-toggleswitch-on .win-toggleswitch-track { + border-color: transparent; +} +.win-ui-light .win-toggleswitch-on.win-toggleswitch-pressed .win-toggleswitch-track { + background-color: rgba(0, 0, 0, 0.6); +} +.win-ui-light .win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-thumb { background-color: rgba(0, 0, 0, 0.2); } -.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-header, -.win-ui-light .win-toggleswitch-disabled .win-toggleswitch-value { - color: rgba(0, 0, 0, 0.2); +.win-ui-light .win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-track { + background-color: rgba(0, 0, 0, 0.2); } .win-ui-light .win-semanticzoom-button { background-color: rgba(216, 216, 216, 0.33); @@ -6577,6 +6836,7 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { } .win-ui-light .win-pivot button.win-pivot-header.win-pivot-header-selected { color: #000000; + background-color: transparent; } .win-ui-light .win-pivot-header[disabled] { color: rgba(0, 0, 0, 0.4); @@ -6841,6 +7101,24 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { .win-ui-light .win-searchbox-button.win-searchbox-button:not(.win-searchbox-button-disabled):hover:active { color: #ffffff; } +.win-ui-light .win-splitviewcommand-button { + background-color: transparent; + color: #000000; +} +.win-ui-light .win-splitviewcommand-button.win-pressed { + background-color: rgba(0, 0, 0, 0.2); +} +.win-ui-light .win-splitviewcommand-button.win-keyboard:focus::before { + content: ""; + pointer-events: none; + position: absolute; + box-sizing: border-box; + top: 0; + left: 0; + height: 100%; + width: 100%; + border: 1px dotted #000000; +} .win-ui-light .win-navbarcontainer-pageindicator { background-color: rgba(0, 0, 0, 0.2); } @@ -6895,13 +7173,21 @@ html.win-hoverable button.win-splitviewpanetoggle:hover { } .win-ui-light button.win-splitviewpanetoggle { color: #000000; + background-color: transparent; } .win-ui-light button.win-splitviewpanetoggle:active, .win-ui-light button.win-splitviewpanetoggle.win-splitviewpanetoggle:active:hover { + color: #000000; background-color: rgba(0, 0, 0, 0.2); } .win-ui-light button.win-splitviewpanetoggle.win-keyboard:focus { - border-color: #000000; + border: 1px dotted #000000; +} +.win-ui-light button.win-splitviewpanetoggle:disabled, +.win-ui-light button.win-splitviewpanetoggle:disabled:active, +.win-ui-light button.win-splitviewpanetoggle.win-splitviewpanetoggle:disabled:hover { + color: rgba(0, 0, 0, 0.2); + background-color: transparent; } html.win-hoverable .win-ui-light { /* LegacyAppBar control colors */ @@ -6920,12 +7206,15 @@ html.win-hoverable .win-ui-light .win-listview.win-selectionstylefilled .win-sel html.win-hoverable .win-ui-light .win-itemcontainer.win-selectionstylefilled.win-selected:hover .win-selectionbackground { opacity: 0.6; } -html.win-hoverable .win-ui-light .win-toggleswitch-off:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-track { - border-color: #000000; -} html.win-hoverable .win-ui-light .win-toggleswitch:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-thumb { background-color: #000000; } +html.win-hoverable .win-ui-light .win-toggleswitch:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed).win-toggleswitch-on .win-toggleswitch-clickregion:hover .win-toggleswitch-thumb { + background-color: #ffffff; +} +html.win-hoverable .win-ui-light .win-toggleswitch-off:not(.win-toggleswitch-disabled):not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-track { + border-color: #000000; +} html.win-hoverable .win-ui-light button:hover.win-semanticzoom-button { background-color: #d8d8d8; } @@ -6933,7 +7222,7 @@ html.win-hoverable .win-ui-light .win-pivot .win-pivot-navbutton:hover { color: rgba(0, 0, 0, 0.6); } html.win-hoverable .win-ui-light .win-pivot button.win-pivot-header:hover { - color: rgba(0, 0, 0, 0.8); + color: baseMediumHigh; } html.win-hoverable .win-ui-light button.win-hub-section-header-tabstop:hover { color: #000000; @@ -7008,6 +7297,12 @@ html.win-hoverable .win-ui-light .win-autosuggestbox-suggestion-query:hover { html.win-hoverable .win-ui-light .win-searchbox-button:not(.win-searchbox-button-disabled):hover:active { color: #ffffff; } +html.win-hoverable .win-ui-light .win-splitviewcommand-button:hover { + background-color: rgba(255, 255, 255, 0.1); +} +html.win-hoverable .win-ui-light .win-splitviewcommand-button:hover.win-pressed { + background-color: rgba(255, 255, 255, 0.2); +} html.win-hoverable .win-ui-light .win-navbarcontainer-navarrow:hover { background-color: rgba(0, 0, 0, 0.6); } @@ -7020,9 +7315,297 @@ html.win-hoverable .win-ui-light .win-navbarcommand-splitbutton:hover.win-presse background-color: rgba(255, 255, 255, 0.28); } html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { - background-color: rgba(255, 255, 255, 0.1); + color: #000000; + background-color: rgba(0, 0, 0, 0.1); } @media (-ms-high-contrast) { + ::selection { + background-color: Highlight; + color: HighlightText; + } + .win-link { + color: -ms-hotlight; + } + .win-link:active { + color: Highlight; + } + .win-link[disabled] { + color: GrayText; + } + .win-checkbox::-ms-check, + .win-radio::-ms-check { + background-color: ButtonFace; + border-color: ButtonText; + color: HighlightText; + } + .win-checkbox:indeterminate::-ms-check, + .win-radio:indeterminate::-ms-check { + background-color: Highlight; + border-color: ButtonText; + color: ButtonText; + } + .win-checkbox:checked::-ms-check, + .win-radio:checked::-ms-check { + background-color: Highlight; + border-color: HighlightText; + } + .win-checkbox:hover::-ms-check, + .win-radio:hover::-ms-check { + border-color: Highlight; + } + .win-checkbox:hover:active::-ms-check, + .win-radio:hover:active::-ms-check, + .win-checkbox:-ms-keyboard-active::-ms-check, + .win-radio:-ms-keyboard-active::-ms-check { + border-color: Highlight; + } + .win-checkbox:disabled::-ms-check, + .win-radio:disabled::-ms-check, + .win-checkbox:disabled:active::-ms-check, + .win-radio:disabled:active::-ms-check { + background-color: ButtonFace; + border-color: GrayText; + color: GrayText; + } + .win-progress-bar, + .win-progress-ring, + .win-ring { + background-color: ButtonFace; + color: Highlight; + } + .win-progress-bar::-ms-fill, + .win-progress-ring::-ms-fill, + .win-ring::-ms-fill { + background-color: Highlight; + } + .win-progress-bar.win-paused:not(:indeterminate)::-ms-fill, + .win-progress-ring.win-paused:not(:indeterminate)::-ms-fill, + .win-ring.win-paused:not(:indeterminate)::-ms-fill { + background-color: GrayText; + } + .win-progress-bar.win-paused:not(:indeterminate), + .win-progress-ring.win-paused:not(:indeterminate), + .win-ring.win-paused:not(:indeterminate) { + animation-name: none; + opacity: 1.0; + } + .win-button { + border-color: ButtonText; + color: ButtonText; + } + .win-button:hover { + border-color: Highlight; + color: Highlight; + } + .win-button:active { + border-color: Highlight; + color: Highlight; + } + .win-button:disabled { + border-color: GrayText; + color: GrayText; + } + .win-dropdown { + background-color: ButtonFace; + border-color: ButtonText; + color: WindowText; + } + .win-dropdown:hover { + border-color: Highlight; + } + .win-dropdown:active { + border-color: Highlight; + } + .win-dropdown:disabled { + border-color: GrayText; + color: GrayText; + } + .win-dropdown::-ms-expand { + color: ButtonText; + } + .win-dropdown:disabled::-ms-expand { + color: GrayText; + } + .win-dropdown option { + background-color: ButtonFace; + color: ButtonText; + } + .win-dropdown option:hover, + .win-dropdown option:active, + .win-dropdown option:checked { + background-color: Highlight; + color: HighlightText; + } + .win-dropdown option:disabled { + background-color: ButtonFace; + color: GrayText; + } + select[multiple].win-dropdown { + border: none; + } + select[multiple].win-dropdown:disabled option { + background-color: ButtonFace; + color: GrayText; + } + select[multiple].win-dropdown:disabled option:checked { + background-color: GrayText; + color: ButtonFace; + } + .win-slider::-ms-track { + color: transparent; + } + .win-slider::-ms-ticks-before, + .win-slider::-ms-ticks-after { + color: ButtonText; + } + .win-slider::-ms-fill-lower { + background-color: Highlight; + } + .win-slider::-ms-fill-upper { + background-color: ButtonText; + } + .win-slider::-ms-thumb { + background-color: ButtonText; + } + .win-slider:hover::-ms-thumb { + background-color: Highlight; + } + .win-slider:active::-ms-thumb { + background-color: Highlight; + } + .win-slider:disabled::-ms-fill-lower, + .win-slider:disabled::-ms-fill-upper, + .win-slider:disabled::-ms-thumb { + background-color: GrayText; + } + .win-textbox, + .win-textarea { + border-color: ButtonText; + color: ButtonText; + } + .win-textbox:hover, + .win-textarea:hover, + .win-textbox:active, + .win-textarea:active, + .win-textbox:focus, + .win-textarea:focus { + border-color: Highlight; + } + .win-textbox:disabled, + .win-textarea:disabled { + border-color: GrayText; + color: GrayText; + } + .win-textbox:-ms-input-placeholder, + .win-textarea:-ms-input-placeholder { + color: WindowText; + } + .win-textbox::-ms-input-placeholder, + .win-textarea::-ms-input-placeholder { + color: WindowText; + } + .win-textbox:disabled:-ms-input-placeholder, + .win-textarea:disabled:-ms-input-placeholder { + color: GrayText; + } + .win-textbox:disabled::-ms-input-placeholder, + .win-textarea:disabled::-ms-input-placeholder { + color: GrayText; + } + .win-textbox::-ms-clear, + .win-textbox::-ms-reveal { + background-color: ButtonFace; + color: ButtonText; + } + .win-textbox::-ms-clear:hover, + .win-textbox::-ms-reveal:hover { + color: Highlight; + } + .win-textbox::-ms-clear:active, + .win-textbox::-ms-reveal:active { + background-color: Highlight; + color: HighlightText; + } + .win-toggleswitch-header, + .win-toggleswitch-value { + color: HighlightText; + } + .win-toggleswitch-thumb { + background-color: HighlightText; + } + .win-toggleswitch-off .win-toggleswitch-track { + border-color: HighlightText; + } + .win-toggleswitch-pressed .win-toggleswitch-thumb { + background-color: HighlightText; + } + .win-toggleswitch-pressed .win-toggleswitch-track { + border-color: Highlight; + background-color: Highlight; + } + .win-toggleswitch-disabled .win-toggleswitch-header, + .win-toggleswitch-disabled .win-toggleswitch-value { + color: GrayText; + } + .win-toggleswitch-disabled .win-toggleswitch-thumb { + background-color: GrayText; + } + .win-toggleswitch-disabled .win-toggleswitch-track { + border-color: GrayText; + } + .win-toggleswitch-on .win-toggleswitch-thumb { + background-color: HighlightText; + } + .win-toggleswitch-on .win-toggleswitch-track { + border-color: HighlightText; + } + .win-toggleswitch-on.win-toggleswitch-pressed .win-toggleswitch-track { + background-color: Highlight; + } + .win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-thumb { + background-color: Background; + } + .win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-track { + background-color: GrayText; + } + /* Override Accent Color styles */ + .win-toggleswitch-on.win-toggleswitch-enabled:not(.win-toggleswitch-pressed) .win-toggleswitch-track { + background-color: Highlight; + } + .win-toggleswitch-on.win-toggleswitch-disabled .win-toggleswitch-track { + border-color: GrayText; + } + .win-toggleswitch-enabled .win-toggleswitch-clickregion:hover .win-toggleswitch-track { + border-color: Highlight; + } + .win-toggleswitch-off.win-toggleswitch-enabled:not(.win-toggleswitch-pressed) .win-toggleswitch-clickregion:hover .win-toggleswitch-thumb { + background-color: Highlight; + } + .win-pivot .win-pivot-title { + color: WindowText; + } + .win-pivot .win-pivot-navbutton { + background-color: Highlight; + color: HighlightText; + } + .win-pivot .win-pivot-navbutton.win-pivot-navbutton:hover:active { + color: HighlightText; + } + .win-pivot button.win-pivot-header { + color: HighlightText; + background-color: transparent; + } + .win-pivot button.win-pivot-header:focus, + .win-pivot button.win-pivot-header.win-pivot-header:hover:active { + color: HighlightText; + } + .win-pivot button.win-pivot-header.win-pivot-header-selected { + color: HighlightText; + background-color: Highlight; + } + .win-pivot-header[disabled] { + color: GrayText; + } .win-overlay { outline: none; } @@ -7049,27 +7632,27 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { } button.win-command.win-command:enabled:hover:active, button.win-command.win-command:enabled:active { - background-color: ButtonText; - color: ButtonFace; + background-color: Highlight; + color: ButtonText; } button:enabled:hover:active .win-commandimage, button:enabled:active .win-commandimage { - color: ButtonFace; + color: ButtonText; } button:disabled .win-commandimage, button:disabled:active .win-commandimage { color: GrayText; } button .win-label { - color: #ffffff; + color: ButtonText; } button[aria-checked=true]:enabled .win-label, button[aria-checked=true]:enabled .win-commandimage, button[aria-checked=true]:enabled:hover:active .win-commandimage.win-commandimage { - color: ButtonFace; + color: ButtonText; } button[aria-checked=true]:-ms-keyboard-active .win-commandimage { - color: ButtonFace; + color: ButtonText; } button[aria-checked=true].win-command:before { position: absolute; @@ -7086,7 +7669,7 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { left: -1px; } button.win-command:enabled:-ms-keyboard-active { - background-color: ButtonText; + background-color: Highlight; color: ButtonText; } button[aria-checked=true].win-command:enabled:hover:active { @@ -7148,7 +7731,7 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { .win-navbar.win-navbar-opening button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active, .win-navbar.win-navbar-opened button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active, .win-navbar.win-navbar-opened button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active { - background-color: ButtonText; + background-color: Highlight; } .win-navbar.win-navbar-closing button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active .win-navbar-ellipsis, .win-navbar.win-navbar-closing button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active .win-navbar-ellipsis, @@ -7158,7 +7741,7 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { .win-navbar.win-navbar-opening button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active .win-navbar-ellipsis, .win-navbar.win-navbar-opened button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active .win-navbar-ellipsis, .win-navbar.win-navbar-opened button.win-navbar-invokebutton.win-navbar-invokebutton:enabled:hover:active .win-navbar-ellipsis { - color: ButtonFace; + color: ButtonText; } .win-flyout, .win-flyout { @@ -7174,8 +7757,8 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { } .win-menu button.win-command.win-command:enabled:hover:active, .win-menu button[aria-checked=true].win-command.win-command:enabled:hover:active { - background-color: ButtonText; - color: ButtonFace; + background-color: Highlight; + color: ButtonText; } .win-menu-containsflyoutcommand button.win-command-flyout-activated:before, .win-menu-containsflyoutcommand button.win-command-flyout-activated:before { @@ -7204,6 +7787,10 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { background-color: transparent; color: GrayText; } + button[aria-checked=true].win-command:before { + border-color: Highlight; + background-color: Highlight; + } .win-commandingsurface .win-commandingsurface-actionarea, .win-commandingsurface .win-commandingsurface-actionarea { background-color: ButtonFace; @@ -7235,8 +7822,67 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { } .win-commandingsurface .win-commandingsurface-overflowarea button:enabled.win-command:hover:active, .win-commandingsurface .win-commandingsurface-overflowarea button:enabled.win-command:hover:active { - color: ButtonFace; - background-color: ButtonText; + color: ButtonText; + background-color: Highlight; + } + .win-commandingsurface.win-commandingsurface-opened .win-commandingsurface-insetoutline { + display: block; + /* The element is only used to draw a border inside of the edges of its parent element without displacing content. */ + border: solid 1px ButtonText; + pointer-events: none; + background-color: transparent; + z-index: 1; + position: absolute; + top: 0px; + left: 0px; + height: calc(100% - 2px); + width: calc(100% - 2px); + } + .win-commandingsurface.win-commandingsurface-closed .win-commandingsurface-insetoutline, + .win-commandingsurface.win-commandingsurface-closing .win-commandingsurface-insetoutline, + .win-commandingsurface.win-commandingsurface-opening .win-commandingsurface-insetoutline { + display: none; + } + .win-contentdialog-dialog { + background-color: Window; + } + .win-contentdialog-title { + color: WindowText; + } + .win-contentdialog-content { + color: WindowText; + } + .win-contentdialog-backgroundoverlay { + background-color: Window; + opacity: 0.6; + } + .win-splitview-pane { + background-color: ButtonFace; + } + .win-splitview.win-splitview-pane-opened .win-splitview-paneoutline { + display: block; + border-color: ButtonText; + } + .win-splitview.win-splitview-animating .win-splitview-paneoutline { + display: none; + } + button.win-splitviewpanetoggle { + color: ButtonText; + background-color: transparent; + } + button.win-splitviewpanetoggle:active, + button.win-splitviewpanetoggle.win-splitviewpanetoggle:active:hover { + color: ButtonText; + background-color: Highlight; + } + button.win-splitviewpanetoggle.win-keyboard:focus { + border: 1px dotted ButtonText; + } + button.win-splitviewpanetoggle:disabled, + button.win-splitviewpanetoggle:disabled:active, + button.win-splitviewpanetoggle.win-splitviewpanetoggle:disabled:hover { + color: GrayText; + background-color: transparent; } html.win-hoverable { /* LegacyAppBar control colors */ @@ -7301,4 +7947,8 @@ html.win-hoverable .win-ui-light button.win-splitviewpanetoggle:hover { html.win-hoverable .win-commandingsurface button.win-commandingsurface-overflowbutton:hover .win-commandingsurface-ellipsis { color: HighlightText; } + html.win-hoverable button.win-splitviewpanetoggle:hover { + color: ButtonText; + background-color: Highlight; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
