diff --git a/package-lock.json b/package-lock.json index 266e4d6af5..50a544794d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,37 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", - "dev": true, - "requires": { - "any-observable": "^0.3.0" - } - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", - "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", - "dev": true - }, "@webassemblyjs/ast": { "version": "1.7.11", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", @@ -252,7 +221,7 @@ }, "acorn-jsx": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { @@ -261,7 +230,7 @@ "dependencies": { "acorn": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } @@ -291,7 +260,7 @@ "dependencies": { "semver": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", "dev": true } @@ -333,7 +302,7 @@ }, "ansi-colors": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, "requires": { @@ -351,7 +320,7 @@ }, "ansi-escapes": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", "dev": true }, @@ -397,12 +366,6 @@ "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", "dev": true }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -560,12 +523,6 @@ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -608,7 +565,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -635,15 +592,9 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, - "ast-types": { - "version": "0.11.5", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.5.tgz", - "integrity": "sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==", - "dev": true - }, "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, @@ -777,17 +728,6 @@ "trim-right": "^1.0.1" } }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", @@ -845,18 +785,6 @@ "babel-types": "^6.24.1" } }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "dev": true, - "requires": { - "babel-helper-bindify-decorators": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", @@ -979,67 +907,37 @@ }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", - "dev": true - }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", "dev": true }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", "dev": true }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", - "dev": true - }, "babel-plugin-syntax-flow": { "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", "dev": true }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", "dev": true }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, @@ -1049,17 +947,6 @@ "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", "dev": true }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-generators": "^6.5.0", - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", @@ -1071,17 +958,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-class-constructor-call": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", - "dev": true, - "requires": { - "babel-plugin-syntax-class-constructor-call": "^6.18.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-plugin-transform-class-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", @@ -1094,19 +970,6 @@ "babel-template": "^6.24.1" } }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, - "requires": { - "babel-helper-explode-class": "^6.24.1", - "babel-plugin-syntax-decorators": "^6.13.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-types": "^6.24.1" - } - }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -1352,16 +1215,6 @@ "babel-runtime": "^6.22.0" } }, - "babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "dev": true, - "requires": { - "babel-plugin-syntax-export-extensions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", @@ -1479,38 +1332,6 @@ "semver": "^5.3.0" } }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, "babel-preset-flow": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", @@ -1534,42 +1355,6 @@ "babel-preset-flow": "^6.23.0" } }, - "babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", - "dev": true, - "requires": { - "babel-plugin-transform-class-constructor-call": "^6.24.1", - "babel-plugin-transform-export-extensions": "^6.22.0", - "babel-preset-stage-2": "^6.24.1" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-decorators": "^6.24.1", - "babel-preset-stage-3": "^6.24.1" - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-generator-functions": "^6.24.1", - "babel-plugin-transform-async-to-generator": "^6.24.1", - "babel-plugin-transform-exponentiation-operator": "^6.24.1", - "babel-plugin-transform-object-rest-spread": "^6.22.0" - } - }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -1775,9 +1560,9 @@ } }, "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "binary-extensions": { @@ -1786,12 +1571,6 @@ "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", "dev": true }, - "binaryextensions": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", - "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==", - "dev": true - }, "bindings": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", @@ -1800,7 +1579,7 @@ }, "bl": { "version": "1.2.2", - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", "dev": true, "requires": { @@ -1808,12 +1587,6 @@ "safe-buffer": "^5.1.1" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, "block-stream": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", @@ -1825,7 +1598,7 @@ }, "bluebird": { "version": "3.4.1", - "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-3.4.1.tgz", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.1.tgz", "integrity": "sha1-tzHd9I4t077awudeEhWhG8uR+gc=", "dev": true }, @@ -1936,7 +1709,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -1973,7 +1746,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -2106,7 +1879,7 @@ }, "cacache": { "version": "10.0.4", - "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { @@ -2166,72 +1939,6 @@ "unset-value": "^1.0.0" } }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", - "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", - "dev": true, - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "resolved": "http://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -2249,7 +1956,7 @@ }, "callsites": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, @@ -2261,7 +1968,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -2294,15 +2001,15 @@ } }, "caniuse-db": { - "version": "1.0.30000923", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000923.tgz", - "integrity": "sha512-PlFnZSgXcf/Z1kuNhTRq9vV4FnzizSDHpcgs5b/EY9sN60F3aBpkJwvEsHNeACHZi56/L8Cm3VsONdY1bOus/g==", + "version": "1.0.30000927", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000927.tgz", + "integrity": "sha512-CX/QvLA8oh7kQ9cHCCzFm0UZW4KwSyQSRJ5A1XtH42HaMJQ0yh+9fEVWagMqv9I1vSCtaqA5Mb8k0uKfv7jhDw==", "dev": true }, "caniuse-lite": { - "version": "1.0.30000923", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000923.tgz", - "integrity": "sha512-j5ur7eeluOFjjPUkydtXP4KFAsmH3XaQNch5tvWSO+dLHYt5PE+VgJZLWtbVOodfWij6m6zas28T4gB/cLYq1w==", + "version": "1.0.30000927", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000927.tgz", + "integrity": "sha512-ogq4NbUWf1uG/j66k0AmiO3GjqJAlQyF8n4w8a954cbCyFKmYGvRtgz6qkq2fWuduTXHibX7GyYL5Pg58Aks2g==", "dev": true }, "caseless": { @@ -2313,7 +2020,7 @@ }, "chai": { "version": "3.5.0", - "resolved": "http://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", "dev": true, "requires": { @@ -2324,7 +2031,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -2335,12 +2042,6 @@ "supports-color": "^2.0.0" } }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, "chokidar": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", @@ -2457,6 +2158,11 @@ } } }, + "clay-css": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/clay-css/-/clay-css-2.5.1.tgz", + "integrity": "sha512-J9EEbLe7X9BA1mS4DZXqKM/J6ukt5Gw++67KTMuwooSUc2TH3tLkadueBibNhxTGSkAHWQwPk4VU3BtONC89fQ==" + }, "cli-cursor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", @@ -2466,25 +2172,6 @@ "restore-cursor": "^1.0.1" } }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, - "requires": { - "colors": "1.0.3" - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", @@ -2514,15 +2201,6 @@ "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", "dev": true }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, "clone-stats": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", @@ -2573,7 +2251,7 @@ }, "color": { "version": "0.11.4", - "resolved": "http://registry.npmjs.org/color/-/color-0.11.4.tgz", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { @@ -2599,7 +2277,7 @@ }, "color-string": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { @@ -2625,7 +2303,7 @@ }, "colors": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, @@ -2649,7 +2327,7 @@ }, "commander": { "version": "2.9.0", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "dev": true, "requires": { @@ -2776,9 +2454,9 @@ } }, "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, "console-browserify": { @@ -2813,7 +2491,7 @@ }, "content-disposition": { "version": "0.5.2", - "resolved": "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", "dev": true }, @@ -2866,7 +2544,7 @@ }, "core-js": { "version": "1.2.7", - "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, "core-util-is": { @@ -2906,7 +2584,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -2919,7 +2597,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -2984,13 +2662,13 @@ }, "css-color-names": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, "cssnano": { "version": "3.10.0", - "resolved": "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, "requires": { @@ -3067,19 +2745,13 @@ }, "d": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { "es5-ext": "^0.10.9" } }, - "dargs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz", - "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", - "dev": true - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -3089,12 +2761,6 @@ "assert-plus": "^1.0.0" } }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, "date-format": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz", @@ -3134,18 +2800,9 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, "deep-eql": { "version": "0.1.3", - "resolved": "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", "dev": true, "requires": { @@ -3166,12 +2823,6 @@ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -3337,12 +2988,6 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detect-conflict": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", - "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", - "dev": true - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -3378,7 +3023,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -3388,9 +3033,9 @@ } }, "dir-compare": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-1.5.0.tgz", - "integrity": "sha512-qHxLOW/LUW8yutUY6VaNpPa1ubDYLzgCE0YaONYCJDD9jUvs7UTB/3N95xgZMZDoa91Dl+JV4Uu8i7wSBHsf+w==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-1.5.4.tgz", + "integrity": "sha512-eL+unDP8DUh7qU6EF1LXm/535ZMl2/9LuhKcbMTdCujGNZWlACXOGmI1J10HE9ch/V5+/TajTz+xJC87QW2Tjg==", "dev": true, "requires": { "bluebird": "3.4.1", @@ -3411,27 +3056,6 @@ } } }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - } - } - }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", @@ -3459,7 +3083,7 @@ }, "doctrine": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { @@ -3487,7 +3111,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -3508,7 +3132,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -3520,18 +3144,12 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, "duplexify": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", @@ -3565,38 +3183,16 @@ "safer-buffer": "^2.1.0" } }, - "editions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/editions/-/editions-2.1.0.tgz", - "integrity": "sha512-yKrimWcvOXcYXtqsOeebbMLynm9qbYVd0005wveGU2biPxJaJoxA0jtaZrxiMe3mAanLr5lxoYFVz5zjv9JdnA==", - "dev": true, - "requires": { - "errlop": "^1.0.3", - "semver": "^5.6.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", - "dev": true - }, "electron-to-chromium": { - "version": "1.3.96", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.96.tgz", - "integrity": "sha512-ZUXBUyGLeoJxp4Nt6G/GjBRLnyz8IKQGexZ2ndWaoegThgMGFO1tdDYID5gBV32/1S83osjJHyfzvanE/8HY4Q==", - "dev": true - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "version": "1.3.100", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.100.tgz", + "integrity": "sha512-cEUzis2g/RatrVf8x26L8lK5VEls1AGnLHk6msluBUg/NTB4wcXzExTsGscFq+Vs4WBBU2zbLLySvD4C0C3hwg==", "dev": true }, "elliptic": { @@ -3654,74 +3250,6 @@ } } }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, "enhanced-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", @@ -3739,29 +3267,6 @@ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "envinfo": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-5.12.1.tgz", - "integrity": "sha512-pwdo0/G3CIkQ0y6PCXq4RdkvId2elvtPCJMG0konqlrfkWQbf1DWeH9K2b/cvu2YgGvPPTOnonZxXM1gikFu1w==", - "dev": true - }, - "errlop": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/errlop/-/errlop-1.0.3.tgz", - "integrity": "sha512-5VTnt0yikY4LlQEfCXVSqfE6oLj1HVM4zVSvAKMnoYjL/zrb6nqiLowZS4XlG7xENfyj7lpYWvT+wfSCr6dtlA==", - "dev": true, - "requires": { - "editions": "^1.3.4" - }, - "dependencies": { - "editions": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", - "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==", - "dev": true - } - } - }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -3771,16 +3276,6 @@ "prr": "~1.0.1" } }, - "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", - "dev": true, - "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3834,7 +3329,7 @@ }, "es6-promisify": { "version": "5.0.0", - "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -3915,7 +3410,7 @@ }, "source-map": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", "dev": true, "optional": true, @@ -3939,7 +3434,7 @@ }, "eslint": { "version": "3.1.1", - "resolved": "http://registry.npmjs.org/eslint/-/eslint-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.1.1.tgz", "integrity": "sha1-t2GC61v9Vp40EQxMEjQ6KG6kpQs=", "dev": true, "requires": { @@ -3990,7 +3485,7 @@ }, "espree": { "version": "3.5.4", - "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { @@ -4043,7 +3538,7 @@ }, "event-stream": { "version": "3.3.1", - "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.1.tgz", "integrity": "sha1-uM9sABGRgeaI8zU2Pap5Fc6JC9s=", "dev": true, "requires": { @@ -4064,7 +3559,7 @@ }, "events": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", "dev": true }, @@ -4088,13 +3583,13 @@ } }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -4103,24 +3598,44 @@ }, "dependencies": { "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "lru-cache": "^4.0.1", + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" } }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "once": "^1.4.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } @@ -4222,57 +3737,6 @@ } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -4332,13 +3796,13 @@ }, "array-flatten": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, "finalhandler": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -4386,28 +3850,6 @@ } } }, - "external-editor": { - "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - }, - "dependencies": { - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -4497,52 +3939,6 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "fast-glob": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.4.tgz", - "integrity": "sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -4604,12 +4000,6 @@ "object-assign": "^4.0.1" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -4743,12 +4133,6 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, - "flow-parser": { - "version": "0.89.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.89.0.tgz", - "integrity": "sha512-vC8YuwhAPE+tbkz49DA/TjtFyfhcqM48occMdRQiZ/HL+Wg97IcuebMZUGVB4oBq7aHw0iJJtnvmlnmOQF7Ydg==", - "dev": true - }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", @@ -4760,9 +4144,9 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", + "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", "dev": true, "requires": { "debug": "=3.1.0" @@ -4865,7 +4249,7 @@ }, "fs-access": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { @@ -5506,7 +4890,7 @@ }, "get-stream": { "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, @@ -5525,73 +4909,6 @@ "assert-plus": "^1.0.0" } }, - "gh-got": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", - "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", - "dev": true, - "requires": { - "got": "^7.0.0", - "is-plain-obj": "^1.1.0" - }, - "dependencies": { - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, - "github-username": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", - "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", - "dev": true, - "requires": { - "gh-got": "^6.0.0" - } - }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -5618,13 +4935,13 @@ "dependencies": { "minimist": { "version": "0.1.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=", "dev": true }, "yargs": { "version": "1.2.6", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", "dev": true, "requires": { @@ -5633,59 +4950,6 @@ } } }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "glob-stream": { "version": "3.1.18", "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", @@ -5729,7 +4993,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -5741,13 +5005,13 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, "through2": { "version": "0.6.5", - "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { @@ -5757,15 +5021,9 @@ } } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, "glob-watcher": { "version": "0.0.6", - "resolved": "http://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", "dev": true, "requires": { @@ -5792,6 +5050,12 @@ "resolve-dir": "^1.0.0" } }, + "global-modules-path": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", + "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", + "dev": true + }, "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", @@ -5813,7 +5077,7 @@ }, "globby": { "version": "6.1.0", - "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { @@ -5826,7 +5090,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -5856,7 +5120,7 @@ }, "graceful-fs": { "version": "1.2.3", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", "dev": true }, @@ -5868,7 +5132,7 @@ }, "lodash": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", "dev": true }, @@ -5893,31 +5157,6 @@ "sparkles": "^1.0.0" } }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", - "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - } - }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -5930,15 +5169,6 @@ "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", "dev": true }, - "grouped-queue": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", - "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", - "dev": true, - "requires": { - "lodash": "^4.17.2" - } - }, "growl": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", @@ -5947,7 +5177,7 @@ }, "gulp": { "version": "3.9.1", - "resolved": "http://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", "dev": true, "requires": { @@ -5968,13 +5198,13 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "semver": { "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", "dev": true } @@ -6037,7 +5267,7 @@ "dependencies": { "map-stream": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.4.tgz", "integrity": "sha1-XsbekCE+9sey65Nn6a3o2k79tos=", "dev": true } @@ -6073,7 +5303,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -6085,13 +5315,13 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, "through2": { "version": "0.6.5", - "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { @@ -6128,7 +5358,7 @@ }, "multipipe": { "version": "2.0.3", - "resolved": "http://registry.npmjs.org/multipipe/-/multipipe-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-2.0.3.tgz", "integrity": "sha512-OtUaPHj/mrk2dh+34+uw7RGGg7rhOcV7UVjhyHM3zk/yvUq7580G5XNEw9elzjR2N92GmB+YxgS/b0+xo8zHPQ==", "dev": true, "requires": { @@ -6176,9 +5406,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -6333,7 +5563,7 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true }, @@ -6416,7 +5646,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -6438,9 +5668,9 @@ } }, "handle-thing": { - "version": "1.2.5", - "resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", "dev": true }, "handlebars": { @@ -6537,12 +5767,6 @@ } } }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", - "dev": true - }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", @@ -6564,27 +5788,12 @@ "sparkles": "^1.0.0" } }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -6716,12 +5925,6 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -6730,7 +5933,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -6759,7 +5962,7 @@ }, "http-proxy-middleware": { "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { @@ -6831,13 +6034,13 @@ "dependencies": { "colors": { "version": "0.6.2", - "resolved": "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", "dev": true }, "commander": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/commander/-/commander-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", "integrity": "sha1-/VcTv6FTx9bMWZN4patMRcU1Ap4=", "dev": true, "requires": { @@ -6846,7 +6049,7 @@ }, "debug": { "version": "0.7.4", - "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", "dev": true }, @@ -6877,50 +6080,104 @@ "dev": true }, "import-local": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, - "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, @@ -6943,7 +6200,7 @@ }, "inquirer": { "version": "0.12.0", - "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", "dev": true, "requires": { @@ -6973,21 +6230,11 @@ } }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, - "into-stream": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "dev": true, - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -7039,7 +6286,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { @@ -7080,7 +6327,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { @@ -7089,7 +6336,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { @@ -7126,21 +6373,6 @@ } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -7219,29 +6451,6 @@ } } }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "^1.1.0" - }, - "dependencies": { - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - } - } - }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -7281,24 +6490,6 @@ "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", @@ -7320,21 +6511,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-scoped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", - "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", - "dev": true, - "requires": { - "scoped-regex": "^1.0.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -7473,7 +6649,7 @@ }, "resolve": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, @@ -7488,27 +6664,6 @@ } } }, - "istextorbinary": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.3.0.tgz", - "integrity": "sha512-xs+IFjzw1/5n45nMYUh2ipLWGarmE0bDVR85WAiYUXzawc8NYn1WW0qaq2rSEFIR3NoNkaAvOr3FVMojFz5uUg==", - "dev": true, - "requires": { - "binaryextensions": "^2.1.2", - "editions": "^2.0.2", - "textextensions": "^2.4.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, "js-base64": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.0.tgz", @@ -7521,9 +6676,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -7536,144 +6691,12 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "jscodeshift": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.5.1.tgz", - "integrity": "sha512-sRMollbhbmSDrR79JMAnhEjyZJlQQVozeeY9A6/KNuV26DNcuB3mGSCWXp0hks9dcwRNOELbNOiwraZaXXRk5Q==", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^7.0.0-beta.47", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "neo-async": "^2.5.0", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.15.0", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "babylon": { - "version": "7.0.0-beta.47", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.47.tgz", - "integrity": "sha512-+rq2cr4GDhtToEzKFD6KZZMDBXhjFAr9JjPw9pAppZACeEWqNM294j+NdBzkSHYXwzzBmVjZ3nEVJlOhbR2gOQ==", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - } - } - }, "jsesc": { "version": "1.3.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -7715,7 +6738,7 @@ }, "json5": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, @@ -7779,6 +6802,18 @@ "useragent": "2.3.0" }, "dependencies": { + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", + "dev": true + }, + "circular-json": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", + "dev": true + }, "colors": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", @@ -7791,42 +6826,277 @@ "integrity": "sha512-NdBPF/RVwPW6jr0NCILuyN9RiqLo2b1mddWHkUL+VnvcB7dzlnBJ1bXYntjpTGOgkZiiLWj2JxmOr7eGE3qK6g==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "karma-babel-preprocessor": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz", - "integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=", - "dev": true, - "requires": { - "babel-core": "^6.0.0" - } - }, - "karma-chai": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz", - "integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=", - "dev": true - }, - "karma-chrome-launcher": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz", - "integrity": "sha1-wnkMWjKxVXfQ//Wk1aJwOztDnCU=", - "dev": true, - "requires": { - "fs-access": "^1.0.0", - "which": "^1.2.1" - } - }, - "karma-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "dev": true, + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "log4js": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", + "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", + "dev": true, + "requires": { + "circular-json": "^0.5.5", + "date-format": "^1.2.0", + "debug": "^3.1.0", + "rfdc": "^1.1.2", + "streamroller": "0.7.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "dev": true, + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-adapter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", + "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", + "dev": true + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "karma-babel-preprocessor": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz", + "integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=", + "dev": true, + "requires": { + "babel-core": "^6.0.0" + } + }, + "karma-chai": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz", + "integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=", + "dev": true + }, + "karma-chrome-launcher": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz", + "integrity": "sha1-wnkMWjKxVXfQ//Wk1aJwOztDnCU=", + "dev": true, + "requires": { + "fs-access": "^1.0.0", + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz", "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=", "dev": true, "requires": { @@ -7849,7 +7119,7 @@ }, "lodash": { "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", "dev": true } @@ -7911,7 +7181,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -7925,7 +7195,7 @@ }, "karma-sauce-launcher": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.1.0.tgz", "integrity": "sha1-PQg89WWdZzarl7zuXYrNhq1SIhI=", "dev": true, "requires": { @@ -7972,15 +7242,6 @@ "integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo=", "dev": true }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", - "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -8037,168 +7298,15 @@ "resolve": "^1.1.7" } }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dev": true, - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==", - "dev": true - }, - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", + "lightercollective": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lightercollective/-/lightercollective-0.1.0.tgz", + "integrity": "sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ==", "dev": true }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -8211,7 +7319,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -8233,14 +7341,31 @@ "dev": true }, "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", "dev": true, "requires": { - "big.js": "^3.1.3", + "big.js": "^5.2.2", "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "locate-path": { @@ -8472,9 +7597,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -8499,130 +7624,6 @@ } } }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - } - } - } - }, - "log4js": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", - "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", - "dev": true, - "requires": { - "circular-json": "^0.5.5", - "date-format": "^1.2.0", - "debug": "^3.1.0", - "rfdc": "^1.1.2", - "streamroller": "0.7.0" - }, - "dependencies": { - "circular-json": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", - "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, "loglevel": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", @@ -8641,7 +7642,7 @@ }, "lolex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/lolex/-/lolex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.1.0.tgz", "integrity": "sha1-Xbu8hQOV51I8dLNYb3+9JibSWxs=", "dev": true }, @@ -8663,15 +7664,9 @@ "signal-exit": "^3.0.0" } }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, "lru-cache": { "version": "2.7.3", - "resolved": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", "dev": true }, @@ -8716,7 +7711,7 @@ }, "map-stream": { "version": "0.1.0", - "resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", "dev": true }, @@ -8735,12 +7730,6 @@ "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", "dev": true }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -8754,108 +7743,19 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mem-fs": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", - "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", - "dev": true, - "requires": { - "through2": "^2.0.0", - "vinyl": "^1.1.0", - "vinyl-file": "^2.0.0" - }, - "dependencies": { - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "mem-fs-editor": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.3.tgz", - "integrity": "sha512-tgWmwI/+6vwu6POan82dTjxEpwAoaj0NAFnghtVo/FcLK2/7IhPUtFUUYlwou4MOY6OtjTUJtwpfH1h+eSUziw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "dev": true, "requires": { - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^2.5.9", - "glob": "^7.0.3", - "globby": "^7.1.1", - "isbinaryfile": "^3.0.2", - "mkdirp": "^0.5.0", - "multimatch": "^2.0.0", - "rimraf": "^2.2.8", - "through2": "^2.0.0", - "vinyl": "^2.0.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" } }, "memory-fs": { @@ -8870,7 +7770,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -8888,7 +7788,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -8900,12 +7800,6 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, - "merge2": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", - "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", - "dev": true - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -8976,12 +7870,6 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -9005,7 +7893,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, @@ -9061,7 +7949,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -9070,7 +7958,7 @@ }, "mocha": { "version": "3.2.0", - "resolved": "http://registry.npmjs.org/mocha/-/mocha-3.2.0.tgz", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.2.0.tgz", "integrity": "sha1-fcT0XlCIB1FxpoiWgU5q6et6heM=", "dev": true, "requires": { @@ -9089,7 +7977,7 @@ "dependencies": { "debug": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", "dev": true, "requires": { @@ -9112,7 +8000,7 @@ }, "ms": { "version": "0.7.1", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", "dev": true }, @@ -9129,7 +8017,7 @@ }, "moment": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/moment/-/moment-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.0.0.tgz", "integrity": "sha1-K7xbRMMhg3aTq278rb1G7ZRiEf4=", "dev": true }, @@ -9169,21 +8057,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, - "multimatch": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, "multipipe": { "version": "0.1.2", - "resolved": "http://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", "dev": true, "requires": { @@ -9250,7 +8126,7 @@ }, "next-tick": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, @@ -9260,12 +8136,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node-dir": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.8.tgz", - "integrity": "sha1-VfuN62mQcHB/tn+RpGDwRIKUx30=", - "dev": true - }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -9303,7 +8173,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true } @@ -9342,7 +8212,7 @@ "dependencies": { "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -9417,47 +8287,6 @@ } } }, - "nomnom": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz", - "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=", - "dev": true, - "requires": { - "chalk": "~0.4.0", - "underscore": "~1.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", - "dev": true - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "dev": true, - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", - "dev": true - }, - "underscore": { - "version": "1.6.0", - "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", - "dev": true - } - } - }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -9648,27 +8477,6 @@ "make-iterator": "^1.0.0" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - }, - "dependencies": { - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - } - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -9710,7 +8518,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -9803,13 +8611,13 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -9818,7 +8626,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -9832,27 +8640,12 @@ "os-tmpdir": "^1.0.0" } }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "http://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", - "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", - "dev": true - }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -9861,16 +8654,10 @@ }, "p-is-promise": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", "dev": true }, - "p-lazy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-lazy/-/p-lazy-1.0.0.tgz", - "integrity": "sha1-7FPIAvLuOsKPFmzILQsrAt4nqDU=", - "dev": true - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -9895,21 +8682,6 @@ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", - "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -9935,7 +8707,7 @@ }, "parse-asn1": { "version": "5.1.1", - "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { @@ -9957,35 +8729,6 @@ "path-root": "^0.1.1" } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -10039,7 +8782,7 @@ }, "path-browserify": { "version": "0.0.0", - "resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, @@ -10057,7 +8800,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -10113,7 +8856,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -10121,7 +8864,7 @@ }, "pause-stream": { "version": "0.0.11", - "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { @@ -10199,7 +8942,7 @@ }, "ms": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", "dev": true } @@ -10265,7 +9008,7 @@ }, "postcss-calc": { "version": "5.3.1", - "resolved": "http://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { @@ -10297,7 +9040,7 @@ }, "postcss-discard-comments": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { @@ -10315,7 +9058,7 @@ }, "postcss-discard-empty": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { @@ -10324,7 +9067,7 @@ }, "postcss-discard-overridden": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { @@ -10333,7 +9076,7 @@ }, "postcss-discard-unused": { "version": "2.2.3", - "resolved": "http://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { @@ -10352,7 +9095,7 @@ }, "postcss-merge-idents": { "version": "2.1.7", - "resolved": "http://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { @@ -10403,7 +9146,7 @@ }, "postcss-minify-font-values": { "version": "1.0.5", - "resolved": "http://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { @@ -10414,7 +9157,7 @@ }, "postcss-minify-gradients": { "version": "1.0.5", - "resolved": "http://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { @@ -10424,7 +9167,7 @@ }, "postcss-minify-params": { "version": "1.2.2", - "resolved": "http://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { @@ -10436,7 +9179,7 @@ }, "postcss-minify-selectors": { "version": "2.1.1", - "resolved": "http://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "dev": true, "requires": { @@ -10448,7 +9191,7 @@ }, "postcss-normalize-charset": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { @@ -10457,7 +9200,7 @@ }, "postcss-normalize-url": { "version": "3.0.8", - "resolved": "http://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "dev": true, "requires": { @@ -10479,7 +9222,7 @@ }, "postcss-reduce-idents": { "version": "2.4.0", - "resolved": "http://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "dev": true, "requires": { @@ -10489,7 +9232,7 @@ }, "postcss-reduce-initial": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "dev": true, "requires": { @@ -10498,7 +9241,7 @@ }, "postcss-reduce-transforms": { "version": "1.0.4", - "resolved": "http://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { @@ -10520,7 +9263,7 @@ }, "postcss-svgo": { "version": "2.1.6", - "resolved": "http://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { @@ -10532,7 +9275,7 @@ }, "postcss-unique-selectors": { "version": "2.0.2", - "resolved": "http://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { @@ -10549,7 +9292,7 @@ }, "postcss-zindex": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { @@ -10570,27 +9313,9 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.3.tgz", - "integrity": "sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==", - "dev": true - }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", - "dev": true - }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", "dev": true }, @@ -10614,7 +9339,7 @@ }, "progress": { "version": "1.1.8", - "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, @@ -10767,25 +9492,6 @@ "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", "dev": true }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", @@ -10856,16 +9562,6 @@ "scheduler": "^0.12.0" } }, - "read-chunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", - "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", - "dev": true, - "requires": { - "pify": "^3.0.0", - "safe-buffer": "^5.1.1" - } - }, "read-files": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/read-files/-/read-files-0.1.0.tgz", @@ -10916,7 +9612,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -10951,26 +9647,6 @@ "mute-stream": "0.0.5" } }, - "recast": { - "version": "0.15.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.15.5.tgz", - "integrity": "sha512-nkAYNqarh73cMWRKFiPQ8I9dOLFvFk6SnG8u/LUlOYfArDOD/EjsVRAs860TlBLrpxqAXHGET/AUAVjdEymL5w==", - "dev": true, - "requires": { - "ast-types": "0.11.5", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -10992,7 +9668,7 @@ }, "reduce-css-calc": { "version": "1.3.0", - "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { @@ -11049,15 +9725,6 @@ "private": "^0.1.6" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -11070,7 +9737,7 @@ }, "regexpu-core": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { @@ -11081,13 +9748,13 @@ }, "regjsgen": { "version": "0.2.0", - "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", "dev": true }, "regjsparser": { "version": "0.1.5", - "resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { @@ -11096,7 +9763,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } @@ -11183,7 +9850,7 @@ }, "require-uncached": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { @@ -11245,15 +9912,6 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, "restore-cursor": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", @@ -11277,12 +9935,12 @@ "dev": true }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "ripemd160": { @@ -11357,7 +10015,7 @@ }, "kind-of": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", "dev": true }, @@ -11382,15 +10040,6 @@ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -11399,7 +10048,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -11413,7 +10062,7 @@ }, "samsam": { "version": "1.1.2", - "resolved": "http://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", "dev": true }, @@ -11473,7 +10122,7 @@ "dependencies": { "async": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/async/-/async-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.4.0.tgz", "integrity": "sha1-Nfhvg8WeBCHQmc2akdgnj7V4wA0=", "dev": true }, @@ -11492,13 +10141,13 @@ }, "lodash": { "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", "dev": true }, "rimraf": { "version": "2.4.3", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz", "integrity": "sha1-5bUclDekxYKtuVXp8oz42UXicq8=", "dev": true, "requires": { @@ -11597,12 +10246,6 @@ } } }, - "scoped-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", - "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", - "dev": true - }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", @@ -11615,7 +10258,7 @@ "dependencies": { "source-map": { "version": "0.4.4", - "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { @@ -11687,9 +10330,9 @@ "dev": true }, "serialize-javascript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", - "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", + "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", "dev": true }, "serve-index": { @@ -11773,7 +10416,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -11798,7 +10441,7 @@ }, "shelljs": { "version": "0.6.1", - "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", "dev": true }, @@ -11816,7 +10459,7 @@ }, "sinon": { "version": "1.15.4", - "resolved": "http://registry.npmjs.org/sinon/-/sinon-1.15.4.tgz", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.15.4.tgz", "integrity": "sha1-AxXxdM5bMXkq6i46Kvxbt4BMemo=", "dev": true, "requires": { @@ -11834,16 +10477,10 @@ }, "slice-ansi": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", "dev": true }, - "slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", - "dev": true - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -11951,98 +10588,6 @@ } } }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, "sockjs": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", @@ -12181,37 +10726,80 @@ "dev": true }, "spdy": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", + "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", "dev": true, "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", + "debug": "^4.1.0", + "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } } }, "spdy-transport": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz", - "integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", + "debug": "^4.1.0", + "detect-node": "^2.0.4", "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "readable-stream": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", + "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "split": { "version": "0.3.3", - "resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { @@ -12229,7 +10817,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -12297,7 +10885,7 @@ }, "stream-browserify": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { @@ -12307,7 +10895,7 @@ }, "stream-combiner": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { @@ -12410,15 +10998,9 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", - "dev": true - }, "string-width": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { @@ -12441,7 +11023,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -12450,7 +11032,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -12463,39 +11045,9 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, - "strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", - "dev": true, - "requires": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -12583,7 +11135,7 @@ "dependencies": { "colors": { "version": "1.1.2", - "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true }, @@ -12611,15 +11163,9 @@ "integrity": "sha1-CDS7Z8iadkcrK9BswQH6e1F7Iiw=", "dev": true }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - }, "table": { "version": "3.8.3", - "resolved": "http://registry.npmjs.org/table/-/table-3.8.3.tgz", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "dev": true, "requires": { @@ -12672,7 +11218,7 @@ }, "tar": { "version": "2.2.1", - "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { @@ -12707,28 +11253,10 @@ } } }, - "temp": { - "version": "0.8.3", - "resolved": "http://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", - "dev": true, - "requires": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" - }, - "dependencies": { - "rimraf": { - "version": "2.2.8", - "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true - } - } - }, "terser": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.13.1.tgz", - "integrity": "sha512-ogyZye4DFqOtMzT92Y3Nxxw8OvXmL39HOALro4fc+EUYFFF9G/kk0znkvwMz6PPYgBtdKAodh3FPR70eugdaQA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.14.1.tgz", + "integrity": "sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw==", "dev": true, "requires": { "commander": "~2.17.1", @@ -12761,9 +11289,9 @@ } }, "terser-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-61lV0DSxMAZ8AyZG7/A4a3UPlrbOBo8NIQ4tJzLPAdGOQ+yoNC7l5ijEow27lBAL2humer01KLS6bGIMYQxKoA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz", + "integrity": "sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw==", "dev": true, "requires": { "cacache": "^11.0.2", @@ -12801,24 +11329,24 @@ "dev": true }, "cacache": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", - "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "figgy-pudding": "^3.1.0", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.3", + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", - "ssri": "^6.0.0", - "unique-filename": "^1.1.0", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" } }, @@ -12862,13 +11390,12 @@ } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, "mississippi": { @@ -12890,9 +11417,9 @@ } }, "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -12963,6 +11490,12 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true } } }, @@ -12972,15 +11505,9 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "textextensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.4.0.tgz", - "integrity": "sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA==", - "dev": true - }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -13015,12 +11542,6 @@ "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", "dev": true }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, "timers-browserify": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", @@ -13191,7 +11712,7 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, @@ -13398,7 +11919,7 @@ }, "unique-stream": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", "dev": true }, @@ -13448,12 +11969,6 @@ } } }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", - "dev": true - }, "upath": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", @@ -13509,29 +12024,6 @@ "requires-port": "^1.0.0" } }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -13630,9 +12122,9 @@ } }, "validator": { - "version": "10.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.9.0.tgz", - "integrity": "sha512-hZJcZSWz9poXBlAkjjcsNAdrZ6JbjD3kWlNjq/+vE7RLLS/+8PAj3qVVwrwsOz/WL8jPmZ1hYkRvtlUeZAm4ug==", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.10.0.tgz", + "integrity": "sha512-DyZyLJlMXM3CGdVaVHE/EDzCagMRoPI3mmGdxxNQbqkGqh56+M3d1i0ZAWd69En8U21DHbPTn12aOdhO+hfm5w==", "dev": true }, "vargs": { @@ -13658,7 +12150,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -13670,7 +12162,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -13710,48 +12202,6 @@ "replace-ext": "0.0.1" } }, - "vinyl-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", - "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^1.1.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, "vinyl-fs": { "version": "0.3.14", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", @@ -13776,7 +12226,7 @@ }, "graceful-fs": { "version": "3.0.11", - "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", "dev": true, "requires": { @@ -13791,7 +12241,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -13803,7 +12253,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, @@ -13819,7 +12269,7 @@ }, "through2": { "version": "0.6.5", - "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { @@ -13850,7 +12300,7 @@ }, "vm-browserify": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "dev": true, "requires": { @@ -13972,7 +12422,7 @@ "dependencies": { "async": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/async/-/async-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz", "integrity": "sha1-twnMAoCpw28J9FNr6CPIOKkEniU=", "dev": true, "requires": { @@ -14039,206 +12489,27 @@ } } }, - "webpack-addons": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/webpack-addons/-/webpack-addons-1.1.5.tgz", - "integrity": "sha512-MGO0nVniCLFAQz1qv22zM02QPjcpAoJdy7ED0i3Zy7SY1IecgXCm460ib7H/Wq7e9oL5VL6S2BxaObxwIcag0g==", - "dev": true, - "requires": { - "jscodeshift": "^0.4.0" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "ast-types": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.10.1.tgz", - "integrity": "sha512-UY7+9DPzlJ9VM8eY0b2TUZcZvF+1pO0hzMtAyjBYKhOmnvRlqYNYnWdtsMj0V16CGaMlpL0G1jnLbLo4AyotuQ==", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, - "core-js": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", - "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "jscodeshift": { - "version": "0.4.1", - "resolved": "http://registry.npmjs.org/jscodeshift/-/jscodeshift-0.4.1.tgz", - "integrity": "sha512-iOX6If+hsw0q99V3n31t4f5VlD1TQZddH08xbT65ZqA7T4Vkx68emrDZMUOLVvCEAJ6NpAk7DECe3fjC/t52AQ==", - "dev": true, - "requires": { - "async": "^1.5.0", - "babel-plugin-transform-flow-strip-types": "^6.8.0", - "babel-preset-es2015": "^6.9.0", - "babel-preset-stage-1": "^6.5.0", - "babel-register": "^6.9.0", - "babylon": "^6.17.3", - "colors": "^1.1.2", - "flow-parser": "^0.*", - "lodash": "^4.13.1", - "micromatch": "^2.3.7", - "node-dir": "0.1.8", - "nomnom": "^1.8.1", - "recast": "^0.12.5", - "temp": "^0.8.1", - "write-file-atomic": "^1.2.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "recast": { - "version": "0.12.9", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.12.9.tgz", - "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", - "dev": true, - "requires": { - "ast-types": "0.10.1", - "core-js": "^2.4.1", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "webpack-cli": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.5.tgz", - "integrity": "sha512-CiWQR+1JS77rmyiO6y1q8Kt/O+e8nUUC9YfJ25JtSmzDwbqJV7vIsh3+QKRHVTbTCa0DaVh8iY1LBiagUIDB3g==", + "webpack-cli": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.1.tgz", + "integrity": "sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA==", "dev": true, "requires": { "chalk": "^2.4.1", "cross-spawn": "^6.0.5", - "diff": "^3.5.0", - "enhanced-resolve": "^4.0.0", - "envinfo": "^5.7.0", - "glob-all": "^3.1.0", + "enhanced-resolve": "^4.1.0", + "findup-sync": "^2.0.0", "global-modules": "^1.0.0", - "got": "^8.3.1", - "import-local": "^1.0.0", - "inquirer": "^5.2.0", + "global-modules-path": "^2.3.0", + "import-local": "^2.0.0", "interpret": "^1.1.0", - "jscodeshift": "^0.5.0", - "listr": "^0.14.1", + "lightercollective": "^0.1.0", "loader-utils": "^1.1.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mkdirp": "^0.5.1", - "p-each-series": "^1.0.0", - "p-lazy": "^1.0.0", - "prettier": "^1.12.1", - "supports-color": "^5.4.0", - "v8-compile-cache": "^2.0.0", - "webpack-addons": "^1.1.5", - "yargs": "^11.1.0", - "yeoman-environment": "^2.1.1", - "yeoman-generator": "^2.0.5" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true - }, + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.4" + }, + "dependencies": { "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -14255,15 +12526,15 @@ } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", "dev": true }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -14271,15 +12542,6 @@ "supports-color": "^5.3.0" } }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -14304,19 +12566,13 @@ "which": "^1.2.9" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "locate-path": "^3.0.0" } }, "has-flag": { @@ -14325,26 +12581,11 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "inquirer": { - "version": "5.2.0", - "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -14352,51 +12593,60 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "p-try": "^2.0.0" } }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "is-promise": "^2.1.0" + "p-limit": "^2.0.0" } }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -14432,39 +12682,40 @@ "dev": true }, "yargs": { - "version": "11.1.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", "string-width": "^2.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" } }, "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } }, "webpack-dev-middleware": { "version": "2.0.6", - "resolved": "http://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz", "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==", "dev": true, "requires": { @@ -14486,9 +12737,9 @@ } }, "webpack-dev-server": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz", - "integrity": "sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==", + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", + "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -14510,12 +12761,14 @@ "portfinder": "^1.0.9", "schema-utils": "^1.0.0", "selfsigned": "^1.9.1", + "semver": "^5.6.0", "serve-index": "^1.7.2", "sockjs": "0.3.19", "sockjs-client": "1.3.0", - "spdy": "^3.4.1", + "spdy": "^4.0.0", "strip-ansi": "^3.0.0", "supports-color": "^5.1.0", + "url": "^0.11.0", "webpack-dev-middleware": "3.4.0", "webpack-log": "^2.0.0", "yargs": "12.0.2" @@ -14641,14 +12894,23 @@ "xregexp": "4.0.0" } }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", @@ -14665,6 +12927,15 @@ "locate-path": "^3.0.0" } }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -14766,20 +13037,20 @@ "dev": true }, "os-locale": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", - "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "^0.10.0", + "execa": "^1.0.0", "lcid": "^2.0.0", "mem": "^4.0.0" } }, "p-limit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", - "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -14809,6 +13080,16 @@ "find-up": "^3.0.0" } }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -14931,9 +13212,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -14959,9 +13240,9 @@ } }, "webpack-merge": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.5.tgz", - "integrity": "sha512-sVcM+MMJv6DO0C0GLLltx8mUlGMKXE0zBsuMqZ9jz2X9gsekALw6Rs0cAfTWc97VuWS6NpVUa78959zANnMMLQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", + "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", "dev": true, "requires": { "lodash": "^4.17.5" @@ -15053,7 +13334,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -15076,31 +13357,9 @@ "mkdirp": "^0.5.1" } }, - "write-file-atomic": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz", - "integrity": "sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "slide": "^1.1.5" - } - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, "xmlbuilder": { "version": "8.2.2", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", "dev": true }, @@ -15142,7 +13401,7 @@ }, "yargs": { "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { @@ -15169,7 +13428,7 @@ }, "yargs-parser": { "version": "4.2.1", - "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { @@ -15201,468 +13460,6 @@ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true }, - "yeoman-environment": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.4.tgz", - "integrity": "sha512-KLxE5ft/74Qj7h3AsQZv8G6MEEHYJwmD5F99nfOVaep3rBzCtbrJKkdqWc7bDV141Nr8UZZsIXmzc3IcCm6E2w==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "diff": "^3.5.0", - "escape-string-regexp": "^1.0.2", - "globby": "^8.0.1", - "grouped-queue": "^0.3.3", - "inquirer": "^6.0.0", - "is-scoped": "^1.0.0", - "lodash": "^4.17.10", - "log-symbols": "^2.2.0", - "mem-fs": "^1.1.0", - "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "untildify": "^3.0.3" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "globby": { - "version": "8.0.1", - "resolved": "http://registry.npmjs.org/globby/-/globby-8.0.1.tgz", - "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "inquirer": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", - "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", - "dev": true, - "requires": { - "ansi-regex": "^4.0.0" - } - } - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - } - } - }, - "yeoman-generator": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", - "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", - "dev": true, - "requires": { - "async": "^2.6.0", - "chalk": "^2.3.0", - "cli-table": "^0.3.1", - "cross-spawn": "^6.0.5", - "dargs": "^5.1.0", - "dateformat": "^3.0.3", - "debug": "^3.1.0", - "detect-conflict": "^1.0.0", - "error": "^7.0.2", - "find-up": "^2.1.0", - "github-username": "^4.0.0", - "istextorbinary": "^2.2.1", - "lodash": "^4.17.10", - "make-dir": "^1.1.0", - "mem-fs-editor": "^4.0.0", - "minimist": "^1.2.0", - "pretty-bytes": "^4.0.2", - "read-chunk": "^2.1.0", - "read-pkg-up": "^3.0.0", - "rimraf": "^2.6.2", - "run-async": "^2.0.0", - "shelljs": "^0.8.0", - "text-table": "^0.2.0", - "through2": "^2.0.0", - "yeoman-environment": "^2.0.5" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "z-schema": { "version": "3.24.2", "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.24.2.tgz", diff --git a/package.json b/package.json index cb5f7f639d..e80d2fcb27 100644 --- a/package.json +++ b/package.json @@ -47,10 +47,10 @@ "sinon": "1.15.4", "uglifyjs-webpack-plugin": "^1.2.4", "walk": "^2.3.9", - "webpack": "^4.6.0", - "webpack-cli": "^2.0.12", - "webpack-dev-server": "^3.1.1", - "webpack-merge": "^4.1.2", + "webpack": "^4.28.1", + "webpack-cli": "^3.2.1", + "webpack-dev-server": "^3.1.14", + "webpack-merge": "^4.2.1", "yargs": "6.6.0" }, "main": "dist/alloy-editor/alloy-editor-no-react.js", @@ -77,6 +77,7 @@ }, "homepage": "http://alloyeditor.com", "dependencies": { + "clay-css": "2.5.1", "create-react-class": "^15.6.3", "prop-types": "^15.6.2", "react": "^16.6.3", diff --git a/scripts/build/gulp/_hash b/scripts/build/gulp/_hash index 7ad91b40d4..9df5c25212 100644 --- a/scripts/build/gulp/_hash +++ b/scripts/build/gulp/_hash @@ -1 +1 @@ -c53f3ac54b9661a152f35743c3075261527c3b82 \ No newline at end of file +cc3dcb64e9a96a8c6ea572d15efbb68a3b70ca02 \ No newline at end of file diff --git a/scripts/build/gulp/tasks/build.js b/scripts/build/gulp/tasks/build.js index 3d8ff9ef28..97390ed427 100644 --- a/scripts/build/gulp/tasks/build.js +++ b/scripts/build/gulp/tasks/build.js @@ -20,7 +20,8 @@ gulp.task('build', function(callback) { [ 'build-css', 'copy-ckeditor', - 'copy-languages' + 'copy-languages', + 'copy-svgs' ], task, callback diff --git a/scripts/build/gulp/tasks/icons.js b/scripts/build/gulp/tasks/icons.js new file mode 100644 index 0000000000..ae2868efe1 --- /dev/null +++ b/scripts/build/gulp/tasks/icons.js @@ -0,0 +1,10 @@ +const Constants = require('../constants'); +const gulp = require('gulp'); +const path = require('path'); + +gulp.task('copy-svgs', function() { + var iconsPath = path.join(Constants.rootDir, 'node_modules', 'clay-css', 'lib', 'images', 'icons', 'icons.svg'); + + return gulp.src(iconsPath) + .pipe(gulp.dest(path.join(Constants.editorDistFolder, 'assets', 'icons'))); +}); \ No newline at end of file diff --git a/src/adapter/core.js b/src/adapter/core.js index d22efcedd7..8433c907eb 100644 --- a/src/adapter/core.js +++ b/src/adapter/core.js @@ -12,6 +12,9 @@ import UI from '../components/main.jsx'; import React from 'react'; import ReactDOM from 'react-dom'; +const EMBED_VIDEO_WIDTH = 560; +const EMBED_VIDEO_HEIGHT = 315; + /** * AlloyEditor main class. Creates instance of the editor and provides the user configuration * to the UI. @@ -51,6 +54,8 @@ extend(Core, Base, { editor.config.extraPlugins = this.get('extraPlugins'); + editor.config.embedProviders = this.get('embedProviders'); + editor.config.placeholderClass = this.get('placeholderClass'); editor.config.pasteFromWordRemoveStyles = false; @@ -58,6 +63,8 @@ extend(Core, Base, { editor.config.selectionKeystrokes = this.get('selectionKeystrokes'); + editor.config.spritemap = this.get('spritemap'); + Lang.mix(editor.config, config); if (CKEDITOR.env.ie && !CKEDITOR.env.edge) { @@ -315,6 +322,65 @@ extend(Core, Base, { writeOnce: true }, + + /** + * List of embed providers for videos + * + * @memberof Core + * @instance + * @property embedProviders + * @default [] + * @type Array} + */ + embedProviders: { + validator: Lang.isArray, + value: [ + { + id: 'facebook', + tpl: ``, + urlSchemes: [ + '(https?:\\/\\/(?:www\\.)?facebook.com\\/\\S*\\/videos\\/\\S*)' + ] + }, + { + id: 'twitch', + tpl: ``, + urlSchemes: [ + 'https?:\\/\\/(?:www\\.)?twitch.tv\\/videos\\/(\\S*)$' + ] + }, + { + id: 'vimeo', + tpl: ``, + urlSchemes: [ + 'https?:\\/\\/(?:www\\.)?vimeo\\.com\\/album\\/.*\\/video\\/(\\S*)', + 'https?:\\/\\/(?:www\\.)?vimeo\\.com\\/channels\\/.*\\/(\\S*)', + 'https?:\\/\\/(?:www\\.)?vimeo\\.com\\/groups\\/.*\\/videos\\/(\\S*)', + 'https?:\\/\\/(?:www\\.)?vimeo\\.com\\/(\\S*)$' + ] + }, + { + id: 'youtube', + tpl: ``, + urlSchemes: [ + 'https?:\\/\\/(?:www\\.)?youtube.com\\/watch\\?v=(\\S*)$' + ] + } + ] + }, + /** * Specifies whether AlloyEditor set the contenteditable attribute * to "true" on its srcNode. @@ -456,6 +522,21 @@ extend(Core, Base, { }] }, + /** + * The path to the spritemap SVG used for icons + * + * @memberof Core + * @instance + * @property spritemap + * @type String + * @writeOnce + */ + spritemap: { + validator: Lang.isString, + value: 'alloy-editor/assets/icons/icons.svg', + writeOnce: true + }, + /** * The Node ID or HTMl node, which AlloyEditor should use as an editable area. * diff --git a/src/assets/lang/en.json b/src/assets/lang/en.json index 4ca67edaa3..dbd8559830 100644 --- a/src/assets/lang/en.json +++ b/src/assets/lang/en.json @@ -1,25 +1,37 @@ { "add": "Add", + "ariaUpdateManyToolbars": "{toolbars} toolbars are available. Press ALT+F10 to focus.", "ariaUpdateNoToolbar": "No toolbars are available", "ariaUpdateOneToolbar": "{toolbars} toolbar is available. Press ALT+F10 to focus.", - "ariaUpdateManyToolbars": "{toolbars} toolbars are available. Press ALT+F10 to focus.", "camera": "Insert Image from Camera", "cameraDisabled": "The browser does not support this action, or it is available on https only (Chrome).", "cite": "Cite", "clearInput": "Clear Input Field", + "clear": "Clear", "code": "Code", "columns": "Cols", "confirm": "Confirm", + "danger": "Danger", "deleteEmbed": "Delete embed", + "disabled": "Disabled", "editLink": "Type or paste link here", + "enterValidUrl": "Please enter a valid url", "image": "Insert Image", + "info": "Info", "link": "Link", "linkTargetBlank": "_blank (new tab)", "linkTargetDefault": "default", "linkTargetParent": "_parent", "linkTargetSelf": "_self (same tab)", "linkTargetTop": "_top", + "normal": "Normal", + "pasteVideoLink": "Paste Video Link", + "platformNotSupported": "Sorry, this platform is not supported", + "primary": "Primary", "removeLink": "Remove link", "rows": "Rows", - "table": "Insert Table" + "success": "Success", + "table": "Insert Table", + "videoPlaybackDisabled": "Video playback is disabled during edit mode", + "warning": "Warning" } diff --git a/src/assets/sass/components/ae-icon/skin.scss b/src/assets/sass/components/ae-icon/skin.scss new file mode 100644 index 0000000000..6663af17b2 --- /dev/null +++ b/src/assets/sass/components/ae-icon/skin.scss @@ -0,0 +1,3 @@ +.ae-svg-icon { + fill: $svg-icon; +} \ No newline at end of file diff --git a/src/assets/sass/components/ae-icon/structure.scss b/src/assets/sass/components/ae-icon/structure.scss new file mode 100644 index 0000000000..e2ac106200 --- /dev/null +++ b/src/assets/sass/components/ae-icon/structure.scss @@ -0,0 +1,8 @@ +.ae-svg-icon { + display: inline-block; + height: $svg-icon-size; + margin-top: $svg-icon-margin-top; + pointer-events: none; + vertical-align: middle; + width: $svg-icon-size; +} \ No newline at end of file diff --git a/src/assets/sass/components/ae-icon/variables/skin.scss b/src/assets/sass/components/ae-icon/variables/skin.scss new file mode 100644 index 0000000000..5eb9ad5c68 --- /dev/null +++ b/src/assets/sass/components/ae-icon/variables/skin.scss @@ -0,0 +1 @@ +$svg-icon: currentColor; \ No newline at end of file diff --git a/src/assets/sass/components/ae-icon/variables/structure.scss b/src/assets/sass/components/ae-icon/variables/structure.scss new file mode 100644 index 0000000000..1ca37e0393 --- /dev/null +++ b/src/assets/sass/components/ae-icon/variables/structure.scss @@ -0,0 +1,2 @@ +$svg-icon-size: 1em; +$svg-icon-margin-top: -3px; \ No newline at end of file diff --git a/src/assets/sass/components/ae-separator/skin.scss b/src/assets/sass/components/ae-separator/skin.scss index e69de29bb2..98ef044e6b 100644 --- a/src/assets/sass/components/ae-separator/skin.scss +++ b/src/assets/sass/components/ae-separator/skin.scss @@ -0,0 +1,3 @@ +.ae-separator::after { + border-right-color: $separator-color; +} \ No newline at end of file diff --git a/src/assets/sass/components/ae-separator/structure.scss b/src/assets/sass/components/ae-separator/structure.scss index 8d93e11977..75c7e57b8c 100644 --- a/src/assets/sass/components/ae-separator/structure.scss +++ b/src/assets/sass/components/ae-separator/structure.scss @@ -1,14 +1,15 @@ .ae-separator { - height: 24px; - margin-right: 10px; + height: $separator-height; + margin-right: $separator-margin-right; position: relative; &::after { - border-right: 1px solid white; + border-right-style: solid; + border-right-width: $separator-line-border-width; content: ''; - height: 12px; + height: $separator-line-height; position: absolute; - top: 50%; - transform: translateY(-50%); + top: $separator-line-top; + transform: $separator-line-translateY; } } \ No newline at end of file diff --git a/src/assets/sass/components/ae-separator/variables/skin.scss b/src/assets/sass/components/ae-separator/variables/skin.scss index e69de29bb2..f3c8cd2bdb 100644 --- a/src/assets/sass/components/ae-separator/variables/skin.scss +++ b/src/assets/sass/components/ae-separator/variables/skin.scss @@ -0,0 +1 @@ +$separator-color: white; \ No newline at end of file diff --git a/src/assets/sass/components/ae-separator/variables/structure.scss b/src/assets/sass/components/ae-separator/variables/structure.scss new file mode 100644 index 0000000000..88d22ccd3a --- /dev/null +++ b/src/assets/sass/components/ae-separator/variables/structure.scss @@ -0,0 +1,6 @@ +$separator-height: 24px; +$separator-margin-right: 10px; +$separator-line-border-width: 1px; +$separator-line-height: 12px; +$separator-line-top: 50%; +$separator-line-translateY: translateY(-50%); \ No newline at end of file diff --git a/src/assets/sass/skin/atlas/variables/structure.scss b/src/assets/sass/skin/atlas/variables/structure.scss index f30ae0909e..e0fcb7c783 100644 --- a/src/assets/sass/skin/atlas/variables/structure.scss +++ b/src/assets/sass/skin/atlas/variables/structure.scss @@ -55,4 +55,7 @@ $dropdown-listbox-item-padding: 8px 12px; /** TOOLBAR **/ $toolbar-add-border-width: 2px; $toolbar-add-height: 44px; -$toolbar-add-width: 44px; \ No newline at end of file +$toolbar-add-width: 44px; + +/** SEPARATOR **/ +$separator-height: 40px; \ No newline at end of file diff --git a/src/assets/sass/skin/default/skin.scss b/src/assets/sass/skin/default/skin.scss index 7074974b86..10e69607c0 100644 --- a/src/assets/sass/skin/default/skin.scss +++ b/src/assets/sass/skin/default/skin.scss @@ -1,15 +1,17 @@ @import "components/ae-editable/skin"; +@import "components/ae-icon/skin"; @import "components/ae-placeholder/skin"; +@import "components/ae-separator/skin"; @import "components/ae-sr-only/skin"; @import "components/ae-twitter-link/skin"; .ae-ui { @import "components/ae-arrow-box/skin"; + @import "components/ae-button-bridge/skin"; @import "components/ae-camera/skin"; - @import "components/ae-container/skin"; @import "components/ae-container-dropdown/skin"; @import "components/ae-container-input/skin"; - @import "components/ae-button-bridge/skin"; + @import "components/ae-container/skin"; @import "components/ae-dropdown/skin"; @import "components/ae-toolbar/skin"; } \ No newline at end of file diff --git a/src/assets/sass/skin/default/structure.scss b/src/assets/sass/skin/default/structure.scss index 5cb3fcae40..65d3b61bb8 100644 --- a/src/assets/sass/skin/default/structure.scss +++ b/src/assets/sass/skin/default/structure.scss @@ -11,6 +11,8 @@ @import "components/ae-placeholder/structure"; @import "components/ae-twitter-link/structure"; @import "components/ae-sr-only/structure"; +@import "components/ae-icon/structure"; +@import "components/ae-separator/structure"; .ae-ui { @import "components/ae-toolbar/structure"; diff --git a/src/assets/sass/skin/default/variables/skin.scss b/src/assets/sass/skin/default/variables/skin.scss index b97e286053..580b69b5e8 100644 --- a/src/assets/sass/skin/default/variables/skin.scss +++ b/src/assets/sass/skin/default/variables/skin.scss @@ -9,4 +9,6 @@ @import "components/ae-button-bridge/variables/skin"; @import "components/ae-dropdown/variables/skin"; @import "components/ae-toolbar/variables/skin"; -@import "components/ae-twitter-link/variables/skin"; \ No newline at end of file +@import "components/ae-twitter-link/variables/skin"; +@import "components/ae-icon/variables/skin"; +@import "components/ae-separator/variables/skin"; \ No newline at end of file diff --git a/src/assets/sass/skin/default/variables/structure.scss b/src/assets/sass/skin/default/variables/structure.scss index 7fb81ce1fb..43850cd470 100644 --- a/src/assets/sass/skin/default/variables/structure.scss +++ b/src/assets/sass/skin/default/variables/structure.scss @@ -9,4 +9,6 @@ @import "components/ae-button-bridge/variables/structure"; @import "components/ae-dropdown/variables/structure"; @import "components/ae-toolbar/variables/structure"; -@import "components/ae-twitter-link/variables/structure"; \ No newline at end of file +@import "components/ae-twitter-link/variables/structure"; +@import "components/ae-icon/variables/structure"; +@import "components/ae-separator/variables/structure"; \ No newline at end of file diff --git a/src/assets/sass/skin/moono/variables/skin.scss b/src/assets/sass/skin/moono/variables/skin.scss index 5c2af83d77..4aa0b4a9ff 100644 --- a/src/assets/sass/skin/moono/variables/skin.scss +++ b/src/assets/sass/skin/moono/variables/skin.scss @@ -43,4 +43,7 @@ $toolbar-font-color: $CKEDITOR_font_base_color; $toolbar-add-bg-color: $CKEDITOR_base_color; $toolbar-add-border-radius: 0; $toolbar-add-font-color: $CKEDITOR_font_base_color; -$toolbar-add-icon-size: 22px; \ No newline at end of file +$toolbar-add-icon-size: 22px; + +/** SEPARATOR **/ +$separator-color: #393939; \ No newline at end of file diff --git a/src/assets/sass/skin/moono/variables/structure.scss b/src/assets/sass/skin/moono/variables/structure.scss index 1a486f8a6a..423b4bfcdb 100644 --- a/src/assets/sass/skin/moono/variables/structure.scss +++ b/src/assets/sass/skin/moono/variables/structure.scss @@ -38,4 +38,7 @@ $toolbar-add-height: $base-height; $toolbar-add-width: $base-width; /** TOOLBAR-ADD **/ -$toolbar-add-border-width: 0; \ No newline at end of file +$toolbar-add-border-width: 0; + +/** SEPARATOR **/ +$separator-height: 28px; \ No newline at end of file diff --git a/src/components/base/button-action-style.js b/src/components/base/button-action-style.js index c691d8cfef..ef930f622e 100644 --- a/src/components/base/button-action-style.js +++ b/src/components/base/button-action-style.js @@ -19,7 +19,7 @@ export default WrappedComponent => class extends WrappedComponent { * @memberof ButtonActionStyle * @method applyStyle */ - applyStyle() { + applyStyle = () => { if (Lang.isFunction(this.isActive) && Lang.isFunction(this.getStyle)) { var editor = this.props.editor.get('nativeEditor'); diff --git a/src/components/base/button-command.js b/src/components/base/button-command.js index cfe73647c8..8cebe32a9a 100644 --- a/src/components/base/button-command.js +++ b/src/components/base/button-command.js @@ -12,8 +12,8 @@ export default WrappedComponent => class extends WrappedComponent { * @param {Object=} data Optional data to be passed to CKEDITOR's `execCommand` method. * @method execCommand */ - execCommand(data) { - var editor = this.props.editor.get('nativeEditor'); + execCommand = data => { + const editor = this.props.editor.get('nativeEditor'); editor.execCommand(this.props.command, data); diff --git a/src/components/base/widget-dropdown.js b/src/components/base/widget-dropdown.js index e77e066b8e..eb803f8396 100644 --- a/src/components/base/widget-dropdown.js +++ b/src/components/base/widget-dropdown.js @@ -1,5 +1,5 @@ -import ReactDOM from 'react-dom'; import Lang from '../../oop/lang.js'; +import ReactDOM from 'react-dom'; /** * Provides functionality for managing different dropdowns inside a widget. diff --git a/src/components/base/widget-exclusive.js b/src/components/base/widget-exclusive.js index 88992291cf..b45eba1f17 100644 --- a/src/components/base/widget-exclusive.js +++ b/src/components/base/widget-exclusive.js @@ -99,7 +99,7 @@ export default WrappedComponent => class extends WrappedComponent { * @method requestExclusive * @param {Object} itemExclusive The widget which requests exclusive state. */ - requestExclusive(itemExclusive) { + requestExclusive = itemExclusive => { this.setState({ itemExclusive: itemExclusive }); diff --git a/src/components/base/widget-focus-manager.js b/src/components/base/widget-focus-manager.js index a08b87921c..c84c245a41 100644 --- a/src/components/base/widget-focus-manager.js +++ b/src/components/base/widget-focus-manager.js @@ -57,7 +57,7 @@ export default WrappedComponent => class extends WrappedComponent { * @memberof WidgetFocusManager * @method focus */ - focus(event) { + focus = event => { if (!event || this._isValidTarget(event.target)) { if (this._descendants && this._descendants.length) { var activeDescendantEl = this._descendants[this._activeDescendant]; @@ -87,7 +87,7 @@ export default WrappedComponent => class extends WrappedComponent { * @param {Object} event The Keyboard event that was detected on the widget DOM node. * @method handleKey */ - handleKey(event) { + handleKey = event => { if (this._isValidTarget(event.target) && this._descendants) { var action = this._getFocusAction(event); diff --git a/src/components/buttons/button-accessibility-image-alt.jsx b/src/components/buttons/button-accessibility-image-alt.jsx new file mode 100644 index 0000000000..33dd205c5f --- /dev/null +++ b/src/components/buttons/button-accessibility-image-alt.jsx @@ -0,0 +1,163 @@ +import ButtonIcon from './button-icon.jsx'; +import ButtonProps from '../base/button-props.js'; +import ButtonStateClasses from '../base/button-state-classes.js'; +import PropTypes from 'prop-types'; +import React from 'react'; +import ReactDOM from 'react-dom'; + +/** + * The ButtonAccessibilityImageAlt class provides functionality for changing text color in a document. + * + * @class ButtonAccessibilityImageAlt + * @uses ButtonProps + * @uses ButtonStateClasses + * + */ +class ButtonAccessibilityImageAlt extends React.Component { + static key = 'AccessibilityImageAlt'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof ButtonAccessibilityImageAlt + * @property {Object} editor + */ + editor: PropTypes.object.isRequired + }; + + + constructor(prop, context) { + super(prop, context); + + const element = this.props.editor.get('nativeEditor').getSelection().getSelectedElement(); + + this.state = { + element, + imageAlt: element ? element.getAttribute('alt') : '' + }; + } + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + const cssClass = 'ae-button ' + this.getStateClasses(); + + if (this.props.renderExclusive) { + return ( +
+
+ +
+ +
+ ); + } + else { + return ( + + ); + } + } + + /** + * Focuses the user cursor on the widget's input. + * + * @protected + * @method _focusAltInput + */ + _focusAltInput() { + const instance = this; + + const focusAltEl = function () { + ReactDOM.findDOMNode(instance.refs.refAltInput).focus(); + }; + + if (window.requestAnimationFrame) { + window.requestAnimationFrame(focusAltEl); + } + else { + setTimeout(focusAltEl, 0); + } + } + + /** + * Event attached to alt input that fires when its value is changed + * + * @protected + * @method _handleAltChange + * @param {MouseEvent} event + */ + _handleAltChange = event => { + this.setState({ + imageAlt: event.target.value + }); + + this._focusAltInput(); + } + + /** + * Event attached to al tinput that fires when key is down + * This method check that enter key is pushed to update the component´s state + * + * @protected + * @method _handleKeyDown + * @param {MouseEvent} event + */ + _handleKeyDown = event => { + if (event.keyCode === 13) { + event.preventDefault(); + + this._updateImageAlt(); + } + } + + /** + * Requests the link button to be rendered in exclusive mode to allow the creation of a link. + * + * @protected + * @method _requestExclusive + */ + _requestExclusive = () => { + this.props.requestExclusive(ButtonAccessibilityImageAlt.key); + } + + /** + * Method called by clicking ok button or pushing key enter to update imageAlt state and to update alt property from the image that is selected + * This method calls cancelExclusive to show the previous toolbar before enter to edit alt property + * + * @protected + * @method _updateImageAlt + */ + _updateImageAlt = () => { + const editor = this.props.editor.get('nativeEditor'); + + const imageAlt = this.refs.refAltInput.value; + + this.setState({ + imageAlt + }); + + this.state.element.setAttribute('alt', imageAlt); + + editor.fire('actionPerformed', this); + + // We need to cancelExclusive with the bound parameters in case the button is used + // inside another in exclusive mode (such is the case of the alt button) + this.props.cancelExclusive(); + } +} + +export default ButtonProps( + ButtonStateClasses( + ButtonAccessibilityImageAlt +)); \ No newline at end of file diff --git a/src/components/buttons/button-background-color.jsx b/src/components/buttons/button-background-color.jsx new file mode 100644 index 0000000000..a43c84f42e --- /dev/null +++ b/src/components/buttons/button-background-color.jsx @@ -0,0 +1,285 @@ +import ButtonIcon from './button-icon.jsx'; +import ButtonProps from '../base/button-props.js'; +import ButtonStateClasses from '../base/button-state-classes.js'; +import ButtonStylesList from './button-styles-list.jsx'; +import PropTypes from 'prop-types'; +import React from 'react'; + +class ButtonBackgroundColor extends React.Component { + static key = 'backgroundColor'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Object} editor + */ + editor: PropTypes.object.isRequired, + + /** + * Indicates whether the styles list is expanded or not. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Boolean} expanded + */ + expanded: PropTypes.bool, + + /** + * The label that should be used for accessibility purposes. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {String} label + */ + label: PropTypes.string, + + /** + * Indicates whether the remove styles item should appear in the styles list. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Boolean} showRemoveStylesItem + */ + showRemoveStylesItem: PropTypes.bool, + + /** + * List of the styles the button is able to handle. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Array} styles + */ + styles: PropTypes.arrayOf(PropTypes.object), + + /** + * The tabIndex of the button in its toolbar current state. A value other than -1 + * means that the button has focus and is the active element. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Number} tabIndex + */ + tabIndex: PropTypes.number, + + /** + * Callback provided by the button host to notify when the styles list has been expanded. + * + * @instance + * @memberof ButtonBackgroundColor + * @property {Function} toggleDropdown + */ + toggleDropdown: PropTypes.func + }; + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + let activeColor = AlloyEditor.Strings.normal; + + let activeColorClass = ''; + + const colors = this._getColors(); + + const itemStyle = { + element: 'span', + attributes: { + class: '' + } + }; + + colors.forEach(item => { + itemStyle.attributes.class = item.styleClass; + + if (this._checkActive(itemStyle)) { + activeColor = item.name; + + activeColorClass = item.style.attributes.class; + } + }); + + const { + editor, + expanded, + tabIndex, + toggleDropdown + } = this.props; + + const buttonStylesProps = { + activeStyle: activeColor, + editor, + onDismiss: toggleDropdown, + showRemoveStylesItem: false, + styles: colors + }; + + return ( +
+ + {expanded && + + } +
+ ); + } + + _applyStyle(className) { + const editor = this.props.editor.get('nativeEditor'); + + const styleConfig = { + element: 'span', + attributes: { + class: className + } + }; + + editor.getSelection().lock(); + + this._getColors().forEach( item => { + styleConfig.attributes.class = item.styleClass; + + if (this._checkActive(styleConfig)) { + editor.removeStyle(new CKEDITOR.style(styleConfig)); + } + }); + + styleConfig.attributes.class = className; + + const style = new CKEDITOR.style(styleConfig); + + editor.applyStyle(style); + + editor.getSelection().unlock(); + + editor.fire('actionPerformed', this); + } + + /** + * Checks if the given color definition is applied to the current selection in the editor. + * + * @instance + * @memberof ButtonBackgroundColor + * @method _checkActive + * @param {Object} styleConfig color definition as per http://docs.ckeditor.com/#!/api/CKEDITOR.style. + * @protected + * @return {Boolean} Returns true if the color is applied to the selection, false otherwise. + */ + _checkActive(styleConfig) { + const nativeEditor = this.props.editor.get('nativeEditor'); + + // Styles with wildcard element (*) won't be considered active by CKEditor. Defaulting + // to a 'span' element works for most of those cases with no defined element. + styleConfig = CKEDITOR.tools.merge({ element: 'span' }, styleConfig); + + const style = new CKEDITOR.style(styleConfig); + + return style.checkActive(nativeEditor.elementPath(), nativeEditor); + } + + /** + * Returns an array of colors. Each color consists of two properties: + * - name - the style name, for example "default" + * - style - an object with one property, called `element` which value + * represents the style which have to be applied to the element. + * + * @instance + * @memberof ButtonBackgroundColor + * @method _getColor + * @protected + * @return {Array} An array of objects containing the colors. + */ + _getColors() { + return this.props.styles || [{ + name: AlloyEditor.Strings.normal, + style: { + element: 'span', + attributes: { + class: 'text-body' + } + }, + styleClass: '', + styleFn: this._applyStyle.bind(this, '') + }, { + name: AlloyEditor.Strings.primary, + style: { + element: 'span', + attributes: { + class: 'text-primary' + } + }, + styleClass: 'bg-primary', + styleFn: this._applyStyle.bind(this, 'bg-primary') + }, { + name: AlloyEditor.Strings.disabled, + style: { + element: 'span', + attributes: { + class: 'text-secondary' + } + }, + styleClass: 'bg-secondary', + styleFn: this._applyStyle.bind(this, 'bg-secondary') + }, { + name: AlloyEditor.Strings.success, + style: { + element: 'span', + attributes: { + class: 'text-success' + } + }, + styleClass: 'bg-success', + styleFn: this._applyStyle.bind(this, 'bg-success') + }, { + name: AlloyEditor.Strings.danger, + style: { + element: 'span', + attributes: { + class: 'text-danger' + } + }, + styleClass: 'bg-danger', + styleFn: this._applyStyle.bind(this, 'bg-danger') + }, { + name: AlloyEditor.Strings.warning, + style: { + element: 'span', + attributes: { + class: 'text-warning' + } + }, + styleClass: 'bg-warning', + styleFn: this._applyStyle.bind(this, 'bg-warning') + }, { + name: AlloyEditor.Strings.info, + style: { + element: 'span', + attributes: { + class: 'text-info' + } + }, + styleClass: 'bg-info', + styleFn: this._applyStyle.bind(this, 'bg-info') + }]; + } +} + +export default ButtonProps( + ButtonStateClasses( + ButtonBackgroundColor +)); \ No newline at end of file diff --git a/src/components/buttons/button-bold.jsx b/src/components/buttons/button-bold.jsx index f1488046d3..224901542c 100644 --- a/src/components/buttons/button-bold.jsx +++ b/src/components/buttons/button-bold.jsx @@ -2,6 +2,7 @@ import ButtonCommand from '../base/button-command.js'; import ButtonKeystroke from '../base/button-keystroke.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -14,6 +15,33 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonBold extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonBold + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'bold', + keystroke: { + fn: 'execCommand', + keys: CKEDITOR.CTRL + 66 /*B*/ + }, + style: 'coreStyles_bold' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default bold + * @memberof ButtonBold + * @property {String} key + * @static + */ + static key = 'bold'; + /** * Lifecycle. Renders the UI of the button. * @@ -23,43 +51,16 @@ class ButtonBold extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default bold - * @memberof ButtonBold - * @property {String} key - * @static - */ -ButtonBold.key = 'bold'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonBold - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonBold.defaultProps = { - command: 'bold', - keystroke: { - fn: 'execCommand', - keys: CKEDITOR.CTRL + 66 /*B*/ - }, - style: 'coreStyles_bold' -}; - export default ButtonCommand( ButtonKeystroke( ButtonStateClasses( diff --git a/src/components/buttons/button-camera-image.jsx b/src/components/buttons/button-camera-image.jsx index b18e6b6d68..7e04992c7e 100644 --- a/src/components/buttons/button-camera-image.jsx +++ b/src/components/buttons/button-camera-image.jsx @@ -7,6 +7,26 @@ import ReactDOM from 'react-dom'; * @class ButtonCameraImage */ class ButtonCameraImage extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonCameraImage + */ + static defaultProps = { + videoWidth: 320 + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default cameraImage + * @memberof ButtonCameraImage + * @property {String} key + * @static + */ + static key = 'cameraImage'; + /** * Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs. * @@ -49,7 +69,7 @@ class ButtonCameraImage extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var getUserMedia = navigator.getUserMedia || + const getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; @@ -57,12 +77,12 @@ class ButtonCameraImage extends React.Component { getUserMedia.call(navigator, { video: true, audio: false - }, this._handleStreamSuccess.bind(this), this._handleStreamError.bind(this)); + }, this._handleStreamSuccess, this._handleStreamError); return (
- +
); @@ -76,14 +96,14 @@ class ButtonCameraImage extends React.Component { * @memberof ButtonCameraImage * @method takePhoto */ - takePhoto() { - var videoEl = ReactDOM.findDOMNode(this.refs.videoContainer); - var canvasEl = ReactDOM.findDOMNode(this.refs.canvasContainer); + takePhoto = () => { + const videoEl = ReactDOM.findDOMNode(this.refs.videoContainer); + const canvasEl = ReactDOM.findDOMNode(this.refs.canvasContainer); - var context = canvasEl.getContext('2d'); + const context = canvasEl.getContext('2d'); - var height = this._videoHeight; - var width = this.props.videoWidth; + const height = this._videoHeight; + const width = this.props.videoWidth; if (width && height) { canvasEl.width = width; @@ -91,11 +111,11 @@ class ButtonCameraImage extends React.Component { context.drawImage(videoEl, 0, 0, width, height); - var imgURL = canvasEl.toDataURL('image/png'); + const imgURL = canvasEl.toDataURL('image/png'); - var el = CKEDITOR.dom.element.createFromHtml(''); + const el = CKEDITOR.dom.element.createFromHtml(''); - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); editor.insertElement(el); @@ -116,7 +136,7 @@ class ButtonCameraImage extends React.Component { * @param {Event} error The fired event in case of error. * @protected */ - _handleStreamError(error) { + _handleStreamError = error => { window.alert('An error occurred! ' + error); } @@ -130,12 +150,12 @@ class ButtonCameraImage extends React.Component { * @param {Object} stream The video stream * @protected */ - _handleStreamSuccess(stream) { - var videoEl = ReactDOM.findDOMNode(this.refs.videoContainer); - var canvasEl = ReactDOM.findDOMNode(this.refs.canvasContainer); + _handleStreamSuccess = stream => { + const videoEl = ReactDOM.findDOMNode(this.refs.videoContainer); + const canvasEl = ReactDOM.findDOMNode(this.refs.canvasContainer); - videoEl.addEventListener('canplay', function(event) { - var height = videoEl.videoHeight / (videoEl.videoWidth/this.props.videoWidth); + videoEl.addEventListener('canplay', () => { + let height = videoEl.videoHeight / (videoEl.videoWidth/this.props.videoWidth); if (isNaN(height)) { height = this.props.videoWidth / (4/3); @@ -147,14 +167,14 @@ class ButtonCameraImage extends React.Component { canvasEl.setAttribute('height', height); this._videoHeight = height; - }.bind(this), false); + }, false); this._stream = stream; if (navigator.mozGetUserMedia) { videoEl.mozSrcObject = stream; } else { - videoEl.src = (window.URL || window.webkitURL).createObjectURL(stream); + videoEl.srcObject = stream; } videoEl.play(); @@ -171,25 +191,4 @@ class ButtonCameraImage extends React.Component { */ } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default cameraImage - * @memberof ButtonCameraImage - * @property {String} key - * @static - */ -ButtonCameraImage.key = 'cameraImage'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonCameraImage - * @method getDefaultProps - */ -ButtonCameraImage.defaultProps = { - videoWidth: 320 -}; - export default ButtonCameraImage; diff --git a/src/components/buttons/button-camera.jsx b/src/components/buttons/button-camera.jsx index fbb6b2ac0f..dc83b5552b 100644 --- a/src/components/buttons/button-camera.jsx +++ b/src/components/buttons/button-camera.jsx @@ -1,4 +1,5 @@ import ButtonCameraImage from './button-camera-image.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -10,6 +11,16 @@ import React from 'react'; * @class ButtonCamera */ class ButtonCamera extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default camera + * @memberof ButtonCamera + * @property {String} key + * @static + */ + static key = 'camera'; + /** * Lifecycle. Renders the UI of the button. * @@ -24,30 +35,20 @@ class ButtonCamera extends React.Component { ); } else { - var disabled = !(navigator.getUserMedia || + const disabled = !(navigator.getUserMedia || (navigator.webkitGetUserMedia && location.protocol === 'https') || navigator.mozGetUserMedia || navigator.msGetUserMedia); - var label = disabled ? AlloyEditor.Strings.cameraDisabled : AlloyEditor.Strings.camera; + const label = disabled ? AlloyEditor.Strings.cameraDisabled : AlloyEditor.Strings.camera; return ( ); } } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default camera - * @memberof ButtonCamera - * @property {String} key - * @static - */ -ButtonCamera.key = 'camera'; - export default ButtonCamera; diff --git a/src/components/buttons/button-code.jsx b/src/components/buttons/button-code.jsx index 2548683b9d..0aae07e168 100644 --- a/src/components/buttons/button-code.jsx +++ b/src/components/buttons/button-code.jsx @@ -1,6 +1,7 @@ import ButtonActionStyle from '../base/button-action-style.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -12,6 +13,29 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonCode extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonCode + * @return {Object} The default properties. + */ + static defaultProps = { + style: { + element: 'pre' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default code + * @memberof ButtonCode + * @property {String} key + * @static + */ + static key = 'code'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,40 +45,16 @@ class ButtonCode extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default code - * @memberof ButtonCode - * @property {String} key - * @static - */ -ButtonCode.key = 'code'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonCode - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonCode.defaultProps = { - style: { - element: 'pre' - } -}; - export default ButtonActionStyle( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-color.jsx b/src/components/buttons/button-color.jsx new file mode 100644 index 0000000000..9f0d27ea7f --- /dev/null +++ b/src/components/buttons/button-color.jsx @@ -0,0 +1,274 @@ +import ButtonProps from '../base/button-props.js'; +import ButtonStateClasses from '../base/button-state-classes.js'; +import ButtonIcon from './button-icon.jsx'; +import ButtonStylesList from './button-styles-list.jsx'; +import React from 'react'; +import PropTypes from 'prop-types'; + +/** + * The ButtonColor class provides functionality for changing text color in a document. + * + * + * @class ButtonColor + * @uses ButtonProps + * @uses ButtonStateClasses + */ +class ButtonColor extends React.Component { + static key = 'color'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof ButtonColor + * @property {Object} editor + */ + editor: PropTypes.object.isRequired, + + /** + * Indicates whether the styles list is expanded or not. + * + * @instance + * @memberof ButtonColor + * @property {Boolean} expanded + */ + expanded: PropTypes.bool, + + /** + * The label that should be used for accessibility purposes. + * + * @instance + * @memberof ButtonColor + * @property {String} label + */ + label: PropTypes.string, + + /** + * Indicates whether the remove styles item should appear in the styles list. + * + * @instance + * @memberof ButtonColor + * @property {Boolean} showRemoveStylesItem + */ + showRemoveStylesItem: PropTypes.bool, + + /** + * List of the styles the button is able to handle. + * + * @instance + * @memberof ButtonColor + * @property {Array} styles + */ + styles: PropTypes.arrayOf(PropTypes.object), + + /** + * The tabIndex of the button in its toolbar current state. A value other than -1 + * means that the button has focus and is the active element. + * + * @instance + * @memberof ButtonColor + * @property {Number} tabIndex + */ + tabIndex: PropTypes.number, + + /** + * Callback provided by the button host to notify when the styles list has been expanded. + * + * @instance + * @memberof ButtonColor + * @property {Function} toggleDropdown + */ + toggleDropdown: PropTypes.func + }; + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + let activeColor = AlloyEditor.Strings.normal; + + let activeColorClass = 'text-body'; + + const colors = this._getColors(); + + colors.some(item => { + if (this._checkActive(item.style)) { + activeColor = item.name; + + activeColorClass = item.style.attributes.class; + } + }); + + const { + editor, + expanded, + tabIndex, + toggleDropdown + } = this.props; + + const buttonStylesProps = { + activeStyle: activeColor, + editor, + onDismiss: toggleDropdown, + showRemoveStylesItem: false, + styles: colors + }; + + return ( +
+ + {expanded && + + } +
+ ); + } + + _applyStyle(className) { + const editor = this.props.editor.get('nativeEditor'); + + const styleConfig = { + element: 'span', + attributes: { + class: className + } + }; + + const style = new CKEDITOR.style(styleConfig); + + editor.getSelection().lock(); + + this._getColors().forEach(item => { + if (this._checkActive(item.style)) { + editor.removeStyle(new CKEDITOR.style(item.style)); + } + }); + + editor.applyStyle(style); + + editor.getSelection().unlock(); + + editor.fire('actionPerformed', this); + } + + /** + * Checks if the given color definition is applied to the current selection in the editor. + * + * @instance + * @memberof ButtonColor + * @method _checkActive + * @param {Object} styleConfig Color definition as per http://docs.ckeditor.com/#!/api/CKEDITOR.style. + * @protected + * @return {Boolean} Returns true if the color is applied to the selection, false otherwise. + */ + _checkActive(styleConfig) { + const nativeEditor = this.props.editor.get('nativeEditor'); + + // Styles with wildcard element (*) won't be considered active by CKEditor. Defaulting + // to a 'span' element works for most of those cases with no defined element. + styleConfig = CKEDITOR.tools.merge({ element: 'span' }, styleConfig); + + const style = new CKEDITOR.style(styleConfig); + + return style.checkActive(nativeEditor.elementPath(), nativeEditor); + } + + /** + * Returns an array of colors. Each color consists of two properties: + * - name - The style name, for example "default". + * - style - An object with one property, called `element` which value + * represents the style which have to be applied to the element. + * - styleFn - The function that is invoked to apply the style to the element. + * + * @instance + * @memberof ButtonColor + * @method _getColor + * @protected + * @return {Array} An array of objects containing the colors. + */ + _getColors() { + return this.props.styles || [{ + name: AlloyEditor.Strings.normal, + style: { + element: 'span', + attributes: { + class: 'text-body' + } + }, + styleFn: this._applyStyle.bind(this, '') + }, { + name: AlloyEditor.Strings.primary, + style: { + element: 'span', + attributes: { + class: 'text-primary' + } + }, + styleFn: this._applyStyle.bind(this, 'text-primary') + }, { + name: AlloyEditor.Strings.disabled, + style: { + element: 'span', + attributes: { + class: 'text-secondary' + } + }, + styleFn: this._applyStyle.bind(this, 'text-secondary') + }, { + name: AlloyEditor.Strings.success, + style: { + element: 'span', + attributes: { + class: 'text-success' + } + }, + styleFn: this._applyStyle.bind(this, 'text-success') + }, { + name: AlloyEditor.Strings.danger, + style: { + element: 'span', + attributes: { + class: 'text-danger' + } + }, + styleFn: this._applyStyle.bind(this, 'text-danger') + }, { + name: AlloyEditor.Strings.warning, + style: { + element: 'span', + attributes: { + class: 'text-warning' + } + }, + styleFn: this._applyStyle.bind(this, 'text-warning') + }, { + name: AlloyEditor.Strings.info, + style: { + element: 'span', + attributes: { + class: 'text-info' + } + }, + styleFn: this._applyStyle.bind(this, 'text-info') + }]; + } +} + +export default ButtonProps( + ButtonStateClasses( + ButtonColor +)); \ No newline at end of file diff --git a/src/components/buttons/button-command-list-item.jsx b/src/components/buttons/button-command-list-item.jsx index fcee18d4fa..81a0b6ed49 100644 --- a/src/components/buttons/button-command-list-item.jsx +++ b/src/components/buttons/button-command-list-item.jsx @@ -9,6 +9,16 @@ import React from 'react'; * @uses ButtonCommand */ class ButtonCommandListItem extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default buttonCommandListItem + * @memberof ButtonCommandListItem + * @property {String} key + * @static + */ + static key = 'buttonCommandListItem'; + /** * Lifecycle. Renders the UI of the button. * @@ -19,7 +29,7 @@ class ButtonCommandListItem extends React.Component { */ render() { return ( - + ); } @@ -33,22 +43,12 @@ class ButtonCommandListItem extends React.Component { * @return {String} The class name of the Widget. */ _getClassName() { - var className = 'ae-container ae-toolbar-element'; + const className = 'ae-container ae-toolbar-element'; return className; } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default buttonCommandListItem - * @memberof ButtonCommandListItem - * @property {String} key - * @static - */ -ButtonCommandListItem.key = 'buttonCommandListItem'; - export default ButtonCommand( ButtonCommandListItem ); \ No newline at end of file diff --git a/src/components/buttons/button-commands-list.jsx b/src/components/buttons/button-commands-list.jsx index d87806aaea..3655402036 100644 --- a/src/components/buttons/button-commands-list.jsx +++ b/src/components/buttons/button-commands-list.jsx @@ -11,6 +11,36 @@ import WidgetFocusManager from '../base/widget-focus-manager.js'; * @uses WidgetFocusManager */ class ButtonCommandsList extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonCommandsList + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + circular: false, + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default buttonCommandsList + * @memberof ButtonCommandsList + * @property {String} key + * @static + */ + static key = 'buttonCommandsList'; + /** * Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs. * @@ -34,7 +64,7 @@ class ButtonCommandsList extends React.Component { */ render() { return ( -
+
    {this._renderActions(this.props.commands)}
@@ -52,8 +82,8 @@ class ButtonCommandsList extends React.Component { * @return {Array} Rendered instances of ButtonCommandListItem class */ _renderActions(commands) { - var editor = this.props.editor; - var items; + const editor = this.props.editor; + let items; if (commands && commands.length) { items = commands.map(function(item) { @@ -69,36 +99,6 @@ class ButtonCommandsList extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default buttonCommandsList - * @memberof ButtonCommandsList - * @property {String} key - * @static - */ -ButtonCommandsList.key = 'buttonCommandsList'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonCommandsList - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonCommandsList.defaultProps = { - circular: false, - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - } -}; - export default WidgetFocusManager( ButtonCommandsList ); \ No newline at end of file diff --git a/src/components/buttons/button-dropdown.jsx b/src/components/buttons/button-dropdown.jsx index ea6dc2cf4c..b25e0cc294 100644 --- a/src/components/buttons/button-dropdown.jsx +++ b/src/components/buttons/button-dropdown.jsx @@ -8,6 +8,35 @@ import React from 'react'; * @class ButtonDropdown */ class ButtonDropdown extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonDropdown + * @method getDefaultProps + */ + static defaultProps = { + circular: false, + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + } + }; + + /** + * The name which will be used as an alias of the dropdown in the configuration. + * + * @default dropdown + * @memberof ButtonDropdown + * @property {String} key + * @static + */ + static key = 'dropdown'; + /** * Lifecycle. Renders the UI of the button. * @@ -18,7 +47,7 @@ class ButtonDropdown extends React.Component { */ render() { return ( -
+
    {this.props.children}
@@ -27,35 +56,6 @@ class ButtonDropdown extends React.Component { } } -/** - * The name which will be used as an alias of the dropdown in the configuration. - * - * @default dropdown - * @memberof ButtonDropdown - * @property {String} key - * @static - */ -ButtonDropdown.key = 'dropdown'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonDropdown - * @method getDefaultProps - */ -ButtonDropdown.defaultProps = { - circular: false, - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - } -}; - export default WidgetFocusManager( ButtonDropdown ); \ No newline at end of file diff --git a/src/components/buttons/button-embed-edit.jsx b/src/components/buttons/button-embed-edit.jsx index e6194a73ad..459b77f71a 100644 --- a/src/components/buttons/button-embed-edit.jsx +++ b/src/components/buttons/button-embed-edit.jsx @@ -1,8 +1,8 @@ +import ButtonIcon from './button-icon.jsx'; import React from 'react'; -import ReactDOM from 'react-dom'; -var KEY_ENTER = 13; -var KEY_ESC = 27; +const KEY_ENTER = 13; +const KEY_ESC = 27; /** * The ButtonEmbedEdit class provides functionality for creating and editing an embed link in a document. @@ -11,6 +11,16 @@ var KEY_ESC = 27; * @class ButtonEmbedEdit */ class ButtonEmbedEdit extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default embedEdit + * @memberof ButtonEmbedEdit + * @property {String} key + * @static + */ + static key = 'embedEdit'; + constructor(props) { super(props); @@ -33,9 +43,9 @@ class ButtonEmbedEdit extends React.Component { // We need to wait for the next rendering cycle before focusing to avoid undesired // scrolls on the page if (window.requestAnimationFrame) { - window.requestAnimationFrame(this._focusLinkInput.bind(this)); + window.requestAnimationFrame(this._focusLinkInput); } else { - setTimeout(this._focusLinkInput.bind(this), 0); + setTimeout(this._focusLinkInput, 0); } } } @@ -61,20 +71,20 @@ class ButtonEmbedEdit extends React.Component { * @method getInitialState */ getInitialState() { - var editor = this.props.editor.get('nativeEditor'); - var embed; + const editor = this.props.editor.get('nativeEditor'); + let embed; - var selection = editor.getSelection(); + const selection = editor.getSelection(); if (selection) { - var selectedElement = selection.getSelectedElement(); + const selectedElement = selection.getSelectedElement(); if (selectedElement) { embed = selectedElement.findOne('[data-widget="ae_embed"]'); } } - var href = embed ? embed.getAttribute('data-ae-embed-url') : ''; + const href = embed ? embed.getAttribute('data-ae-embed-url') : ''; return { element: embed, @@ -94,21 +104,24 @@ class ButtonEmbedEdit extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var clearLinkStyle = { + const clearLinkStyle = { opacity: this.state.linkHref ? 1 : 0 }; + const editor = this.props.editor; + return (
-
- - + +
-
); @@ -124,7 +137,7 @@ class ButtonEmbedEdit extends React.Component { * @method _clearLink * @protected */ - _clearLink() { + _clearLink = () => { this.setState({ linkHref: '' }); @@ -138,8 +151,8 @@ class ButtonEmbedEdit extends React.Component { * @method _embedLink * @protected */ - _embedLink() { - var nativeEditor = this.props.editor.get('nativeEditor'); + _embedLink = () => { + const nativeEditor = this.props.editor.get('nativeEditor'); nativeEditor.execCommand('embedUrl', { url: this.state.linkHref @@ -158,7 +171,7 @@ class ButtonEmbedEdit extends React.Component { * @method _focusLinkInput * @protected */ - _focusLinkInput() { + _focusLinkInput = () => { this.linkInput.current.focus(); } @@ -173,7 +186,7 @@ class ButtonEmbedEdit extends React.Component { * @param {SyntheticEvent} event The keyboard event. * @protected */ - _handleKeyDown(event) { + _handleKeyDown = event => { if (event.keyCode === KEY_ENTER || event.keyCode === KEY_ESC) { event.preventDefault(); } @@ -181,7 +194,7 @@ class ButtonEmbedEdit extends React.Component { if (event.keyCode === KEY_ENTER) { this._embedLink(); } else if (event.keyCode === KEY_ESC) { - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); // We need to cancelExclusive with the bound parameters in case the button is used // inside another in exclusive mode (such is the case of the link button) @@ -200,7 +213,7 @@ class ButtonEmbedEdit extends React.Component { * @param {SyntheticEvent} event The change event. * @protected */ - _handleLinkHrefChange(event) { + _handleLinkHrefChange = event => { this.setState({ linkHref: event.target.value }); @@ -217,7 +230,7 @@ class ButtonEmbedEdit extends React.Component { * @return {Boolean} True if the state is valid, false otherwise */ _isValidState() { - var validState = + const validState = this.state.linkHref && ( this.state.linkHref !== this.state.initialLink.href ); @@ -233,10 +246,10 @@ class ButtonEmbedEdit extends React.Component { * @method _removeEmbed * @protected */ - _removeEmbed() { - var editor = this.props.editor.get('nativeEditor'); + _removeEmbed = () => { + const editor = this.props.editor.get('nativeEditor'); - var embedWrapper = this.state.element.getAscendant(function(element) { + const embedWrapper = this.state.element.getAscendant(function(element) { return element.hasClass('cke_widget_wrapper'); }); @@ -246,14 +259,4 @@ class ButtonEmbedEdit extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default embedEdit - * @memberof ButtonEmbedEdit - * @property {String} key - * @static - */ -ButtonEmbedEdit.key = 'embedEdit'; - -export default ButtonEmbedEdit; +export default ButtonEmbedEdit; \ No newline at end of file diff --git a/src/components/buttons/button-embed-video-edit.jsx b/src/components/buttons/button-embed-video-edit.jsx new file mode 100644 index 0000000000..3019370b57 --- /dev/null +++ b/src/components/buttons/button-embed-video-edit.jsx @@ -0,0 +1,241 @@ +import ButtonIcon from './button-icon.jsx'; +import React from 'react'; +import ReactDOM from 'react-dom'; +import PropTypes from 'prop-types'; + +const KEY_ENTER = 13; +const KEY_ESC = 27; + +/** + * The ButtonEmbedVideoEdit class provides functionality for changing text color in a document. + * + * @uses ButtonIcon + * + * @class ButtonEmbedVideoEdit + */ +class ButtonEmbedVideoEdit extends React.Component { + + static key = 'embedVideoEdit'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @property {Object} editor + */ + editor: PropTypes.object.isRequired + }; + + constructor(props, context) { + super(props, context); + + this.state = this.getInitialState(); + } + + /** + * Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs. + * + * Focuses on the link input to immediately allow editing. This should only happen if the component + * is rendered in exclusive mode to prevent aggressive focus stealing. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method componentDidMount + */ + componentDidMount() { + if (this.props.renderExclusive || this.props.manualSelection) { + // We need to wait for the next rendering cycle before focusing to avoid undesired + // scrolls on the page + if (window.requestAnimationFrame) { + window.requestAnimationFrame(this._focusVideoUrlInput); + } else { + setTimeout(this._focusVideoUrlInput, 0); + } + } + } + + /** + * Lifecycle. Invoked when a component is receiving new props. + * This method is not called for the initial render. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method componentWillReceiveProps + */ + componentWillReceiveProps() { + this.replaceState(this.getInitialState()); + } + + /** + * Lifecycle. Invoked once before the component is mounted. + * The return value will be used as the initial value of this.state. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method getInitialState + */ + getInitialState() { + const editor = this.props.editor.get('nativeEditor'); + let element; + + const selection = editor.getSelection(); + + if (selection) { + const selectedElement = selection.getSelectedElement(); + + if (selectedElement) { + element = selectedElement.findOne('[data-widget="videoembed"]'); + } + } + + const videoURL = element ? element.getAttribute('data-embed-video-url') : ''; + + return { + element, + initialEmbed: { + videoUrl + }, + videoURL + }; + } + + /** + * Lifecycle. Renders the UI of the button. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + const inputPlaceholder = AlloyEditor.Strings.pasteVideoLink; + + const clearVideoURLStyle = { + opacity: this.state.videoURL ? 1 : 0 + }; + + const icon = this.getIcon(); + + return ( +
+
+ + +
+ +
+ ); + } + + /** + * Clears the link input. This only changes the component internal state, but does not + * affect the link element of the editor. Only the _removeLink and _updateLink methods + * are translated to the editor element. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method _clearLink + * @protected + */ + _clearLink() { + this.setState({ + videoURL: '' + }); + } + + /** + * Triggers the embedVideoUrl command to transform the link into an embed media object + * + * @instance + * @memberof EmbedVideoEdit + * @method _embedVideoURL + * @protected + */ + _embedVideoURL = () => { + const nativeEditor = this.props.editor.get('nativeEditor'); + + nativeEditor.execCommand('embedUrl', { + type: 'video', + url: this.state.videoURL + }); + + // We need to cancelExclusive with the bound parameters in case the button is used + // inside another in exclusive mode (such is the case of the link button) + this.props.cancelExclusive(); + } + + /** + * Focuses the user cursor on the widget's input. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method _focusVideoUrlInput + * @protected + */ + _focusVideoUrlInput = () => { + ReactDOM.findDOMNode(this.refs.linkInput).focus(); + } + + /** + * Monitors key interaction inside the input element to respond to the keys: + * - Enter: Creates/updates the link. + * - Escape: Discards the changes. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method _handleKeyDown + * @param {SyntheticEvent} event The keyboard event. + * @protected + */ + _handleKeyDown = event => { + if (event.keyCode === KEY_ENTER || event.keyCode === KEY_ESC) { + event.preventDefault(); + } + + if (event.keyCode === KEY_ENTER) { + this._embedVideoURL(); + } else if (event.keyCode === KEY_ESC) { + this.props.cancelExclusive(); + } + } + + /** + * Updates the component state when the link input changes on user interaction. + * + * @instance + * @memberof ButtonEmbedVideoEdit + * @method _handleVideoURLChange + * @param {SyntheticEvent} event The change event. + * @protected + */ + _handleVideoURLChange = event => { + this.setState({ + videoURL: event.target.value + }); + } + + /** + * Verifies that the current link state is valid so the user can save the link. A valid state + * means that we have a non-empty videoURL that's different from the original one. + * + * @instance + * @memberof EmbedVideoEdit + * @method _isValidState + * @protected + * @return {Boolean} True if the state is valid, false otherwise + */ + _isValidState() { + const validState = + this.state.videoURL && ( + this.state.videoURL !== this.state.initialEmbed.videoURL + ); + + return validState; + } +} + +export default ButtonEmbedVideoEdit; \ No newline at end of file diff --git a/src/components/buttons/button-embed-video.jsx b/src/components/buttons/button-embed-video.jsx new file mode 100644 index 0000000000..ab7997c710 --- /dev/null +++ b/src/components/buttons/button-embed-video.jsx @@ -0,0 +1,69 @@ +import ButtonEmbedVideoEdit from './button-embed-video-edit.jsx'; +import ButtonIcon from './button-icon.jsx'; +import ButtonProps from '../base/button-props.js'; +import PropTypes from 'prop-types'; +import React from 'react'; + +/** + * The ButtonEmbedVideo class provides functionality for changing text color in a document. + * + * @class ButtonEmbedVideo + * @uses ButtonProps + */ +class ButtonEmbedVideo extends React.Component { + static key = 'embedVideo'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof ButtonEmbedVideo + * @property {Object} editor + */ + editor: PropTypes.object.isRequired, + + /** + * The label that should be used for accessibility purposes. + * + * @instance + * @memberof ButtonEmbedVideo + * @property {String} label + */ + label: PropTypes.string, + + /** + * The tabIndex of the button in its toolbar current state. A value other than -1 + * means that the button has focus and is the active element. + * + * @instance + * @memberof ButtonEmbedVideo + * @property {Number} tabIndex + */ + tabIndex: PropTypes.number + }; + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + if (this.props.renderExclusive) { + return ( + + ); + } else { + return ( + + ); + } + } +} + +export default ButtonProps( + ButtonEmbedVideo +); \ No newline at end of file diff --git a/src/components/buttons/button-embed.jsx b/src/components/buttons/button-embed.jsx index 384ea26a4e..5e2f4d71e9 100644 --- a/src/components/buttons/button-embed.jsx +++ b/src/components/buttons/button-embed.jsx @@ -1,4 +1,5 @@ import ButtonEmbedEdit from './button-embed-edit.jsx'; +import ButtonIcon from './button-icon.jsx'; import ButtonKeystroke from '../base/button-keystroke.js'; import React from 'react'; @@ -13,6 +14,31 @@ import React from 'react'; * @uses ButtonKeystroke */ class ButtonEmbed extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonEmbed + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + keystroke: { + fn: '_requestExclusive', + keys: CKEDITOR.CTRL + CKEDITOR.SHIFT + 76 /*L*/ + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default embed + * @memberof ButtonEmbed + * @property {String} key + * @static + */ + static key = 'embed'; + /** * Lifecycle. Renders the UI of the button. * @@ -28,8 +54,8 @@ class ButtonEmbed extends React.Component { ); } else { return ( - ); } @@ -43,36 +69,11 @@ class ButtonEmbed extends React.Component { * @method _requestExclusive * @protected */ - _requestExclusive() { + _requestExclusive = () => { this.props.requestExclusive(ButtonEmbed.key); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default embed - * @memberof ButtonEmbed - * @property {String} key - * @static - */ -ButtonEmbed .key = 'embed'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonEmbed - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonEmbed.defaultProps = { - keystroke: { - fn: '_requestExclusive', - keys: CKEDITOR.CTRL + CKEDITOR.SHIFT + 76 /*L*/ - } -}; - export default ButtonKeystroke( ButtonEmbed ); \ No newline at end of file diff --git a/src/components/buttons/button-h1.jsx b/src/components/buttons/button-h1.jsx index d8f90042cf..7948e5c981 100644 --- a/src/components/buttons/button-h1.jsx +++ b/src/components/buttons/button-h1.jsx @@ -1,6 +1,7 @@ import ButtonActionStyle from '../base/button-action-style.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -12,6 +13,30 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonH1 extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonH1 + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + style: { + element: 'h1' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default h1 + * @memberof ButtonH1 + * @property {String} key + * @static + */ + static key = 'h1'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,40 +46,16 @@ class ButtonH1 extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default h1 - * @memberof ButtonH1 - * @property {String} key - * @static - */ -ButtonH1.key = 'h1'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonH1 - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonH1.defaultProps = { - style: { - element: 'h1' - } -}; - export default ButtonActionStyle( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-h2.jsx b/src/components/buttons/button-h2.jsx index 39423f37ba..e9f6cb24af 100644 --- a/src/components/buttons/button-h2.jsx +++ b/src/components/buttons/button-h2.jsx @@ -1,6 +1,7 @@ import ButtonActionStyle from '../base/button-action-style.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -12,6 +13,30 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonH2 extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonH2 + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + style: { + element: 'h2' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default h2 + * @memberof ButtonH2 + * @property {String} key + * @static + */ + static key = 'h2'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,40 +46,16 @@ class ButtonH2 extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default h2 - * @memberof ButtonH2 - * @property {String} key - * @static - */ -ButtonH2.key = 'h2'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonH2 - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonH2.defaultProps = { - style: { - element: 'h2' - } -}; - export default ButtonActionStyle( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-hline.jsx b/src/components/buttons/button-hline.jsx index 03a1d88576..c24a3dd953 100644 --- a/src/components/buttons/button-hline.jsx +++ b/src/components/buttons/button-hline.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonStyle from '../base/button-style.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -10,6 +11,31 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonHline extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonHline + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'horizontalrule', + style: { + element: 'hr' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default hline + * @memberof ButtonHline + * @property {String} key + * @static + */ + static key = 'hline'; + /** * Lifecycle. Renders the UI of the button. * @@ -20,38 +46,13 @@ class ButtonHline extends React.Component { */ render() { return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default hline - * @memberof ButtonHline - * @property {String} key - * @static - */ -ButtonHline.key = 'hline'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonHline - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonHline.defaultProps = { - command: 'horizontalrule', - style: { - element: 'hr' - } -}; - export default ButtonCommand( ButtonStyle( ButtonHline diff --git a/src/components/buttons/button-icon.jsx b/src/components/buttons/button-icon.jsx new file mode 100644 index 0000000000..7e623f5954 --- /dev/null +++ b/src/components/buttons/button-icon.jsx @@ -0,0 +1,15 @@ +import React from 'react'; + +export default function ButtonIcon({editor, symbol, className = ''}) { + const nativeEditor = editor.get('nativeEditor'); + const spritemap = nativeEditor.config.spritemap || ''; + const path = `${spritemap}#${symbol}`; + const classNamePrefix = className ? ` ${className}` : ''; + const combinedClassName = `ae-svg-icon${classNamePrefix}`; + + return ( + + + + ); +} \ No newline at end of file diff --git a/src/components/buttons/button-image-align-center.jsx b/src/components/buttons/button-image-align-center.jsx index c996b8d485..52bd468a40 100644 --- a/src/components/buttons/button-image-align-center.jsx +++ b/src/components/buttons/button-image-align-center.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonImageAlignCenter extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonImageAlignCenter + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifycenter' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default imageCenter + * @memberof ButtonImageAlignCenter + * @property {String} key + * @static + */ + static key = 'imageCenter'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonImageAlignCenter extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default imageCenter - * @memberof ButtonImageAlignCenter - * @property {String} key - * @static - */ -ButtonImageAlignCenter.key = 'imageCenter'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonImageAlignCenter - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonImageAlignCenter.defaultProps = { - command: 'justifycenter' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-image-align-left.jsx b/src/components/buttons/button-image-align-left.jsx index a2f7f18ff5..f8a4ae4d0f 100644 --- a/src/components/buttons/button-image-align-left.jsx +++ b/src/components/buttons/button-image-align-left.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonImageAlignLeft extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonImageAlignLeft + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifyleft' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default imageLeft + * @memberof ButtonImageAlignLeft + * @property {String} key + * @static + */ + static key = 'imageLeft'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonImageAlignLeft extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default imageLeft - * @memberof ButtonImageAlignLeft - * @property {String} key - * @static - */ -ButtonImageAlignLeft.key = 'imageLeft'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonImageAlignLeft - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonImageAlignLeft.defaultProps = { - command: 'justifyleft' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-image-align-right.jsx b/src/components/buttons/button-image-align-right.jsx index 514c8febae..9cc2becb4e 100644 --- a/src/components/buttons/button-image-align-right.jsx +++ b/src/components/buttons/button-image-align-right.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonImageAlignRight extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonImageAlignRight + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifyright' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default imageRight + * @memberof ButtonImageAlignRight + * @property {String} key + * @static + */ + static key = 'imageRight'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonImageAlignRight extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default imageRight - * @memberof ButtonImageAlignRight - * @property {String} key - * @static - */ -ButtonImageAlignRight.key = 'imageRight'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonImageAlignRight - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonImageAlignRight.defaultProps = { - command: 'justifyright' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-image.jsx b/src/components/buttons/button-image.jsx index 3531a134e2..accdc032b4 100644 --- a/src/components/buttons/button-image.jsx +++ b/src/components/buttons/button-image.jsx @@ -1,5 +1,5 @@ +import ButtonIcon from './button-icon.jsx'; import React from 'react'; -import ReactDOM from 'react-dom'; /** * The ButtonImage class inserts an image to the content. @@ -7,6 +7,16 @@ import ReactDOM from 'react-dom'; * @class ButtonImage */ class ButtonImage extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default image + * @memberof ButtonImage + * @property {String} key + * @static + */ + static key = 'image'; + constructor(props) { super(props); this.fileInput = React.createRef(); @@ -21,15 +31,15 @@ class ButtonImage extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var inputSyle = {display: 'none'}; + const inputSyle = {display: 'none'}; return (
- - +
); } @@ -42,7 +52,7 @@ class ButtonImage extends React.Component { * @method handleClick * @param {SyntheticEvent} event The received click event on the button. */ - handleClick() { + handleClick = () => { this.fileInput.current.click(); } @@ -63,7 +73,7 @@ class ButtonImage extends React.Component { * @protected */ _onInputChange() { - var inputEl = this.fileInput.current; + const inputEl = this.fileInput.current; // On IE11 the function might be called with an empty array of // files. In such a case, no actions will be taken. @@ -71,24 +81,24 @@ class ButtonImage extends React.Component { return; } - var reader = new FileReader(); - var file = inputEl.files[0]; + const reader = new FileReader(); + const file = inputEl.files[0]; - reader.onload = function(event) { - var editor = this.props.editor.get('nativeEditor'); + reader.onload = event => { + const editor = this.props.editor.get('nativeEditor'); - var result = editor.fire('beforeImageAdd', { + const result = editor.fire('beforeImageAdd', { imageFiles: file }); if (!!result) { - var el = CKEDITOR.dom.element.createFromHtml(''); + const el = CKEDITOR.dom.element.createFromHtml(``); editor.insertElement(el); editor.fire('actionPerformed', this); - var imageData = { + const imageData = { el: el, file: file }; @@ -96,7 +106,7 @@ class ButtonImage extends React.Component { editor.fire('imageAdd', imageData); } - }.bind(this); + }; reader.readAsDataURL(file); @@ -104,14 +114,4 @@ class ButtonImage extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default image - * @memberof ButtonImage - * @property {String} key - * @static - */ -ButtonImage.key = 'image'; - export default ButtonImage; diff --git a/src/components/buttons/button-indent-block.jsx b/src/components/buttons/button-indent-block.jsx index 6d5b9e6f76..f310158d9e 100644 --- a/src/components/buttons/button-indent-block.jsx +++ b/src/components/buttons/button-indent-block.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonIndentBlock extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonIndentBlock + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'indent' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default indentBlock + * @memberof ButtonIndentBlock + * @property {String} key + * @static + */ + static key = 'indentBlock'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonIndentBlock extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default indentBlock - * @memberof ButtonIndentBlock - * @property {String} key - * @static - */ -ButtonIndentBlock.key = 'indentBlock'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonIndentBlock - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonIndentBlock.defaultProps = { - command: 'indent' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-italic.jsx b/src/components/buttons/button-italic.jsx index 78f62bdb4a..8a931e5162 100644 --- a/src/components/buttons/button-italic.jsx +++ b/src/components/buttons/button-italic.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonKeystroke from '../base/button-keystroke.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; @@ -14,6 +15,33 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonItalic extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonItalic + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'italic', + keystroke: { + fn: 'execCommand', + keys: CKEDITOR.CTRL + 73 /*I*/ + }, + style: 'coreStyles_italic' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default italic + * @memberof ButtonItalic + * @property {String} key + * @static + */ + static key = 'italic'; + /** * Lifecycle. Renders the UI of the button. * @@ -23,43 +51,16 @@ class ButtonItalic extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default italic - * @memberof ButtonItalic - * @property {String} key - * @static - */ -ButtonItalic.key = 'italic'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonItalic - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonItalic.defaultProps = { - command: 'italic', - keystroke: { - fn: 'execCommand', - keys: CKEDITOR.CTRL + 73 /*I*/ - }, - style: 'coreStyles_italic' -}; - export default ButtonCommand( ButtonKeystroke( ButtonStateClasses( diff --git a/src/components/buttons/button-link-autocomplete-list.jsx b/src/components/buttons/button-link-autocomplete-list.jsx index a7f8b052ab..73d3eba72f 100644 --- a/src/components/buttons/button-link-autocomplete-list.jsx +++ b/src/components/buttons/button-link-autocomplete-list.jsx @@ -1,6 +1,6 @@ import ButtonDropdown from './button-dropdown.jsx'; -import WidgetFocusManager from '../base/widget-focus-manager.js'; import React from 'react'; +import WidgetFocusManager from '../base/widget-focus-manager.js'; /** * The ButtonLinkAutocompleteList class provides functionality for showing a list of @@ -10,6 +10,38 @@ import React from 'react'; * @uses WidgetFocusManager */ class ButtonLinkAutocompleteList extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonLinkAutocompleteList + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + circular: false, + data: [], + delay: 100, + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default buttonLinkAutocompleteList + * @memberof ButtonLinkAutocompleteList + * @property {String} key + * @static + */ + static key = 'buttonLinkAutocompleteList'; + constructor(props) { super(props); @@ -105,17 +137,17 @@ class ButtonLinkAutocompleteList extends React.Component { _renderAutocompleteItems(items) { items = items || []; - var handleLinkAutocompleteClick = this.props.handleLinkAutocompleteClick; + const handleLinkAutocompleteClick = this.props.handleLinkAutocompleteClick; - return items.map(function(item) { - var className = this.props.term === item.url ? 'ae-toolbar-element active' : 'ae-toolbar-element'; + return items.map(item => { + const className = this.props.term === item.url ? 'ae-toolbar-element active' : 'ae-toolbar-element'; return (
  • ); - }.bind(this)); + }); } /** @@ -127,58 +159,26 @@ class ButtonLinkAutocompleteList extends React.Component { * @protected */ _updateItems() { - var instance = this; + const instance = this; if (!this.props.term) { return; } - var promise = Promise.resolve(this.props.data(this.props.term)); + const promise = Promise.resolve(this.props.data(this.props.term)); - promise.then(function(items) { + promise.then(items => { if (items.length) { - !instance.props.expanded && instance.props.toggleDropdown(); + !this.props.expanded && this.props.toggleDropdown(); } - instance.setState({ + this.setState({ items: items }); }); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default buttonLinkAutocompleteList - * @memberof ButtonLinkAutocompleteList - * @property {String} key - * @static - */ -ButtonLinkAutocompleteList.key = 'buttonLinkAutocompleteList'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonLinkAutocompleteList - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonLinkAutocompleteList.defaultProps = { - circular: false, - data: [], - delay: 100, - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - } -}; - export default WidgetFocusManager( ButtonLinkAutocompleteList ); \ No newline at end of file diff --git a/src/components/buttons/button-link-browse.jsx b/src/components/buttons/button-link-browse.jsx new file mode 100644 index 0000000000..f8e5a12cfd --- /dev/null +++ b/src/components/buttons/button-link-browse.jsx @@ -0,0 +1,89 @@ +import ButtonKeyStroke from '../base/button-keystroke.js'; +import ButtonLink from './button-link.jsx'; +import ButtonLinkEditBrowse from './button-link-edit-browse.jsx'; +import ButtonProps from '../base/button-props.js'; +import ButtonStateClasses from '../base/button-state-classes.js'; +import PropTypes from 'prop-types'; +import React from 'react'; + +/** + * The ButtonLinkBrowse class provides functionality for changing text color in a document. + * + * @uses ButtonKeyStroke + * @uses ButtonProps + * @uses ButtonStateClasses + * + * @class ButtonLinkBrowse + */ +class ButtonLinkBrowse extends React.Component { + static defaultProps = { + keystroke: { + fn: '_requestExclusive', + keys: CKEDITOR.CTRL + 76 /*L*/ + } + }; + + static key = 'linkBrowse'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @property {Object} editor + */ + editor: PropTypes.object.isRequired, + + /** + * The label that should be used for accessibility purposes. + * + * @property {String} label + */ + label: PropTypes.string, + + /** + * The tabIndex of the button in its toolbar current state. A value other than -1 + * means that the button has focus and is the active element. + * + * @property {Number} tabIndex + */ + tabIndex: PropTypes.number + }; + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + if (this.props.renderExclusive) { + this.props = this.mergeButtonCfgProps(); + + return ( + + ); + } else { + return ( + + ); + } + + + } + + /** + * Requests the link button to be rendered in exclusive mode to allow the creation of a link. + * + * @protected + * @method _requestExclusive + */ + _requestExclusive() { + this.props.requestExclusive(LinkBrowse.key); + } +} + +export default ButtonProps( + ButtonStateClasses( + ButtonKeyStroke( + ButtonLinkBrowse + ))); \ No newline at end of file diff --git a/src/components/buttons/button-link-edit-browse.jsx b/src/components/buttons/button-link-edit-browse.jsx new file mode 100644 index 0000000000..dc2c865ec9 --- /dev/null +++ b/src/components/buttons/button-link-edit-browse.jsx @@ -0,0 +1,109 @@ +import ButtonIcon from './button-icon.jsx'; +import ButtonLinkEdit from './button-link-edit.jsx'; +import PropTypes from 'prop-types'; +import React from 'react'; + +/** + * The LinkEditBrowse class provides functionality for creating and editing a link in a document, + * and also allows to link to an existing file in DM. + * Provides UI for creating, editing and removing a link. + * + * @class ButtonLinkEditBrowse + */ +class ButtonLinkEditBrowse extends React.Component { + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @property {Object} editor + */ + editor: PropTypes.object.isRequired + }; + + static key = 'linkEditBrowse'; + + constructor(props, context) { + super(props, context); + + const link = new CKEDITOR.Link(this.props.editor.get('nativeEditor')).getFromSelection(); + const href = link ? link.getAttribute('href') : ''; + + this.state = { + element: link, + linkHref: href + }; + } + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + return ( +
    + + +
    + ); + } + + /** + * Opens an item selector dialog. + * + * @protected + * @method _browseClick + */ + _browseClick = () => { + const instance = this; + + const editor = this.props.editor.get('nativeEditor'); + + const url = editor.config.documentBrowseLinkUrl; + + const linkTarget = this.refs.linkEditButton.state.linkTarget; + + // TODO: This should invoke callback or emit an event + // Let's talk about the solution we prefer. + } + + /** + * Updates the link in the editor element. If the element didn't exist previously, it will + * create a new element with the href specified in the link input. + * + * @protected + * @method _updateLink + * @param {String} linkHref href value for the link + * @param {String} linkTarget target value for the link + * @param {String} linkTitle if the link is a title that points to a wiki page (only works for creole) + */ + _updateLink(linkHref, linkTarget, linkTitle) { + const editor = this.props.editor.get('nativeEditor'); + const linkUtils = new CKEDITOR.Link(editor, { appendProtocol: false }); + const linkAttrs = { + target: linkTarget + }; + const modifySelection = { advance: true }; + + if (linkHref) { + if (editor.plugins && editor.plugins.creole && !linkTitle) { + linkHref = location.origin + linkHref; + } + + if (this.state.element) { + linkAttrs.href = linkHref; + + linkUtils.update(linkAttrs, this.state.element, modifySelection); + } else { + linkUtils.create(linkHref, linkAttrs, modifySelection); + } + + editor.fire('actionPerformed', this); + } + } +} + +export default ButtonLinkEditBrowse; \ No newline at end of file diff --git a/src/components/buttons/button-link-edit.jsx b/src/components/buttons/button-link-edit.jsx index 34e89177b0..07607e2742 100644 --- a/src/components/buttons/button-link-edit.jsx +++ b/src/components/buttons/button-link-edit.jsx @@ -1,9 +1,9 @@ import ButtonCfgProps from '../base/button-props.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonLinkAutocompleteList from './button-link-autocomplete-list.jsx'; import ButtonLinkTargetEdit from './button-link-target-edit.jsx'; import Lang from '../../oop/lang.js'; import React from 'react'; -import ReactDOM from 'react-dom'; import WidgetDropdown from '../base/widget-dropdown.js'; import WidgetFocusManager from '../base/widget-focus-manager.js'; @@ -17,6 +17,41 @@ import WidgetFocusManager from '../base/widget-focus-manager.js'; * @uses WidgetFocusManager */ class ButtonLinkEdit extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonLinkEdit + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + appendProtocol: true, + autocompleteUrl: '', + circular: true, + customIndexStart: true, + defaultLinkTarget: '', + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + }, + showTargetSelector: true + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default linkEdit + * @memberof ButtonLinkEdit + * @property {String} key + * @static + */ + static key = 'linkEdit'; + constructor(props) { super(props); @@ -63,27 +98,27 @@ class ButtonLinkEdit extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var targetSelector = { + let targetSelector = { allowedTargets: this.props.allowedTargets, editor: this.props.editor, - handleLinkTargetChange: this._handleLinkTargetChange.bind(this), + handleLinkTargetChange: this._handleLinkTargetChange, selectedTarget: this.state.linkTarget || AlloyEditor.Strings.linkTargetDefault }; targetSelector = this.mergeDropdownProps(targetSelector, ButtonLinkTargetEdit.key); - var autocompleteDropdown; + let autocompleteDropdown; if (this.props.data) { - var dataFn = this.props.data; + let dataFn = this.props.data; if (!Lang.isFunction(dataFn)) { - var items = this.props.data; + const items = this.props.data; dataFn = () => items; } - var autocompleteDropdownProps = { + let autocompleteDropdownProps = { autocompleteSelected: this.state.autocompleteSelected, data: dataFn, editor: this.props.editor, @@ -98,13 +133,13 @@ class ButtonLinkEdit extends React.Component { autocompleteDropdown = ; } - var buttonClearLink; + let buttonClearLink; if (this.state.linkHref) { - buttonClearLink = ; + buttonClearLink = ; } - var placeholderProp = {}; + const placeholderProp = {}; if (!CKEDITOR.env.ie && AlloyEditor.Strings) { placeholderProp.placeholder = AlloyEditor.Strings.editLink; @@ -112,19 +147,19 @@ class ButtonLinkEdit extends React.Component { return (
    -
    {this.props.showTargetSelector && }
    - + {autocompleteDropdown}
    {buttonClearLink}
    -
    ); @@ -168,7 +203,7 @@ class ButtonLinkEdit extends React.Component { * @method _clearLink * @protected */ - _clearLink() { + _clearLink = () => { this.setState({ linkHref: '' }); @@ -185,9 +220,9 @@ class ButtonLinkEdit extends React.Component { * @protected */ _focusLinkInput() { - var instance = this; + const instance = this; - var focusLinkEl = function() { + const focusLinkEl = function() { instance.linkInput.current.focus(); }; @@ -209,7 +244,7 @@ class ButtonLinkEdit extends React.Component { * @param {SyntheticEvent} event The keyboard event. * @protected */ - _handleKeyDown(event) { + _handleKeyDown = event => { if (event.keyCode === 13 || event.keyCode === 27) { event.preventDefault(); } @@ -221,7 +256,7 @@ class ButtonLinkEdit extends React.Component { autocompleteSelected: true }); } else if (event.keyCode === 27) { - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); new CKEDITOR.Link(editor).advanceSelection(); @@ -238,7 +273,7 @@ class ButtonLinkEdit extends React.Component { * @param {SyntheticEvent} event The change event. * @protected */ - _handleLinkHrefChange(event) { + _handleLinkHrefChange = event => { this.setState({ linkHref: event.target.value }); @@ -255,7 +290,7 @@ class ButtonLinkEdit extends React.Component { * @param {SyntheticEvent} event The click event. * @protected */ - _handleLinkTargetChange(event) { + _handleLinkTargetChange = event => { this.setState({ itemDropdown: null, linkTarget: event.target.getAttribute('data-value') @@ -294,7 +329,7 @@ class ButtonLinkEdit extends React.Component { * @return {Boolean} [description] */ _isValidState() { - var validState = + const validState = this.state.linkHref && ( this.state.linkHref !== this.state.initialLink.href || this.state.linkTarget !== this.state.initialLink.target @@ -311,11 +346,11 @@ class ButtonLinkEdit extends React.Component { * @method _removeLink * @protected */ - _removeLink() { - var editor = this.props.editor.get('nativeEditor'); - var linkUtils = new CKEDITOR.Link(editor); - var selection = editor.getSelection(); - var bookmarks = selection.createBookmarks(); + _removeLink = () => { + const editor = this.props.editor.get('nativeEditor'); + const linkUtils = new CKEDITOR.Link(editor); + const selection = editor.getSelection(); + const bookmarks = selection.createBookmarks(); linkUtils.remove(this.state.element, { advance: true }); @@ -351,13 +386,13 @@ class ButtonLinkEdit extends React.Component { * @method _updateLink * @protected */ - _updateLink() { - var editor = this.props.editor.get('nativeEditor'); - var linkUtils = new CKEDITOR.Link(editor, {appendProtocol: this.props.appendProtocol}); - var linkAttrs = { + _updateLink = () => { + const editor = this.props.editor.get('nativeEditor'); + const linkUtils = new CKEDITOR.Link(editor, {appendProtocol: this.props.appendProtocol}); + const linkAttrs = { target: this.state.linkTarget }; - var modifySelection = { advance: true }; + const modifySelection = { advance: true }; if (this.state.linkHref) { if (this.state.element) { @@ -377,41 +412,6 @@ class ButtonLinkEdit extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default linkEdit - * @memberof ButtonLinkEdit - * @property {String} key - * @static - */ -ButtonLinkEdit.key = 'linkEdit'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonLinkEdit - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonLinkEdit.defaultProps = { - appendProtocol: true, - autocompleteUrl: '', - circular: true, - customIndexStart: true, - defaultLinkTarget: '', - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - }, - showTargetSelector: true -}; - export default ButtonCfgProps( WidgetDropdown( WidgetFocusManager( diff --git a/src/components/buttons/button-link-target-edit.jsx b/src/components/buttons/button-link-target-edit.jsx index b5fba2b79a..fe66a29e07 100644 --- a/src/components/buttons/button-link-target-edit.jsx +++ b/src/components/buttons/button-link-target-edit.jsx @@ -1,3 +1,4 @@ +import ButtonIcon from './button-icon.jsx'; import ButtonTargetList from './button-target-list.jsx'; import React from 'react'; @@ -8,6 +9,16 @@ import React from 'react'; * @class ButtonLinkTargetEdit */ class ButtonLinkTargetEdit extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default linkTargetEdit + * @memberof ButtonLinkTargetEdit + * @property {String} key + * @static + */ + static key = 'linkTargetEdit'; + /** * Lifecycle. Renders the UI of the button. * @@ -17,15 +28,15 @@ class ButtonLinkTargetEdit extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var handleLinkTargetChange = this.props.handleLinkTargetChange; - var allowedLinkTargets = this.props.allowedTargets; + const handleLinkTargetChange = this.props.handleLinkTargetChange; + const allowedLinkTargets = this.props.allowedTargets; return (
    - {this.props.expanded && ( @@ -50,14 +61,4 @@ class ButtonLinkTargetEdit extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default linkTargetEdit - * @memberof ButtonLinkTargetEdit - * @property {String} key - * @static - */ -ButtonLinkTargetEdit.key = 'linkTargetEdit'; - export default ButtonLinkTargetEdit; diff --git a/src/components/buttons/button-link.jsx b/src/components/buttons/button-link.jsx index 89337370d1..b8ac7f980e 100644 --- a/src/components/buttons/button-link.jsx +++ b/src/components/buttons/button-link.jsx @@ -1,6 +1,7 @@ import ButtonCfgProps from '../base/button-props.js'; -import ButtonLinkEdit from './button-link-edit.jsx'; +import ButtonIcon from './button-icon.jsx'; import ButtonKeystroke from '../base/button-keystroke.js'; +import ButtonLinkEdit from './button-link-edit.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -17,6 +18,31 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonLink extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonLink + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + keystroke: { + fn: '_requestExclusive', + keys: CKEDITOR.CTRL + 76 /*L*/ + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default link + * @memberof ButtonLink + * @property {String} key + * @static + */ + static key = 'link'; + /** * Checks if the current selection is contained within a link. * @@ -38,18 +64,18 @@ class ButtonLink extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; if (this.props.renderExclusive) { - var props = this.mergeButtonCfgProps(); + const props = this.mergeButtonCfgProps(); return ( ); } else { return ( - ); } @@ -63,36 +89,11 @@ class ButtonLink extends React.Component { * @method _requestExclusive * @protected */ - _requestExclusive() { + _requestExclusive = () => { this.props.requestExclusive(ButtonLink.key); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default link - * @memberof ButtonLink - * @property {String} key - * @static - */ -ButtonLink.key = 'link'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonLink - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonLink.defaultProps = { - keystroke: { - fn: '_requestExclusive', - keys: CKEDITOR.CTRL + 76 /*L*/ - } -}; - export default ButtonCfgProps( ButtonKeystroke( ButtonStateClasses( diff --git a/src/components/buttons/button-ol.jsx b/src/components/buttons/button-ol.jsx index cd8279bf8c..499fe38d80 100644 --- a/src/components/buttons/button-ol.jsx +++ b/src/components/buttons/button-ol.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -12,6 +13,31 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonOrderedList extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonOrderedList + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'numberedlist', + style: { + element: 'ol' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default ol + * @memberof ButtonOrderedList + * @property {String} key + * @static + */ + static key = 'ol'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,41 +47,16 @@ class ButtonOrderedList extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default ol - * @memberof ButtonOrderedList - * @property {String} key - * @static - */ -ButtonOrderedList.key = 'ol'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonOrderedList - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonOrderedList.defaultProps = { - command: 'numberedlist', - style: { - element: 'ol' - } -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-outdent-block.jsx b/src/components/buttons/button-outdent-block.jsx index 15e37de5fd..41839f06ec 100644 --- a/src/components/buttons/button-outdent-block.jsx +++ b/src/components/buttons/button-outdent-block.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonOutdentBlock extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonOutdentBlock + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'outdent' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default indentBlock + * @memberof ButtonOutdentBlock + * @property {String} key + * @static + */ + static key = 'outdentBlock'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonOutdentBlock extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default indentBlock - * @memberof ButtonOutdentBlock - * @property {String} key - * @static - */ -ButtonOutdentBlock.key = 'outdentBlock'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonOutdentBlock - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonOutdentBlock.defaultProps = { - command: 'outdent' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-paragraph-align-left.jsx b/src/components/buttons/button-paragraph-align-left.jsx index 71a850d2ef..0016dd82b7 100644 --- a/src/components/buttons/button-paragraph-align-left.jsx +++ b/src/components/buttons/button-paragraph-align-left.jsx @@ -1,16 +1,41 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; + /** * The ButtonParagraphAlignLeft class provides functionality for aligning a paragraph on left. * * @class ButtonParagraphAlignLeft + * * @uses ButtonCommand * @uses ButtonCommandActive * @uses ButtonStateClasses */ class ButtonParagraphAlignLeft extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonParagraphAlignLeft + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifyleft' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default paragraphLeft + * @memberof ButtonParagraphAlignLeft + * @property {String} key + * @static + */ + static key = 'paragraphLeft'; + /** * Lifecycle. Renders the UI of the button. * @@ -20,38 +45,16 @@ class ButtonParagraphAlignLeft extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default paragraphLeft - * @memberof ButtonParagraphAlignLeft - * @property {String} key - * @static - */ -ButtonParagraphAlignLeft.key = 'paragraphLeft'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonParagraphAlignLeft - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonParagraphAlignLeft.defaultProps = { - command: 'justifyleft' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-paragraph-align-right.jsx b/src/components/buttons/button-paragraph-align-right.jsx index 9e2a93d7f7..a03bb9162a 100644 --- a/src/components/buttons/button-paragraph-align-right.jsx +++ b/src/components/buttons/button-paragraph-align-right.jsx @@ -1,7 +1,9 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; + /** * The ButtonParagraphAlignRight class provides functionality for aligning a paragraph on right. * @@ -11,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonParagraphAlignRight extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonParagraphAlignRight + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifyright' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default paragraphRight + * @memberof ButtonParagraphAlignRight + * @property {String} key + * @static + */ + static key = 'paragraphRight'; + /** * Lifecycle. Renders the UI of the button. * @@ -20,38 +44,16 @@ class ButtonParagraphAlignRight extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default paragraphRight - * @memberof ButtonParagraphAlignRight - * @property {String} key - * @static - */ -ButtonParagraphAlignRight.key = 'paragraphRight'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonParagraphAlignRight - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonParagraphAlignRight.defaultProps = { - command: 'justifyright' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-paragraph-align.jsx b/src/components/buttons/button-paragraph-align.jsx index db419e69f7..d4b847c431 100644 --- a/src/components/buttons/button-paragraph-align.jsx +++ b/src/components/buttons/button-paragraph-align.jsx @@ -1,4 +1,5 @@ import ButtonCommandsList from './button-commands-list.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -7,6 +8,7 @@ import React from 'react'; * @class ButtonParagraphAlign */ class ButtonParagraphAlign extends React.Component { + static key = 'paragraphAlign'; /** * Lifecycle. Renders the UI of the button. @@ -17,34 +19,34 @@ class ButtonParagraphAlign extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var activeAlignment = AlloyEditor.Strings.alignLeft; + const activeAlignment = AlloyEditor.Strings.alignLeft; - var buttonCommandsList; - var buttonCommandsListId; + let buttonCommandsList; + let buttonCommandsListId; if (this.props.expanded) { buttonCommandsListId = ButtonParagraphAlign.key + 'List'; buttonCommandsList = } - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); - var activeCommand = this._getCommands().filter( + const activeCommand = this._getCommands().filter( alignment => { - var command = editor.getCommand(alignment.command); + const command = editor.getCommand(alignment.command); return command ? command.state === CKEDITOR.TRISTATE_ON : false; } ).pop(); - var iconClassName = `ae-icon-${activeCommand.icon}`; + const iconClassName = activeCommand.icon; return (
    {buttonCommandsList} @@ -81,13 +83,11 @@ class ButtonParagraphAlign extends React.Component { }, { command: 'justifyblock', - icon: 'align-justified', + icon: 'align-justify', label: AlloyEditor.Strings.alignJustify } ]; } } -ButtonParagraphAlign.key = 'paragraphAlign'; - export default ButtonParagraphAlign; \ No newline at end of file diff --git a/src/components/buttons/button-paragraph-center.jsx b/src/components/buttons/button-paragraph-center.jsx index 77da9e6181..b10d89510b 100644 --- a/src/components/buttons/button-paragraph-center.jsx +++ b/src/components/buttons/button-paragraph-center.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonParagraphCenter extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonParagraphCenter + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifycenter' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default paragraphCenter + * @memberof ButtonParagraphCenter + * @property {String} key + * @static + */ + static key = 'paragraphCenter'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonParagraphCenter extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default paragraphCenter - * @memberof ButtonParagraphCenter - * @property {String} key - * @static - */ -ButtonParagraphCenter.key = 'paragraphCenter'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonParagraphCenter - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonParagraphCenter.defaultProps = { - command: 'justifycenter' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-paragraph-justify.jsx b/src/components/buttons/button-paragraph-justify.jsx index 1d1e55f07a..0a2ecd8871 100644 --- a/src/components/buttons/button-paragraph-justify.jsx +++ b/src/components/buttons/button-paragraph-justify.jsx @@ -1,5 +1,6 @@ import ButtonCommand from '../base/button-command.js'; import ButtonCommandActive from '../base/button-command-active.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; @@ -12,6 +13,28 @@ import React from 'react'; * @uses ButtonStateClasses */ class ButtonParagraphJustify extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonParagraphJustify + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'justifyblock' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default paragraphJustify + * @memberof ButtonParagraphJustify + * @property {String} key + * @static + */ + static key = 'paragraphJustify'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,38 +44,16 @@ class ButtonParagraphJustify extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default paragraphJustify - * @memberof ButtonParagraphJustify - * @property {String} key - * @static - */ -ButtonParagraphJustify.key = 'paragraphJustify'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonParagraphJustify - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonParagraphJustify.defaultProps = { - command: 'justifyblock' -}; - export default ButtonCommand( ButtonCommandActive( ButtonStateClasses( diff --git a/src/components/buttons/button-quote.jsx b/src/components/buttons/button-quote.jsx index 70197bfdb0..f954462441 100644 --- a/src/components/buttons/button-quote.jsx +++ b/src/components/buttons/button-quote.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -12,6 +13,31 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonQuote extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonQuote + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'blockquote', + style: { + element: 'blockquote' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default quote + * @memberof ButtonQuote + * @property {String} key + * @static + */ + static key = 'quote'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,41 +47,16 @@ class ButtonQuote extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default quote - * @memberof ButtonQuote - * @property {String} key - * @static - */ -ButtonQuote.key = 'quote'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonQuote - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonQuote.defaultProps = { - command: 'blockquote', - style: { - element: 'blockquote' - } -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-remove-format.jsx b/src/components/buttons/button-remove-format.jsx index e3b22d6daf..c0f31c4303 100644 --- a/src/components/buttons/button-remove-format.jsx +++ b/src/components/buttons/button-remove-format.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -8,6 +9,28 @@ import React from 'react'; * @uses ButtonCommand */ class ButtonRemoveFormat extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonRemoveFormat + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'removeFormat' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default removeFormat + * @memberof ButtonRemoveFormat + * @property {String} key + * @static + */ + static key = 'removeFormat'; + /** * Lifecycle. Renders the UI of the button. * @@ -18,35 +41,13 @@ class ButtonRemoveFormat extends React.Component { */ render() { return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default removeFormat - * @memberof ButtonRemoveFormat - * @property {String} key - * @static - */ -ButtonRemoveFormat.key = 'removeFormat'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonRemoveFormat - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonRemoveFormat.defaultProps = { - command: 'removeFormat' -}; - export default ButtonCommand( ButtonRemoveFormat ); \ No newline at end of file diff --git a/src/components/buttons/button-spacing.jsx b/src/components/buttons/button-spacing.jsx new file mode 100644 index 0000000000..f6a9352719 --- /dev/null +++ b/src/components/buttons/button-spacing.jsx @@ -0,0 +1,277 @@ +import ButtonIcon from './button-icon.jsx'; +import ButtonProps from '../base/button-props.js'; +import ButtonStateClasses from '../base/button-state-classes.js'; +import ButtonStylesList from './button-styles-list.jsx'; +import PropTypes from 'prop-types'; +import React from 'react'; + +/** + * The ButtonSpacing class provides functionality for changing text color in a document. + * + * @uses ButtonProps + * @uses ButtonStateClasses + * + * @class ButtonSpacing + */ +class ButtonSpacing extends React.Component { + static key = 'spacing'; + + static propTypes = { + /** + * The editor instance where the component is being used. + * + * @instance + * @memberof Spacing + * @property {Object} editor + */ + editor: PropTypes.object.isRequired, + + /** + * Indicates whether the styles list is expanded or not. + * + * @instance + * @memberof Spacing + * @property {Boolean} expanded + */ + expanded: PropTypes.bool, + + /** + * The label that should be used for accessibility purposes. + * + * @instance + * @memberof Spacing + * @property {String} label + */ + label: PropTypes.string, + + /** + * Indicates whether the remove styles item should appear in the styles list. + * + * @instance + * @memberof Spacing + * @property {Boolean} showRemoveStylesItem + */ + showRemoveStylesItem: PropTypes.bool, + + /** + * List of the styles the button is able to handle. + * + * @instance + * @memberof Spacing + * @property {Array} styles + */ + styles: PropTypes.arrayOf(PropTypes.object), + + /** + * The tabIndex of the button in its toolbar current state. A value other than -1 + * means that the button has focus and is the active element. + * + * @instance + * @memberof Spacing + * @property {Number} tabIndex + */ + tabIndex: PropTypes.number, + + /** + * Callback provided by the button host to notify when the styles list has been expanded. + * + * @instance + * @memberof Spacing + * @property {Function} toggleDropdown + */ + toggleDropdown: PropTypes.func + }; + + /** + * Lifecycle. Renders the UI of the button. + * + * @method render + * @return {Object} The content which should be rendered. + */ + render() { + let activeSpacing = '1.0x'; + + const spacings = this._getSpacings(); + + spacings.forEach(item => { + if (this._checkActive(item.style)) { + activeSpacing = item.name; + } + }); + + const { + editor, + expanded, + tabIndex, + toggleDropdown + } = this.props; + + const buttonStylesProps = { + activeStyle: activeSpacing, + editor: editor, + onDismiss: toggleDropdown, + showRemoveStylesItem: false, + styles: spacings + }; + + return ( +
    + + {expanded && + + } +
    + ); + } + + _applyStyle(className) { + const editor = this.props.editor.get('nativeEditor'); + + const styleConfig = { + element: 'div', + attributes: { + class: className + } + }; + + const style = new CKEDITOR.style(styleConfig); + + editor.getSelection().lock(); + + this._getSpacings().forEach( item => { + if (this._checkActive(item.style)) { + editor.removeStyle(new CKEDITOR.style(item.style)); + } + }); + + editor.applyStyle(style); + + editor.getSelection().unlock(); + + editor.fire('actionPerformed', this); + } + + /** + * Checks if the given spacing definition is applied to the current selection in the editor. + * + * @instance + * @memberof Spacing + * @method _checkActive + * @param {Object} styleConfig Spacing definition as per http://docs.ckeditor.com/#!/api/CKEDITOR.style. + * @protected + * @return {Boolean} Returns true if the spacing is applied to the selection, false otherwise. + */ + _checkActive(styleConfig) { + const nativeEditor = this.props.editor.get('nativeEditor'); + + let active = true; + + const elementPath = nativeEditor.elementPath(); + + if (elementPath && elementPath.lastElement) { + styleConfig.attributes.class.split(' ').forEach( + function (className) { + active = active && elementPath.lastElement.hasClass(className); + } + ) + } else { + active = false; + } + + return active; + } + + /** + * Returns an array of spacings. Each spacing consists from three properties: + * - name - the style name, for example "default" + * - style - an object with one property, called `element` which value + * represents the style which have to be applied to the element. + * - styleFn - a function which applies selected style to the editor selection + * + * @instance + * @memberof Spacing + * @method _getSpacings + * @protected + * @return {Array} An array of objects containing the spacings. + */ + _getSpacings() { + return this.props.styles || [{ + name: '1.0x', + style: { + element: 'div', + attributes: { + class: '' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, ''), + }, { + name: '1.5x', + style: { + element: 'div', + attributes: { + class: 'mt-1 mb-1' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, 'mt-1 mb-1') + }, { + name: '2.0x', + style: { + element: 'div', + attributes: { + class: 'mt-2 mb-2' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, 'mt-2 mb-2') + }, { + name: '3.0x', + style: { + element: 'div', + attributes: { + class: 'mt-3 mb-3' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, 'mt-3 mb-3') + }, { + name: '4.0x', + style: { + element: 'div', + attributes: { + class: 'mt-4 mb-4' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, 'mt-4 mb-4') + }, { + name: '5.0x', + style: { + element: 'div', + attributes: { + class: 'mt-5 mb-5' + }, + type: 1 + }, + styleFn: this._applyStyle.bind(this, 'mt-5 mb-5') + }]; + } +} + +export default ButtonProps( + ButtonStateClasses( + ButtonSpacing +)); \ No newline at end of file diff --git a/src/components/buttons/button-strike.jsx b/src/components/buttons/button-strike.jsx index 2977c14114..6ed5b373b6 100644 --- a/src/components/buttons/button-strike.jsx +++ b/src/components/buttons/button-strike.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -12,6 +13,30 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonStrike extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonStrike + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'strike', + style: 'coreStyles_strike' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default strike + * @memberof ButtonStrike + * @property {String} key + * @static + */ + static key = 'strike'; + + /** * Lifecycle. Renders the UI of the button. * @instance @@ -20,39 +45,16 @@ class ButtonStrike extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default strike - * @memberof ButtonStrike - * @property {String} key - * @static - */ -ButtonStrike.key = 'strike'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonStrike - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonStrike.defaultProps = { - command: 'strike', - style: 'coreStyles_strike' -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-styles-list-header.jsx b/src/components/buttons/button-styles-list-header.jsx index 0efa990f1a..b7b1b231f4 100644 --- a/src/components/buttons/button-styles-list-header.jsx +++ b/src/components/buttons/button-styles-list-header.jsx @@ -6,6 +6,8 @@ import React from 'react'; * @class ButtonsStylesListHeader */ class ButtonsStylesListHeader extends React.Component { + static key = 'buttonStylesListHeader'; + /** * Lifecycle. Renders the UI of the button. * @@ -25,6 +27,4 @@ class ButtonsStylesListHeader extends React.Component { } } -ButtonsStylesListHeader.key = 'buttonStylesListHeader'; - export default ButtonsStylesListHeader; \ No newline at end of file diff --git a/src/components/buttons/button-styles-list-item-remove.jsx b/src/components/buttons/button-styles-list-item-remove.jsx index 879cec6bd0..93bb151ac5 100644 --- a/src/components/buttons/button-styles-list-item-remove.jsx +++ b/src/components/buttons/button-styles-list-item-remove.jsx @@ -7,6 +7,28 @@ import React from 'react'; * @class ButtonStylesListItemRemove */ class ButtonStylesListItemRemove extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonStylesListItemRemove + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + removeBlocks: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre'] + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default buttonStylesListItemRemove + * @memberof ButtonStylesListItemRemove + * @property {String} key + * @static + */ + static key = 'buttonStylesListItemRemove'; + /** * Lifecycle. Renders the UI of the button. * @@ -18,7 +40,7 @@ class ButtonStylesListItemRemove extends React.Component { render() { return (
  • - +
  • ); } @@ -31,13 +53,13 @@ class ButtonStylesListItemRemove extends React.Component { * @method _removeStyles * @protected */ - _removeStyles() { - var editor = this.props.editor.get('nativeEditor'); + _removeStyles = () => { + const editor = this.props.editor.get('nativeEditor'); editor.execCommand('removeFormat'); this.props.removeBlocks.forEach(function(blockItem) { - var blockStyle = new CKEDITOR.style({element: blockItem}); + const blockStyle = new CKEDITOR.style({element: blockItem}); editor.removeStyle(blockStyle); }); @@ -46,26 +68,4 @@ class ButtonStylesListItemRemove extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default buttonStylesListItemRemove - * @memberof ButtonStylesListItemRemove - * @property {String} key - * @static - */ -ButtonStylesListItemRemove.key = 'buttonStylesListItemRemove'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonStylesListItemRemove - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonStylesListItemRemove.defaultProps = { - removeBlocks: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre'] -}; - export default ButtonStylesListItemRemove; diff --git a/src/components/buttons/button-styles-list-item.jsx b/src/components/buttons/button-styles-list-item.jsx index ea6bf0537c..a668cc4f43 100644 --- a/src/components/buttons/button-styles-list-item.jsx +++ b/src/components/buttons/button-styles-list-item.jsx @@ -11,6 +11,16 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonStylesListItem extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default buttonStylesListItem + * @memberof ButtonStylesListItem + * @property {String} key + * @static + */ + static key = 'buttonStylesListItem'; + /** * Lifecycle. Invoked once, both on the client and server, immediately before the initial rendering occurs. * @@ -21,7 +31,7 @@ class ButtonStylesListItem extends React.Component { componentWillMount() { // Styles with wildcard element (*) generate an empty tag in their preview < class="custom-class" />. // We default to element span and remove the margins to obtain a more consistent set of previews. - var styleCfg = { + let styleCfg = { element: 'span', styles: { margin: 0 @@ -44,10 +54,10 @@ class ButtonStylesListItem extends React.Component { render() { // We need to use dangerouselySetInnterHTML since we're not in control of the style // preview that is generated by CKEditor. - var className = this.props.name === this.props.activeStyle ? 'ae-toolbar-element active' : 'ae-toolbar-element'; + const className = this.props.name === this.props.activeStyle ? 'ae-toolbar-element active' : 'ae-toolbar-element'; return ( - + ); } @@ -59,7 +69,7 @@ class ButtonStylesListItem extends React.Component { * @method _onClick * @protected */ - _onClick() { + _onClick = () => { // Typically, we want the style to be the only one applied to the current selection, so // we execute the 'removeFormat' command first. Note that block styles won't be cleaned. // However, this is consistent with other editors implementations of this feature. @@ -69,16 +79,6 @@ class ButtonStylesListItem extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default buttonStylesListItem - * @memberof ButtonStylesListItem - * @property {String} key - * @static - */ -ButtonStylesListItem.key = 'buttonStylesListItem'; - export default ButtonActionStyle( ButtonStyle( ButtonStylesListItem diff --git a/src/components/buttons/button-styles-list.jsx b/src/components/buttons/button-styles-list.jsx index 17277203da..260e56c717 100644 --- a/src/components/buttons/button-styles-list.jsx +++ b/src/components/buttons/button-styles-list.jsx @@ -14,6 +14,37 @@ import WidgetFocusManager from '../base/widget-focus-manager.js'; * @uses WidgetFocusManager */ class ButtonStylesList extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonStylesList + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + circular: false, + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + }, + showRemoveStylesItem: true + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @memberof ButtonStylesList + * @static + * @property {String} key + * @default buttonStylesList + */ + static key = 'buttonStylesList'; + /** * Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs. * @@ -35,12 +66,12 @@ class ButtonStylesList extends React.Component { * @method componentWillMount */ componentWillMount() { - var blockStyles = []; - var inlineStyles = []; - var objectStyles = []; + const blockStyles = []; + const inlineStyles = []; + const objectStyles = []; this.props.styles.forEach(function(item) { - var style = new CKEDITOR.style(item.style); + const style = new CKEDITOR.style(item.style); if (style.type === CKEDITOR.STYLE_BLOCK) { blockStyles.push(item); @@ -65,7 +96,7 @@ class ButtonStylesList extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var removeStylesItem; + let removeStylesItem; if (this.props.showRemoveStylesItem) { removeStylesItem = ; @@ -98,54 +129,23 @@ class ButtonStylesList extends React.Component { * @return {Array} Rendered instances of ButtonStylesListItem class */ _renderStylesItems(styles) { - var editor = this.props.editor; - var items; + const editor = this.props.editor; + let items; if (styles && styles.length) { - items = styles.map(function(item) { + items = styles.map(item => { return (
  • ); - }.bind(this)); + }); } return items; } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @memberof ButtonStylesList - * @static - * @property {String} key - * @default buttonStylesList - */ -ButtonStylesList.key = 'buttonStylesList'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonStylesList - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonStylesList.defaultProps = { - circular: false, - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - }, - showRemoveStylesItem: true -}; - export default WidgetFocusManager( ButtonStylesList ); \ No newline at end of file diff --git a/src/components/buttons/button-styles.jsx b/src/components/buttons/button-styles.jsx index 23200b4ff2..39008aa023 100644 --- a/src/components/buttons/button-styles.jsx +++ b/src/components/buttons/button-styles.jsx @@ -1,3 +1,4 @@ +import ButtonIcon from './button-icon.jsx'; import ButtonStylesList from './button-styles-list.jsx'; import React from 'react'; @@ -9,6 +10,16 @@ import React from 'react'; * @class ButtonStyles */ class ButtonStyles extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default styles + * @memberof ButtonStyles + * @property {String} key + * @static + */ + static key = 'styles'; + /** * Lifecycle. Renders the UI of the button. * @@ -18,17 +29,17 @@ class ButtonStyles extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var activeStyle = AlloyEditor.Strings.normal; + let activeStyle = AlloyEditor.Strings.normal; - var styles = this._getStyles(); + const styles = this._getStyles(); - styles.forEach(function(item) { + styles.forEach(item => { if (this._checkActive(item.style)) { activeStyle = item.name; } - }.bind(this)); + }); - var buttonStylesList; + let buttonStylesList; if (this.props.expanded) { buttonStylesList = ; @@ -36,10 +47,10 @@ class ButtonStyles extends React.Component { return (
    - {buttonStylesList} @@ -58,13 +69,13 @@ class ButtonStyles extends React.Component { * @return {Boolean} Returns true if the style is applied to the selection, false otherwise. */ _checkActive(styleConfig) { - var nativeEditor = this.props.editor.get('nativeEditor'); + const nativeEditor = this.props.editor.get('nativeEditor'); // Styles with wildcard element (*) won't be considered active by CKEditor. Defaulting // to a 'span' element works for most of those cases with no defined element. styleConfig = CKEDITOR.tools.merge({element: 'span'}, styleConfig); - var style = new CKEDITOR.style(styleConfig); + const style = new CKEDITOR.style(styleConfig); return style.checkActive(nativeEditor.elementPath(), nativeEditor); } @@ -117,14 +128,4 @@ class ButtonStyles extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default styles - * @memberof ButtonStyles - * @property {String} key - * @static - */ -ButtonStyles.key = 'styles'; - export default ButtonStyles; \ No newline at end of file diff --git a/src/components/buttons/button-subscript.jsx b/src/components/buttons/button-subscript.jsx index 4b7e7a29dd..ec241be9cf 100644 --- a/src/components/buttons/button-subscript.jsx +++ b/src/components/buttons/button-subscript.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -7,11 +8,35 @@ import React from 'react'; * The ButtonSubscript class provides functionality for applying subscript style to a text selection. * * @class ButtonSubscript + * * @uses ButtonCommand * @uses ButtonStateClasses * @uses ButtonStyle */ class ButtonSubscript extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonSubscript + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'subscript', + style: 'coreStyles_subscript' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default subscript + * @memberof ButtonSubscript + * @property {String} key + * @static + */ + static key = 'subscript'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,39 +46,16 @@ class ButtonSubscript extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default subscript - * @memberof ButtonSubscript - * @property {String} key - * @static - */ -ButtonSubscript.key = 'subscript'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonSubscript - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonSubscript.defaultProps = { - command: 'subscript', - style: 'coreStyles_subscript' -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-superscript.jsx b/src/components/buttons/button-superscript.jsx index d721e8e87c..c670640b5a 100644 --- a/src/components/buttons/button-superscript.jsx +++ b/src/components/buttons/button-superscript.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -7,11 +8,35 @@ import React from 'react'; * The ButtonSuperscript class provides functionality for applying superscript style to a text selection. * * @class ButtonSuperscript + * * @uses ButtonCommand * @uses ButtonStateClasses * @uses ButtonStyle */ class ButtonSuperscript extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonSuperscript + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'superscript', + style: 'coreStyles_superscript' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default superscript + * @memberof ButtonSuperscript + * @property {String} key + * @static + */ + static key = 'superscript'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,39 +46,16 @@ class ButtonSuperscript extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default superscript - * @memberof ButtonSuperscript - * @property {String} key - * @static - */ -ButtonSuperscript.key = 'superscript'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonSuperscript - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonSuperscript.defaultProps = { - command: 'superscript', - style: 'coreStyles_superscript' -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-table-cell.jsx b/src/components/buttons/button-table-cell.jsx index 654900faa1..4ac58d6095 100644 --- a/src/components/buttons/button-table-cell.jsx +++ b/src/components/buttons/button-table-cell.jsx @@ -1,4 +1,5 @@ import ButtonCommandsList from './button-commands-list.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -7,6 +8,16 @@ import React from 'react'; * @class ButtonTableCell */ class ButtonTableCell extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableCell + * @memberof ButtonTableCell + * @property {String} key + * @static + */ + static key = 'tableCell'; + /** * Lifecycle. Renders the UI of the button. * @@ -16,8 +27,8 @@ class ButtonTableCell extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var buttonCommandsList; - var buttonCommandsListId; + let buttonCommandsList; + let buttonCommandsListId; if (this.props.expanded) { buttonCommandsListId = ButtonTableCell.key + 'List'; @@ -26,8 +37,8 @@ class ButtonTableCell extends React.Component { return (
    - {buttonCommandsList}
    @@ -82,14 +93,4 @@ class ButtonTableCell extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableCell - * @memberof ButtonTableCell - * @property {String} key - * @static - */ -ButtonTableCell.key = 'tableCell'; - export default ButtonTableCell; \ No newline at end of file diff --git a/src/components/buttons/button-table-column.jsx b/src/components/buttons/button-table-column.jsx index 91abecc33b..a0cdb35cf7 100644 --- a/src/components/buttons/button-table-column.jsx +++ b/src/components/buttons/button-table-column.jsx @@ -1,4 +1,5 @@ import ButtonCommandsList from './button-commands-list.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -7,6 +8,16 @@ import React from 'react'; * @class ButtonTableColumn */ class ButtonTableColumn extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableColumn + * @memberof ButtonTableColumn + * @property {String} key + * @static + */ + static key = 'tableColumn'; + /** * Lifecycle. Renders the UI of the button. * @@ -16,8 +27,8 @@ class ButtonTableColumn extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var buttonCommandsList, - buttonCommandsListId; + let buttonCommandsList; + let buttonCommandsListId; if (this.props.expanded) { buttonCommandsListId = ButtonTableColumn.key + 'List'; @@ -26,8 +37,8 @@ class ButtonTableColumn extends React.Component { return (
    - {buttonCommandsList}
    @@ -62,14 +73,4 @@ class ButtonTableColumn extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableColumn - * @memberof ButtonTableColumn - * @property {String} key - * @static - */ -ButtonTableColumn.key = 'tableColumn'; - export default ButtonTableColumn; \ No newline at end of file diff --git a/src/components/buttons/button-table-edit.jsx b/src/components/buttons/button-table-edit.jsx index aaeada0340..b563fc5ef9 100644 --- a/src/components/buttons/button-table-edit.jsx +++ b/src/components/buttons/button-table-edit.jsx @@ -1,8 +1,8 @@ +import ButtonIcon from './button-icon.jsx'; import React from 'react'; -import ReactDOM from 'react-dom'; -var KEY_ENTER = 13; -var KEY_ESC = 27; +const KEY_ENTER = 13; +const KEY_ESC = 27; /** * The ButtonTableEdit class provides functionality for creating and editing a table in a document. @@ -11,6 +11,32 @@ var KEY_ESC = 27; * @class ButtonTableEdit */ class ButtonTableEdit extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonTableEdit + * @method getDefaultProps + */ + static defaultProps = { + tableAttributes: { + border: 1, + cellPadding: 0, + cellSpacing: 0, + style: 'width: 100%' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableEdit + * @memberof ButtonTableEdit + * @property {String} key + * @static + */ + static key = 'tableEdit'; + /** * Lifecycle. Invoked once before the component is mounted. * @@ -51,9 +77,9 @@ class ButtonTableEdit extends React.Component { * @method _createTable * @protected */ - _createTable() { - var editor = this.props.editor.get('nativeEditor'); - var tableUtils = new CKEDITOR.Table(editor); + _createTable = () => { + const editor = this.props.editor.get('nativeEditor'); + const tableUtils = new CKEDITOR.Table(editor); tableUtils.create({ attrs: this.props.tableAttributes, @@ -76,8 +102,8 @@ class ButtonTableEdit extends React.Component { * @param {SyntheticEvent} event The provided event. * @protected */ - _handleChange(inputName, event) { - var state = {}; + _handleChange = (inputName, event) => { + const state = {}; state[inputName] = event.target.value; this.setState(state); @@ -94,7 +120,7 @@ class ButtonTableEdit extends React.Component { * @param {SyntheticEvent} event The keyboard event. * @protected */ - _handleKeyDown(event) { + _handleKeyDown = event => { if (event.keyCode === KEY_ENTER || event.keyCode === KEY_ESC) { event.preventDefault(); } @@ -115,54 +141,28 @@ class ButtonTableEdit extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var time = Date.now(); - var rowsId = time + 'rows'; - var colsId = time + 'cols'; + const time = Date.now(); + const rowsId = time + 'rows'; + const colsId = time + 'cols'; return (
    - +
    - +
    -
    ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableEdit - * @memberof ButtonTableEdit - * @property {String} key - * @static - */ -ButtonTableEdit.key = 'tableEdit'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonTableEdit - * @method getDefaultProps - */ -ButtonTableEdit.defaultProps = { - tableAttributes: { - border: 1, - cellPadding: 0, - cellSpacing: 0, - style: 'width: 100%' - } -}; - export default ButtonTableEdit; diff --git a/src/components/buttons/button-table-heading.jsx b/src/components/buttons/button-table-heading.jsx index a055e45ee0..6e963793ad 100644 --- a/src/components/buttons/button-table-heading.jsx +++ b/src/components/buttons/button-table-heading.jsx @@ -1,4 +1,5 @@ import ButtonCommandsList from './button-commands-list.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -7,6 +8,16 @@ import React from 'react'; * @class ButtonTableHeading */ class ButtonTableHeading extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableRow + * @memberof ButtonTableHeading + * @property {String} key + * @static + */ + static key = 'tableHeading'; + /** * Lifecycle. Renders the UI of the button. * @@ -16,24 +27,24 @@ class ButtonTableHeading extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var buttonCommandsList; - var buttonCommandsListId; + let buttonCommandsList; + let buttonCommandsListId; if (this.props.expanded) { buttonCommandsListId = ButtonTableHeading.key + 'List'; buttonCommandsList = ; } - var activeHeading = new CKEDITOR.Table(this.props.editor.get('nativeEditor')).getHeading(); - var activeHeadingIntro = AlloyEditor.Strings.headers + ':'; - var activeHeadingLabel = AlloyEditor.Strings['headers' + activeHeading]; + const activeHeading = new CKEDITOR.Table(this.props.editor.get('nativeEditor')).getHeading(); + const activeHeadingIntro = AlloyEditor.Strings.headers + ':'; + const activeHeadingLabel = AlloyEditor.Strings['headers' + activeHeading]; return (
    - {buttonCommandsList} @@ -73,14 +84,4 @@ class ButtonTableHeading extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableRow - * @memberof ButtonTableHeading - * @property {String} key - * @static - */ -ButtonTableHeading.key = 'tableHeading'; - export default ButtonTableHeading; \ No newline at end of file diff --git a/src/components/buttons/button-table-remove.jsx b/src/components/buttons/button-table-remove.jsx index 72c4e6dd06..6ea5e3bda7 100644 --- a/src/components/buttons/button-table-remove.jsx +++ b/src/components/buttons/button-table-remove.jsx @@ -1,3 +1,4 @@ +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -6,6 +7,16 @@ import React from 'react'; * @class ButtonTableRemove */ class ButtonTableRemove extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableRemove + * @memberof ButtonTableRemove + * @property {String} key + * @static + */ + static key = 'tableRemove'; + /** * Lifecycle. Renders the UI of the button. * @@ -16,8 +27,8 @@ class ButtonTableRemove extends React.Component { */ render() { return ( - ); } @@ -30,9 +41,9 @@ class ButtonTableRemove extends React.Component { * @method _removeTable * @protected */ - _removeTable() { - var editor = this.props.editor.get('nativeEditor'); - var tableUtils = new CKEDITOR.Table(editor); + _removeTable = () => { + const editor = this.props.editor.get('nativeEditor'); + const tableUtils = new CKEDITOR.Table(editor); tableUtils.remove(); @@ -40,14 +51,4 @@ class ButtonTableRemove extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableRemove - * @memberof ButtonTableRemove - * @property {String} key - * @static - */ -ButtonTableRemove.key = 'tableRemove'; - export default ButtonTableRemove; \ No newline at end of file diff --git a/src/components/buttons/button-table-row.jsx b/src/components/buttons/button-table-row.jsx index 4f72bd6b3a..e4d11d171b 100644 --- a/src/components/buttons/button-table-row.jsx +++ b/src/components/buttons/button-table-row.jsx @@ -1,4 +1,5 @@ import ButtonCommandsList from './button-commands-list.jsx'; +import ButtonIcon from './button-icon.jsx'; import React from 'react'; /** @@ -7,6 +8,16 @@ import React from 'react'; * @class ButtonTableRow */ class ButtonTableRow extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default tableRow + * @memberof ButtonTableRow + * @property {String} key + * @static + */ + static key = 'tableRow'; + /** * Lifecycle. Renders the UI of the button. * @@ -16,8 +27,8 @@ class ButtonTableRow extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var buttonCommandsList; - var buttonCommandsListId; + let buttonCommandsList; + let buttonCommandsListId; if (this.props.expanded) { buttonCommandsListId = ButtonTableRow.key + 'List'; @@ -26,8 +37,8 @@ class ButtonTableRow extends React.Component { return (
    - {buttonCommandsList}
    @@ -62,14 +73,4 @@ class ButtonTableRow extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default tableRow - * @memberof ButtonTableRow - * @property {String} key - * @static - */ -ButtonTableRow.key = 'tableRow'; - export default ButtonTableRow; \ No newline at end of file diff --git a/src/components/buttons/button-table.jsx b/src/components/buttons/button-table.jsx index 95cd27bbb6..e8f078d9ed 100644 --- a/src/components/buttons/button-table.jsx +++ b/src/components/buttons/button-table.jsx @@ -1,3 +1,4 @@ +import ButtonIcon from './button-icon.jsx'; import ButtonTableEdit from './button-table-edit.jsx'; import React from 'react'; @@ -11,6 +12,16 @@ import React from 'react'; * @class ButtonTable */ class ButtonTable extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default table + * @memberof ButtonTable + * @property {String} key + * @static + */ + static key = 'table'; + /** * Lifecycle. Renders the UI of the button. * @@ -27,21 +38,11 @@ class ButtonTable extends React.Component { } else { return ( ); } } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default table - * @memberof ButtonTable - * @property {String} key - * @static - */ -ButtonTable.key = 'table'; - export default ButtonTable; \ No newline at end of file diff --git a/src/components/buttons/button-target-list.jsx b/src/components/buttons/button-target-list.jsx index 723290e775..c12c263df5 100644 --- a/src/components/buttons/button-target-list.jsx +++ b/src/components/buttons/button-target-list.jsx @@ -11,6 +11,35 @@ import WidgetFocusManager from '../base/widget-focus-manager.js'; * @uses WidgetFocusManager */ class ButtonTargetList extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonTargetList + * @method getDefaultProps + */ + static defaultProps = { + circular: true, + descendants: '.ae-toolbar-element', + keys: { + dismiss: [27], + dismissNext: [39], + dismissPrev: [37], + next: [40], + prev: [38] + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default linkTargetEdit + * @memberof ButtonTargetList + * @property {String} key + * @static + */ + static key = 'targetList'; + /** * Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs. * @@ -31,7 +60,7 @@ class ButtonTargetList extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var listTargets = this._renderListTargets(); + const listTargets = this._renderListTargets(); return ( @@ -78,53 +107,24 @@ class ButtonTargetList extends React.Component { * @return {Object} Returns the rendered link items */ _renderListTargets() { - var targets = this._getAllowedTargetItems(); + let targets = this._getAllowedTargetItems(); - var handleLinkTargetChange = this.props.handleLinkTargetChange; + const handleLinkTargetChange = this.props.handleLinkTargetChange; - targets = targets.map(function(target) { - var className = this.props.selectedTarget === target.value ? 'ae-toolbar-element active' : 'ae-toolbar-element'; + targets = targets.map(target => { + const className = this.props.selectedTarget === target.value ? 'ae-toolbar-element active' : 'ae-toolbar-element'; return (
  • ); - }.bind(this)); + }); return targets; } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default linkTargetEdit - * @memberof ButtonTargetList - * @property {String} key - * @static - */ -ButtonTargetList.key = 'targetList'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonTargetList - * @method getDefaultProps - */ -ButtonTargetList.defaultProps = { - circular: true, - descendants: '.ae-toolbar-element', - keys: { - dismiss: [27], - dismissNext: [39], - dismissPrev: [37], - next: [40], - prev: [38] - } -}; - export default WidgetFocusManager( ButtonTargetList ); \ No newline at end of file diff --git a/src/components/buttons/button-twitter.jsx b/src/components/buttons/button-twitter.jsx index 74dbfaabce..f5b8d682e3 100644 --- a/src/components/buttons/button-twitter.jsx +++ b/src/components/buttons/button-twitter.jsx @@ -1,7 +1,7 @@ +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import React from 'react'; - const MAX_TWEET_LENGTH = 280; /** @@ -12,6 +12,16 @@ const MAX_TWEET_LENGTH = 280; * @uses ButtonStateClasses */ class ButtonTwitter extends React.Component { + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default twitter + * @memberof ButtonTwitter + * @property {String} key + * @static + */ + static key = 'twitter'; + /** * Creates or removes the twitter link on the selection. * @@ -19,10 +29,10 @@ class ButtonTwitter extends React.Component { * @memberof ButtonTwitter * @method handleClick */ - handleClick() { - var editor = this.props.editor.get('nativeEditor'); + handleClick = () => { + const editor = this.props.editor.get('nativeEditor'); - var linkUtils = new CKEDITOR.Link(editor); + const linkUtils = new CKEDITOR.Link(editor); if (this.isActive()) { linkUtils.remove(linkUtils.getFromSelection()); @@ -48,7 +58,7 @@ class ButtonTwitter extends React.Component { * @return {Boolean} True if the selection is inside a twitter link, false otherwise. */ isActive() { - var link = new CKEDITOR.Link(this.props.editor.get('nativeEditor')).getFromSelection(); + const link = new CKEDITOR.Link(this.props.editor.get('nativeEditor')).getFromSelection(); return (link && (link.getAttribute('href').indexOf('twitter.com/intent/tweet') !== -1)); } @@ -62,11 +72,11 @@ class ButtonTwitter extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } @@ -82,11 +92,11 @@ class ButtonTwitter extends React.Component { * @return {String} A valid twitter url with the selected text and given configuration. */ _getHref() { - var nativeEditor = this.props.editor.get('nativeEditor'); - var selectedText = nativeEditor.getSelection().getSelectedText().substring(0, MAX_TWEET_LENGTH); - var url = this.props.url; - var via = this.props.via; - var twitterHref = 'https://twitter.com/intent/tweet?text=' + selectedText; + const nativeEditor = this.props.editor.get('nativeEditor'); + const selectedText = nativeEditor.getSelection().getSelectedText().substring(0, MAX_TWEET_LENGTH); + const url = this.props.url; + let via = this.props.via; + let twitterHref = 'https://twitter.com/intent/tweet?text=' + selectedText; if (url) { twitterHref += '&url=' + url; @@ -100,16 +110,6 @@ class ButtonTwitter extends React.Component { } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default twitter - * @memberof ButtonTwitter - * @property {String} key - * @static - */ -ButtonTwitter.key = 'twitter'; - export default ButtonStateClasses( ButtonTwitter ); \ No newline at end of file diff --git a/src/components/buttons/button-ul.jsx b/src/components/buttons/button-ul.jsx index 73cab4eb36..9d39da1e24 100644 --- a/src/components/buttons/button-ul.jsx +++ b/src/components/buttons/button-ul.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; import React from 'react'; @@ -12,6 +13,31 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonUnorderedlist extends React.Component { + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonUnorderedlist + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'bulletedlist', + style: { + element: 'ul' + } + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default ul + * @memberof ButtonUnorderedlist + * @property {String} key + * @static + */ + static key = 'ul'; + /** * Lifecycle. Renders the UI of the button. * @@ -21,41 +47,16 @@ class ButtonUnorderedlist extends React.Component { * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default ul - * @memberof ButtonUnorderedlist - * @property {String} key - * @static - */ -ButtonUnorderedlist.key = 'ul'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonUnorderedlist - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonUnorderedlist.defaultProps = { - command: 'bulletedlist', - style: { - element: 'ul' - } -}; - export default ButtonCommand( ButtonStateClasses( ButtonStyle( diff --git a/src/components/buttons/button-underline.jsx b/src/components/buttons/button-underline.jsx index 4c5c51bc5d..776d2c13d6 100644 --- a/src/components/buttons/button-underline.jsx +++ b/src/components/buttons/button-underline.jsx @@ -1,4 +1,5 @@ import ButtonCommand from '../base/button-command.js'; +import ButtonIcon from './button-icon.jsx'; import ButtonKeystroke from '../base/button-keystroke.js'; import ButtonStateClasses from '../base/button-state-classes.js'; import ButtonStyle from '../base/button-style.js'; @@ -14,6 +15,33 @@ import React from 'react'; * @uses ButtonStyle */ class ButtonUnderline extends React.Component{ + /** + * Lifecycle. Returns the default values of the properties used in the widget. + * + * @instance + * @memberof ButtonUnderline + * @method getDefaultProps + * @return {Object} The default properties. + */ + static defaultProps = { + command: 'underline', + keystroke: { + fn: 'execCommand', + keys: CKEDITOR.CTRL + 85 /*U*/ + }, + style: 'coreStyles_underline' + }; + + /** + * The name which will be used as an alias of the button in the configuration. + * + * @default underline + * @memberof ButtonUnderline + * @property {String} key + * @static + */ + static key = 'underline'; + /** * Lifecycle. Renders the UI of the button. * @@ -23,43 +51,16 @@ class ButtonUnderline extends React.Component{ * @return {Object} The content which should be rendered. */ render() { - var cssClass = 'ae-button ' + this.getStateClasses(); + const cssClass = `ae-button ${this.getStateClasses()}`; return ( - ); } } -/** - * The name which will be used as an alias of the button in the configuration. - * - * @default underline - * @memberof ButtonUnderline - * @property {String} key - * @static - */ -ButtonUnderline.key = 'underline'; - -/** - * Lifecycle. Returns the default values of the properties used in the widget. - * - * @instance - * @memberof ButtonUnderline - * @method getDefaultProps - * @return {Object} The default properties. - */ -ButtonUnderline.defaultProps = { - command: 'underline', - keystroke: { - fn: 'execCommand', - keys: CKEDITOR.CTRL + 85 /*U*/ - }, - style: 'coreStyles_underline' -}; - export default ButtonCommand( ButtonKeystroke( ButtonStateClasses( diff --git a/src/components/buttons/index.js b/src/components/buttons/index.js index 434252a2d0..e76967b990 100644 --- a/src/components/buttons/index.js +++ b/src/components/buttons/index.js @@ -1,12 +1,17 @@ +import ButtonAccessibilityImageAlt from './button-accessibility-image-alt.jsx'; +import ButtonBackgroundColor from './button-background-color.jsx'; import ButtonBold from './button-bold.jsx'; import ButtonCameraImage from './button-camera-image.jsx'; import ButtonCamera from './button-camera.jsx'; import ButtonCode from './button-code.jsx'; +import ButtonColor from './button-color.jsx'; import ButtonCommandListItem from './button-command-list-item.jsx'; import ButtonCommandsList from './button-commands-list.jsx'; import ButtonDropdown from './button-dropdown.jsx'; import ButtonEmbedEdit from './button-embed-edit.jsx'; import ButtonEmbed from './button-embed.jsx'; +import ButtonEmbedVideoEdit from './button-embed-video-edit.jsx'; +import ButtonEmbedVideo from './button-embed-video.jsx'; import ButtonH1 from './button-h1.jsx'; import ButtonH2 from './button-h2.jsx'; import ButtonHline from './button-hline.jsx'; @@ -17,11 +22,14 @@ import ButtonImage from './button-image.jsx'; import ButtonIndentBlock from './button-indent-block.jsx'; import ButtonItalic from './button-italic.jsx'; import ButtonLinkAutocompleteList from './button-link-autocomplete-list.jsx'; +import ButtonLinkBrowse from './button-link-browse.jsx'; +import ButtonLinkEditBrowse from './button-link-edit-browse.jsx'; import ButtonLinkEdit from './button-link-edit.jsx'; import ButtonLinkTargetEdit from './button-link-target-edit.jsx'; import ButtonLink from './button-link.jsx'; import ButtonOl from './button-ol.jsx'; import ButtonOutdentBlock from './button-outdent-block.jsx'; +import ButtonParagraphAlign from './button-paragraph-align.jsx'; import ButtonParagraphAlignLeft from './button-paragraph-align-left.jsx'; import ButtonParagraphAlignRight from './button-paragraph-align-right.jsx'; import ButtonParagraphCenter from './button-paragraph-center.jsx'; @@ -29,6 +37,7 @@ import ButtonParagraphJustify from './button-paragraph-justify.jsx'; import ButtonQuote from './button-quote.jsx'; import ButtonRemoveFormat from './button-remove-format.jsx'; import ButtonSeparator from './button-separator.jsx'; +import ButtonSpacing from './button-spacing.jsx'; import ButtonStrike from './button-strike.jsx'; import ButtonStylesListHeader from './button-styles-list-header.jsx'; import ButtonStylesListItemRemove from './button-styles-list-item-remove.jsx'; @@ -50,15 +59,20 @@ import ButtonUl from './button-ul.jsx'; import ButtonUnderline from './button-underline.jsx'; export default { + [ButtonAccessibilityImageAlt.key]: ButtonAccessibilityImageAlt, + [ButtonBackgroundColor.key]: ButtonBackgroundColor, [ButtonBold.key]: ButtonBold, [ButtonCameraImage.key]: ButtonCameraImage, [ButtonCamera.key]: ButtonCamera, [ButtonCode.key]: ButtonCode, + [ButtonColor.key]: ButtonColor, [ButtonCommandListItem.key]: ButtonCommandListItem, [ButtonCommandsList.key]: ButtonCommandsList, [ButtonDropdown.key]: ButtonDropdown, [ButtonEmbedEdit.key]: ButtonEmbedEdit, [ButtonEmbed.key]: ButtonEmbed, + [ButtonEmbedVideoEdit.key]: ButtonEmbedVideoEdit, + [ButtonEmbedVideo.key]: ButtonEmbedVideo, [ButtonH1.key]: ButtonH1, [ButtonH2.key]: ButtonH2, [ButtonHline.key]: ButtonHline, @@ -69,11 +83,14 @@ export default { [ButtonIndentBlock.key]: ButtonIndentBlock, [ButtonItalic.key]: ButtonItalic, [ButtonLinkAutocompleteList.key]: ButtonLinkAutocompleteList, + [ButtonLinkBrowse.key]: ButtonLinkBrowse, + [ButtonLinkEditBrowse.key]: ButtonLinkEditBrowse, [ButtonLinkEdit.key]: ButtonLinkEdit, [ButtonLinkTargetEdit.key]: ButtonLinkTargetEdit, [ButtonLink.key]: ButtonLink, [ButtonOl.key]: ButtonOl, [ButtonOutdentBlock.key]: ButtonOutdentBlock, + [ButtonParagraphAlign.key]: ButtonParagraphAlign, [ButtonParagraphAlignLeft.key]: ButtonParagraphAlignLeft, [ButtonParagraphAlignRight.key]: ButtonParagraphAlignRight, [ButtonParagraphCenter.key]: ButtonParagraphCenter, @@ -81,6 +98,7 @@ export default { [ButtonQuote.key]: ButtonQuote, [ButtonRemoveFormat.key]: ButtonRemoveFormat, [ButtonSeparator.key]: ButtonSeparator, + [ButtonSpacing.key]: ButtonSpacing, [ButtonStrike.key]: ButtonStrike, [ButtonStylesListHeader.key]: ButtonStylesListHeader, [ButtonStylesListItemRemove.key]: ButtonStylesListItemRemove, diff --git a/src/components/main.jsx b/src/components/main.jsx index 381d5dc5e5..7716afad51 100644 --- a/src/components/main.jsx +++ b/src/components/main.jsx @@ -28,7 +28,7 @@ class UI extends React.Component { * @method componentDidMount */ componentDidMount() { - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); editor.on('editorInteraction', this._onEditorInteraction, this); editor.on('actionPerformed', this._onActionPerformed, this); @@ -42,11 +42,11 @@ class UI extends React.Component { // It is not easy to debounce _setUIHidden on mousedown, because if we // debounce it, when the handler is being invoked, the target might be no more part // of the editor's UI - onActionPerformed causes re-render. - this._mousedownListener = function (event) { + this._mousedownListener = event => { this._setUIHidden(event.target); - }.bind(this); + }; - this._keyDownListener = CKEDITOR.tools.debounce(function(event) { + this._keyDownListener = CKEDITOR.tools.debounce(event => { this._setUIHidden(document.activeElement); }, this.props.eventsDelay, this); @@ -64,9 +64,9 @@ class UI extends React.Component { * @method componentDidUpdate */ componentDidUpdate (prevProps, prevState) { - var domNode = ReactDOM.findDOMNode(this); + const domNode = ReactDOM.findDOMNode(this); - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); if (domNode) { editor.fire('ariaUpdate', { @@ -127,16 +127,16 @@ class UI extends React.Component { * @return {String} The ARIA message for the number of available toolbars */ _getAvailableToolbarsMessage(domNode) { - var toolbarsNodeList = domNode.querySelectorAll('[role="toolbar"]'); + const toolbarsNodeList = domNode.querySelectorAll('[role="toolbar"]'); if (!toolbarsNodeList.length) { return this._getAriaUpdates().noToolbar; } else { - var toolbarNames = Array.prototype.slice.call(toolbarsNodeList).map(function(toolbar) { + const toolbarNames = Array.prototype.slice.call(toolbarsNodeList).map(toolbar => { return toolbar.getAttribute('aria-label'); }); - var ariaUpdate = toolbarNames.length === 1 ? 'oneToolbar' : 'manyToolbars'; + const ariaUpdate = toolbarNames.length === 1 ? 'oneToolbar' : 'manyToolbars'; return this._getAriaUpdateTemplate(ariaUpdate).output({ toolbars: toolbarNames.join(',').replace(/,([^,]*)$/, ' and ' + '$1') @@ -176,12 +176,12 @@ class UI extends React.Component { return null; } - var toolbars = Object.keys(this.props.toolbars).map(function(toolbar) { + let toolbars = Object.keys(this.props.toolbars).map(toolbar => { return AlloyEditor.Toolbars[toolbar] || window[toolbar]; }); - toolbars = this.filterExclusive(toolbars).map(function(toolbar) { - var props = this.mergeExclusiveProps({ + toolbars = this.filterExclusive(toolbars).map(toolbar => { + const props = this.mergeExclusiveProps({ config: this.props.toolbars[toolbar.key], editor: this.props.editor, editorEvent: this.state.editorEvent, @@ -191,10 +191,10 @@ class UI extends React.Component { }, toolbar.key); return React.createElement(toolbar, props); - }.bind(this)); + }); return ( -
    +
    {toolbars}
    ); @@ -210,7 +210,7 @@ class UI extends React.Component { * @param {SynteticEvent} event The provided event */ _onActionPerformed(event) { - var editor = this.props.editor.get('nativeEditor'); + const editor = this.props.editor.get('nativeEditor'); editor.focus(); @@ -228,8 +228,8 @@ class UI extends React.Component { * @protected * @method _onDismissToolbarFocus */ - _onDismissToolbarFocus() { - var editor = this.props.editor.get('nativeEditor'); + _onDismissToolbarFocus = () => { + const editor = this.props.editor.get('nativeEditor'); editor.focus(); } @@ -262,7 +262,7 @@ class UI extends React.Component { * @method _onEditorKey */ _onEditorKey(event) { - var nativeEvent = event.data.domEvent.$; + const nativeEvent = event.data.domEvent.$; if (nativeEvent.altKey && nativeEvent.keyCode === 121) { this.focus(); @@ -280,19 +280,19 @@ class UI extends React.Component { * @param {DOMElement} target The DOM element with which user interacted lastly. */ _setUIHidden(target) { - var domNode = ReactDOM.findDOMNode(this); + const domNode = ReactDOM.findDOMNode(this); if (domNode) { - var editable = this.props.editor.get('nativeEditor').editable(); - var parentNode = target.parentNode; - var targetNode = new CKEDITOR.dom.node(target); + const editable = this.props.editor.get('nativeEditor').editable(); + const parentNode = target.parentNode; + const targetNode = new CKEDITOR.dom.node(target); if (!editable) { this.setState({ hidden: true }); } else { - var res = (editable.$ === target) || editable.contains(targetNode) || + let res = (editable.$ === target) || editable.contains(targetNode) || (new CKEDITOR.dom.element(domNode)).contains(targetNode); if (parentNode) { diff --git a/src/lang/af.js b/src/lang/af.js index 3b5116fc0d..21e25e254a 100644 --- a/src/lang/af.js +++ b/src/lang/af.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Middel","alignJustify":"Eweredig","alignLeft":"Links","alignRight":"Regs","bold":"Vet","bulletedlist":"Ongenommerde lys","cancel":"Kanselleer","horizontalrule":"Horisontale lyn invoeg","italic":"Skuins","numberedlist":"Genommerde lys","quote":"Sitaatblok","removeformat":"Verwyder opmaak","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep","formatted":"Opgemaak","h1":"Opskrif 1","h2":"Opskrif 2","normal":"Normaal","indent":"Vergroot inspring","outdent":"Verklein inspring","blockStyles":"Blok style","inlineStyles":"Inlyn style","objectStyles":"Objek style","styles":"Styl","cell":"Sel","cellDelete":"Verwyder sel","cellInsertAfter":"Voeg sel in na","cellInsertBefore":"Voeg sel in voor","cellMerge":"Voeg selle saam","cellMergeDown":"Voeg saam ondertoe","cellMergeRight":"Voeg saam na regs","cellSplitHorizontal":"Splits sel horisontaal","cellSplitVertical":"Splits sel vertikaal","column":"Kolom","columnDelete":"Verwyder kolom","columnInsertAfter":"Voeg kolom in na","columnInsertBefore":"Voeg kolom in voor","deleteTable":"Verwyder tabel","headers":"Opskrifte","headersBoth":"Beide ","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste ry","row":"Ry","rowDelete":"Verwyder ry","rowInsertAfter":"Voeg ry in na","rowInsertBefore":"Voeg ry in voor","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Middel","alignJustify":"Eweredig","alignLeft":"Links","alignRight":"Regs","bold":"Vet","bulletedlist":"Ongenommerde lys","cancel":"Kanselleer","horizontalrule":"Horisontale lyn invoeg","italic":"Skuins","numberedlist":"Genommerde lys","quote":"Sitaatblok","removeformat":"Verwyder opmaak","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep","formatted":"Opgemaak","h1":"Opskrif 1","h2":"Opskrif 2","normal":"Normal","indent":"Vergroot inspring","outdent":"Verklein inspring","blockStyles":"Blok style","inlineStyles":"Inlyn style","objectStyles":"Objek style","styles":"Styl","cell":"Sel","cellDelete":"Verwyder sel","cellInsertAfter":"Voeg sel in na","cellInsertBefore":"Voeg sel in voor","cellMerge":"Voeg selle saam","cellMergeDown":"Voeg saam ondertoe","cellMergeRight":"Voeg saam na regs","cellSplitHorizontal":"Splits sel horisontaal","cellSplitVertical":"Splits sel vertikaal","column":"Kolom","columnDelete":"Verwyder kolom","columnInsertAfter":"Voeg kolom in na","columnInsertBefore":"Voeg kolom in voor","deleteTable":"Verwyder tabel","headers":"Opskrifte","headersBoth":"Beide ","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste ry","row":"Ry","rowDelete":"Verwyder ry","rowInsertAfter":"Voeg ry in na","rowInsertBefore":"Voeg ry in voor","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ar.js b/src/lang/ar.js index 2ef3365464..ac191db7fa 100644 --- a/src/lang/ar.js +++ b/src/lang/ar.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"وسط","alignJustify":"ضبط","alignLeft":"يسار","alignRight":"يمين","bold":"عريض","bulletedlist":"ادخال/حذف تعداد نقطي","cancel":"إلغاء الأمر","horizontalrule":"خط فاصل","italic":"مائل","numberedlist":"ادخال/حذف تعداد رقمي","quote":"اقتباس","removeformat":"إزالة التنسيقات","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير","formatted":"منسّق","h1":"العنوان 1","h2":"العنوان 2","normal":"عادي","indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة","blockStyles":"أنماط الفقرة","inlineStyles":"أنماط مضمنة","objectStyles":"أنماط الكائن","styles":"أنماط","cell":"خلية","cellDelete":"حذف خلية","cellInsertAfter":"إدراج خلية بعد","cellInsertBefore":"إدراج خلية قبل","cellMerge":"دمج خلايا","cellMergeDown":"دمج للأسفل","cellMergeRight":"دمج لليمين","cellSplitHorizontal":"تقسيم الخلية أفقياً","cellSplitVertical":"تقسيم الخلية عمودياً","column":"عمود","columnDelete":"حذف أعمدة","columnInsertAfter":"إدراج عمود بعد","columnInsertBefore":"إدراج عمود قبل","deleteTable":"حذف الجدول","headers":"العناوين","headersBoth":"كلاهما","headersColumn":"العمود الأول","headersNone":"بدون","headersRow":"الصف الأول","row":"صف","rowDelete":"حذف صفوف","rowInsertAfter":"إدراج صف بعد","rowInsertBefore":"إدراج صف قبل","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"وسط","alignJustify":"ضبط","alignLeft":"يسار","alignRight":"يمين","bold":"عريض","bulletedlist":"ادخال/حذف تعداد نقطي","cancel":"إلغاء الأمر","horizontalrule":"خط فاصل","italic":"مائل","numberedlist":"ادخال/حذف تعداد رقمي","quote":"اقتباس","removeformat":"إزالة التنسيقات","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير","formatted":"منسّق","h1":"العنوان 1","h2":"العنوان 2","normal":"Normal","indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة","blockStyles":"أنماط الفقرة","inlineStyles":"أنماط مضمنة","objectStyles":"أنماط الكائن","styles":"أنماط","cell":"خلية","cellDelete":"حذف خلية","cellInsertAfter":"إدراج خلية بعد","cellInsertBefore":"إدراج خلية قبل","cellMerge":"دمج خلايا","cellMergeDown":"دمج للأسفل","cellMergeRight":"دمج لليمين","cellSplitHorizontal":"تقسيم الخلية أفقياً","cellSplitVertical":"تقسيم الخلية عمودياً","column":"عمود","columnDelete":"حذف أعمدة","columnInsertAfter":"إدراج عمود بعد","columnInsertBefore":"إدراج عمود قبل","deleteTable":"حذف الجدول","headers":"العناوين","headersBoth":"كلاهما","headersColumn":"العمود الأول","headersNone":"بدون","headersRow":"الصف الأول","row":"صف","rowDelete":"حذف صفوف","rowInsertAfter":"إدراج صف بعد","rowInsertBefore":"إدراج صف قبل","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/bg.js b/src/lang/bg.js index 784c60c9aa..1d75405278 100644 --- a/src/lang/bg.js +++ b/src/lang/bg.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Център","alignJustify":"Двустранно подравняване","alignLeft":"Ляво","alignRight":"Дясно","bold":"Удебелен","bulletedlist":"Вмъкване/Премахване на точков списък","cancel":"Отказ","horizontalrule":"Вмъкване на хоризонтална линия","italic":"Наклонен","numberedlist":"Вмъкване/Премахване на номериран списък","quote":"Блок за цитат","removeformat":"Премахване на форматирането","strike":"Зачертан текст","subscript":"Индексиран текст","superscript":"Суперскрипт","underline":"Подчертан","formatted":"Форматиран","h1":"Заглавие 1","h2":"Заглавие 2","normal":"Нормален","indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа","blockStyles":"Блокови стилове","inlineStyles":"Вътрешни стилове","objectStyles":"Обектни стилове","styles":"Стилове","cell":"Клетка","cellDelete":"Изтриване на клетки","cellInsertAfter":"Вмъкване на клетка след","cellInsertBefore":"Вмъкване на клетка преди","cellMerge":"Сливане на клетки","cellMergeDown":"Merge Down","cellMergeRight":"Сливане в дясно","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Колона","columnDelete":"Изтриване на колони","columnInsertAfter":"Вмъкване на колона след","columnInsertBefore":"Вмъкване на колона преди","deleteTable":"Изтриване на таблица","headers":"Хедъри","headersBoth":"Заедно","headersColumn":"Първа колона","headersNone":"Няма","headersRow":"Първи ред","row":"Ред","rowDelete":"Изтриване на редове","rowInsertAfter":"Вмъкване на ред след","rowInsertBefore":"Вмъкване на ред преди","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Център","alignJustify":"Двустранно подравняване","alignLeft":"Ляво","alignRight":"Дясно","bold":"Удебелен","bulletedlist":"Вмъкване/Премахване на точков списък","cancel":"Отказ","horizontalrule":"Вмъкване на хоризонтална линия","italic":"Наклонен","numberedlist":"Вмъкване/Премахване на номериран списък","quote":"Блок за цитат","removeformat":"Премахване на форматирането","strike":"Зачертан текст","subscript":"Индексиран текст","superscript":"Суперскрипт","underline":"Подчертан","formatted":"Форматиран","h1":"Заглавие 1","h2":"Заглавие 2","normal":"Normal","indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа","blockStyles":"Блокови стилове","inlineStyles":"Вътрешни стилове","objectStyles":"Обектни стилове","styles":"Стилове","cell":"Клетка","cellDelete":"Изтриване на клетки","cellInsertAfter":"Вмъкване на клетка след","cellInsertBefore":"Вмъкване на клетка преди","cellMerge":"Сливане на клетки","cellMergeDown":"Merge Down","cellMergeRight":"Сливане в дясно","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Колона","columnDelete":"Изтриване на колони","columnInsertAfter":"Вмъкване на колона след","columnInsertBefore":"Вмъкване на колона преди","deleteTable":"Изтриване на таблица","headers":"Хедъри","headersBoth":"Заедно","headersColumn":"Първа колона","headersNone":"Няма","headersRow":"Първи ред","row":"Ред","rowDelete":"Изтриване на редове","rowInsertAfter":"Вмъкване на ред след","rowInsertBefore":"Вмъкване на ред преди","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/bn.js b/src/lang/bn.js index 5d85882b6c..bad99dc99e 100644 --- a/src/lang/bn.js +++ b/src/lang/bn.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"মাঝখানে","alignJustify":"ব্লক জাস্টিফাই","alignLeft":"বামে","alignRight":"ডানে","bold":"বোল্ড","bulletedlist":"বুলেটেড তালিকা প্রবেশ/অপসারন করি","cancel":"বাতিল","horizontalrule":"অনুভূমিক লাইন যোগ করি","italic":"বাঁকা","numberedlist":"সাংখ্যিক লিস্টের লেবেল","quote":"Block Quote","removeformat":"ধরন-প্রকৃতি অপসারণ করি","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন","formatted":"ফর্মেটেড","h1":"শীর্ষক ১","h2":"শীর্ষক ২","normal":"সাধারণ","indent":"ইনডেন্ট বাড়াই","outdent":"ইনডেন্ট কমাও","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"ধরন","cell":"সেল","cellDelete":"সেল মুছে দাও","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"সেল জোড়া দাও","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"কলাম","columnDelete":"কলাম মুছে দাও","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"টেবিল ডিলীট কর","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"রো","rowDelete":"রো মুছে দাও","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"মাঝখানে","alignJustify":"ব্লক জাস্টিফাই","alignLeft":"বামে","alignRight":"ডানে","bold":"বোল্ড","bulletedlist":"বুলেটেড তালিকা প্রবেশ/অপসারন করি","cancel":"বাতিল","horizontalrule":"অনুভূমিক লাইন যোগ করি","italic":"বাঁকা","numberedlist":"সাংখ্যিক লিস্টের লেবেল","quote":"Block Quote","removeformat":"ধরন-প্রকৃতি অপসারণ করি","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন","formatted":"ফর্মেটেড","h1":"শীর্ষক ১","h2":"শীর্ষক ২","normal":"Normal","indent":"ইনডেন্ট বাড়াই","outdent":"ইনডেন্ট কমাও","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"ধরন","cell":"সেল","cellDelete":"সেল মুছে দাও","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"সেল জোড়া দাও","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"কলাম","columnDelete":"কলাম মুছে দাও","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"টেবিল ডিলীট কর","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"রো","rowDelete":"রো মুছে দাও","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/bs.js b/src/lang/bs.js index bcd855bac0..2f48c6f850 100644 --- a/src/lang/bs.js +++ b/src/lang/bs.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centar","alignJustify":"Puno poravnanje","alignLeft":"Lijevo","alignRight":"Desno","bold":"Boldiraj","bulletedlist":"Lista","cancel":"Odustani","horizontalrule":"Ubaci horizontalnu liniju","italic":"Ukosi","numberedlist":"Numerisana lista","quote":"Block Quote","removeformat":"Poništi format","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Poveæaj uvod","outdent":"Smanji uvod","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Cell","cellDelete":"Briši æelije","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Spoji æelije","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Briši kolone","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Briši redove","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centar","alignJustify":"Puno poravnanje","alignLeft":"Lijevo","alignRight":"Desno","bold":"Boldiraj","bulletedlist":"Lista","cancel":"Odustani","horizontalrule":"Ubaci horizontalnu liniju","italic":"Ukosi","numberedlist":"Numerisana lista","quote":"Block Quote","removeformat":"Poništi format","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Poveæaj uvod","outdent":"Smanji uvod","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Cell","cellDelete":"Briši æelije","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Spoji æelije","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Briši kolone","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Briši redove","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ca.js b/src/lang/ca.js index c43da25c83..cc18648660 100644 --- a/src/lang/ca.js +++ b/src/lang/ca.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justificat","alignLeft":"Ajusta a l'esquerra","alignRight":"Ajusta a la dreta","bold":"Negreta","bulletedlist":"Llista de pics","cancel":"Cancel·la","horizontalrule":"Insereix línia horitzontal","italic":"Cursiva","numberedlist":"Llista numerada","quote":"Bloc de cita","removeformat":"Elimina Format","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat","formatted":"Formatejat","h1":"Encapçalament 1","h2":"Encapçalament 2","normal":"Normal","indent":"Augmenta el sagnat","outdent":"Redueix el sagnat","blockStyles":"Estils de bloc","inlineStyles":"Estils incrustats","objectStyles":"Estils d'objecte","styles":"Estil","cell":"Cel·la","cellDelete":"Suprimeix","cellInsertAfter":"Insereix després","cellInsertBefore":"Insereix abans","cellMerge":"Fusiona","cellMergeDown":"Fusiona avall","cellMergeRight":"Fusiona a la dreta","cellSplitHorizontal":"Divideix horitzontalment","cellSplitVertical":"Divideix verticalment","column":"Columna","columnDelete":"Suprimeix una columna","columnInsertAfter":"Insereix columna darrera","columnInsertBefore":"Insereix columna abans de","deleteTable":"Suprimeix la taula","headers":"Capçaleres","headersBoth":"Ambdues","headersColumn":"Primera columna","headersNone":"Cap","headersRow":"Primera fila","row":"Fila","rowDelete":"Suprimeix una fila","rowInsertAfter":"Insereix fila darrera","rowInsertBefore":"Insereix fila abans de","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justificat","alignLeft":"Ajusta a l'esquerra","alignRight":"Ajusta a la dreta","bold":"Negreta","bulletedlist":"Llista de pics","cancel":"Cancel·la","horizontalrule":"Insereix línia horitzontal","italic":"Cursiva","numberedlist":"Llista numerada","quote":"Bloc de cita","removeformat":"Elimina Format","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat","formatted":"Formatejat","h1":"Encapçalament 1","h2":"Encapçalament 2","normal":"Normal","indent":"Augmenta el sagnat","outdent":"Redueix el sagnat","blockStyles":"Estils de bloc","inlineStyles":"Estils incrustats","objectStyles":"Estils d'objecte","styles":"Estil","cell":"Cel·la","cellDelete":"Suprimeix","cellInsertAfter":"Insereix després","cellInsertBefore":"Insereix abans","cellMerge":"Fusiona","cellMergeDown":"Fusiona avall","cellMergeRight":"Fusiona a la dreta","cellSplitHorizontal":"Divideix horitzontalment","cellSplitVertical":"Divideix verticalment","column":"Columna","columnDelete":"Suprimeix una columna","columnInsertAfter":"Insereix columna darrera","columnInsertBefore":"Insereix columna abans de","deleteTable":"Suprimeix la taula","headers":"Capçaleres","headersBoth":"Ambdues","headersColumn":"Primera columna","headersNone":"Cap","headersRow":"Primera fila","row":"Fila","rowDelete":"Suprimeix una fila","rowInsertAfter":"Insereix fila darrera","rowInsertBefore":"Insereix fila abans de","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/cs.js b/src/lang/cs.js index 4bdaaf0f06..95e9ebe8cd 100644 --- a/src/lang/cs.js +++ b/src/lang/cs.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Na střed","alignJustify":"Zarovnat do bloku","alignLeft":"Vlevo","alignRight":"Vpravo","bold":"Tučné","bulletedlist":"Odrážky","cancel":"Zrušit","horizontalrule":"Vložit vodorovnou linku","italic":"Kurzíva","numberedlist":"Číslování","quote":"Citace","removeformat":"Odstranit formátování","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené","formatted":"Naformátováno","h1":"Nadpis 1","h2":"Nadpis 2","normal":"Normální","indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení","blockStyles":"Blokové styly","inlineStyles":"Řádkové styly","objectStyles":"Objektové styly","styles":"Styl","cell":"Buňka","cellDelete":"Smazat buňky","cellInsertAfter":"Vložit buňku za","cellInsertBefore":"Vložit buňku před","cellMerge":"Sloučit buňky","cellMergeDown":"Sloučit dolů","cellMergeRight":"Sloučit doprava","cellSplitHorizontal":"Rozdělit buňky vodorovně","cellSplitVertical":"Rozdělit buňky svisle","column":"Sloupec","columnDelete":"Smazat sloupec","columnInsertAfter":"Vložit sloupec za","columnInsertBefore":"Vložit sloupec před","deleteTable":"Smazat tabulku","headers":"Záhlaví","headersBoth":"Obojí","headersColumn":"První sloupec","headersNone":"Žádné","headersRow":"První řádek","row":"Řádek","rowDelete":"Smazat řádky","rowInsertAfter":"Vložit řádek za","rowInsertBefore":"Vložit řádek před","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Na střed","alignJustify":"Zarovnat do bloku","alignLeft":"Vlevo","alignRight":"Vpravo","bold":"Tučné","bulletedlist":"Odrážky","cancel":"Zrušit","horizontalrule":"Vložit vodorovnou linku","italic":"Kurzíva","numberedlist":"Číslování","quote":"Citace","removeformat":"Odstranit formátování","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené","formatted":"Naformátováno","h1":"Nadpis 1","h2":"Nadpis 2","normal":"Normal","indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení","blockStyles":"Blokové styly","inlineStyles":"Řádkové styly","objectStyles":"Objektové styly","styles":"Styl","cell":"Buňka","cellDelete":"Smazat buňky","cellInsertAfter":"Vložit buňku za","cellInsertBefore":"Vložit buňku před","cellMerge":"Sloučit buňky","cellMergeDown":"Sloučit dolů","cellMergeRight":"Sloučit doprava","cellSplitHorizontal":"Rozdělit buňky vodorovně","cellSplitVertical":"Rozdělit buňky svisle","column":"Sloupec","columnDelete":"Smazat sloupec","columnInsertAfter":"Vložit sloupec za","columnInsertBefore":"Vložit sloupec před","deleteTable":"Smazat tabulku","headers":"Záhlaví","headersBoth":"Obojí","headersColumn":"První sloupec","headersNone":"Žádné","headersRow":"První řádek","row":"Řádek","rowDelete":"Smazat řádky","rowInsertAfter":"Vložit řádek za","rowInsertBefore":"Vložit řádek před","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/cy.js b/src/lang/cy.js index 21d91c9a12..2292ec7110 100644 --- a/src/lang/cy.js +++ b/src/lang/cy.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Canol","alignJustify":"Unioni","alignLeft":"Chwith","alignRight":"Dde","bold":"Bras","bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","cancel":"Diddymu","horizontalrule":"Mewnosod Llinell Lorweddol","italic":"Italig","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol","quote":"Dyfyniad bloc","removeformat":"Tynnu Fformat","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu","formatted":"Wedi'i Fformatio","h1":"Pennawd 1","h2":"Pennawd 2","normal":"Normal","indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad","blockStyles":"Arddulliau Bloc","inlineStyles":"Arddulliau Mewnol","objectStyles":"Arddulliau Gwrthrych","styles":"Arddulliau","cell":"Cell","cellDelete":"Dileu Celloedd","cellInsertAfter":"Mewnosod Cell Ar Ôl","cellInsertBefore":"Mewnosod Cell Cyn","cellMerge":"Cyfuno Celloedd","cellMergeDown":"Cyfuno i Lawr","cellMergeRight":"Cyfuno i'r Dde","cellSplitHorizontal":"Hollti'r Gell yn Lorweddol","cellSplitVertical":"Hollti'r Gell yn Fertigol","column":"Colofn","columnDelete":"Dileu Colofnau","columnInsertAfter":"Mewnosod Colofn Ar Ôl","columnInsertBefore":"Mewnosod Colofn Cyn","deleteTable":"Dileu Tabl","headers":"Penynnau","headersBoth":"Y Ddau","headersColumn":"Colofn gyntaf","headersNone":"Dim","headersRow":"Rhes gyntaf","row":"Rhes","rowDelete":"Dileu Rhesi","rowInsertAfter":"Mewnosod Rhes Ar Ôl","rowInsertBefore":"Mewnosod Rhes Cyn","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Canol","alignJustify":"Unioni","alignLeft":"Chwith","alignRight":"Dde","bold":"Bras","bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","cancel":"Diddymu","horizontalrule":"Mewnosod Llinell Lorweddol","italic":"Italig","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol","quote":"Dyfyniad bloc","removeformat":"Tynnu Fformat","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu","formatted":"Wedi'i Fformatio","h1":"Pennawd 1","h2":"Pennawd 2","normal":"Normal","indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad","blockStyles":"Arddulliau Bloc","inlineStyles":"Arddulliau Mewnol","objectStyles":"Arddulliau Gwrthrych","styles":"Arddulliau","cell":"Cell","cellDelete":"Dileu Celloedd","cellInsertAfter":"Mewnosod Cell Ar Ôl","cellInsertBefore":"Mewnosod Cell Cyn","cellMerge":"Cyfuno Celloedd","cellMergeDown":"Cyfuno i Lawr","cellMergeRight":"Cyfuno i'r Dde","cellSplitHorizontal":"Hollti'r Gell yn Lorweddol","cellSplitVertical":"Hollti'r Gell yn Fertigol","column":"Colofn","columnDelete":"Dileu Colofnau","columnInsertAfter":"Mewnosod Colofn Ar Ôl","columnInsertBefore":"Mewnosod Colofn Cyn","deleteTable":"Dileu Tabl","headers":"Penynnau","headersBoth":"Y Ddau","headersColumn":"Colofn gyntaf","headersNone":"Dim","headersRow":"Rhes gyntaf","row":"Rhes","rowDelete":"Dileu Rhesi","rowInsertAfter":"Mewnosod Rhes Ar Ôl","rowInsertBefore":"Mewnosod Rhes Cyn","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/da.js b/src/lang/da.js index e0a085e15a..ab562923c8 100644 --- a/src/lang/da.js +++ b/src/lang/da.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centreret","alignJustify":"Lige margener","alignLeft":"Venstre","alignRight":"Højre","bold":"Fed","bulletedlist":"Punktopstilling","cancel":"Annullér","horizontalrule":"Indsæt vandret streg","italic":"Kursiv","numberedlist":"Talopstilling","quote":"Blokcitat","removeformat":"Fjern formatering","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget","formatted":"Formateret","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Forøg indrykning","outdent":"Formindsk indrykning","blockStyles":"Block typografi","inlineStyles":"Inline typografi","objectStyles":"Object typografi","styles":"Typografi","cell":"Celle","cellDelete":"Slet celle","cellInsertAfter":"Indsæt celle efter","cellInsertBefore":"Indsæt celle før","cellMerge":"Flet celler","cellMergeDown":"Flet nedad","cellMergeRight":"Flet til højre","cellSplitHorizontal":"Del celle vandret","cellSplitVertical":"Del celle lodret","column":"Kolonne","columnDelete":"Slet kolonne","columnInsertAfter":"Indsæt kolonne efter","columnInsertBefore":"Indsæt kolonne før","deleteTable":"Slet tabel","headers":"Hoved","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første række","row":"Række","rowDelete":"Slet række","rowInsertAfter":"Indsæt række efter","rowInsertBefore":"Indsæt række før","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centreret","alignJustify":"Lige margener","alignLeft":"Venstre","alignRight":"Højre","bold":"Fed","bulletedlist":"Punktopstilling","cancel":"Annullér","horizontalrule":"Indsæt vandret streg","italic":"Kursiv","numberedlist":"Talopstilling","quote":"Blokcitat","removeformat":"Fjern formatering","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget","formatted":"Formateret","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Forøg indrykning","outdent":"Formindsk indrykning","blockStyles":"Block typografi","inlineStyles":"Inline typografi","objectStyles":"Object typografi","styles":"Typografi","cell":"Celle","cellDelete":"Slet celle","cellInsertAfter":"Indsæt celle efter","cellInsertBefore":"Indsæt celle før","cellMerge":"Flet celler","cellMergeDown":"Flet nedad","cellMergeRight":"Flet til højre","cellSplitHorizontal":"Del celle vandret","cellSplitVertical":"Del celle lodret","column":"Kolonne","columnDelete":"Slet kolonne","columnInsertAfter":"Indsæt kolonne efter","columnInsertBefore":"Indsæt kolonne før","deleteTable":"Slet tabel","headers":"Hoved","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første række","row":"Række","rowDelete":"Slet række","rowInsertAfter":"Indsæt række efter","rowInsertBefore":"Indsæt række før","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/de.js b/src/lang/de.js index 9880f3cd00..49bb28300c 100644 --- a/src/lang/de.js +++ b/src/lang/de.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Zentriert","alignJustify":"Blocksatz","alignLeft":"Links","alignRight":"Rechts","bold":"Fett","bulletedlist":"Liste","cancel":"Abbrechen","horizontalrule":"Horizontale Linie einfügen","italic":"Kursiv","numberedlist":"Nummerierte Liste einfügen/entfernen","quote":"Zitatblock","removeformat":"Formatierung entfernen","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen","formatted":"Formatiert","h1":"Überschrift 1","h2":"Überschrift 2","normal":"Normal","indent":"Einzug erhöhen","outdent":"Einzug verringern","blockStyles":"Blockstile","inlineStyles":"Inline Stilart","objectStyles":"Objektstile","styles":"Stil","cell":"Zelle","cellDelete":"Zelle löschen","cellInsertAfter":"Zelle danach einfügen","cellInsertBefore":"Zelle davor einfügen","cellMerge":"Zellen verbinden","cellMergeDown":"Nach unten verbinden","cellMergeRight":"Nach rechts verbinden","cellSplitHorizontal":"Zelle horizontal teilen","cellSplitVertical":"Zelle vertikal teilen","column":"Spalte","columnDelete":"Spalte löschen","columnInsertAfter":"Spalte rechts danach einfügen","columnInsertBefore":"Spalte links davor einfügen","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","row":"Zeile","rowDelete":"Zeile entfernen","rowInsertAfter":"Zeile unterhalb einfügen","rowInsertBefore":"Zeile oberhalb einfügen","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Zentriert","alignJustify":"Blocksatz","alignLeft":"Links","alignRight":"Rechts","bold":"Fett","bulletedlist":"Liste","cancel":"Abbrechen","horizontalrule":"Horizontale Linie einfügen","italic":"Kursiv","numberedlist":"Nummerierte Liste einfügen/entfernen","quote":"Zitatblock","removeformat":"Formatierung entfernen","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen","formatted":"Formatiert","h1":"Überschrift 1","h2":"Überschrift 2","normal":"Normal","indent":"Einzug erhöhen","outdent":"Einzug verringern","blockStyles":"Blockstile","inlineStyles":"Inline Stilart","objectStyles":"Objektstile","styles":"Stil","cell":"Zelle","cellDelete":"Zelle löschen","cellInsertAfter":"Zelle danach einfügen","cellInsertBefore":"Zelle davor einfügen","cellMerge":"Zellen verbinden","cellMergeDown":"Nach unten verbinden","cellMergeRight":"Nach rechts verbinden","cellSplitHorizontal":"Zelle horizontal teilen","cellSplitVertical":"Zelle vertikal teilen","column":"Spalte","columnDelete":"Spalte löschen","columnInsertAfter":"Spalte rechts danach einfügen","columnInsertBefore":"Spalte links davor einfügen","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","row":"Zeile","rowDelete":"Zeile entfernen","rowInsertAfter":"Zeile unterhalb einfügen","rowInsertBefore":"Zeile oberhalb einfügen","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/el.js b/src/lang/el.js index 21820b0b96..95a8cdf995 100644 --- a/src/lang/el.js +++ b/src/lang/el.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Κέντρο","alignJustify":"Πλήρης Στοίχιση","alignLeft":"Αριστερά","alignRight":"Δεξιά","bold":"Έντονη","bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","cancel":"Ακύρωση","horizontalrule":"Εισαγωγή Οριζόντιας Γραμμής","italic":"Πλάγια","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας","quote":"Περιοχή Παράθεσης","removeformat":"Εκκαθάριση Μορφοποίησης","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση","formatted":"Προ-μορφοποιημένη","h1":"Κεφαλίδα 1","h2":"Κεφαλίδα 2","normal":"Κανονική","indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής","blockStyles":"Στυλ Τμημάτων","inlineStyles":"Στυλ Εν Σειρά","objectStyles":"Στυλ Αντικειμένων","styles":"Μορφές","cell":"Κελί","cellDelete":"Διαγραφή Κελιών","cellInsertAfter":"Εισαγωγή Κελιού Μετά","cellInsertBefore":"Εισαγωγή Κελιού Πριν","cellMerge":"Ενοποίηση Κελιών","cellMergeDown":"Συγχώνευση Με Κάτω","cellMergeRight":"Συγχώνευση Με Δεξιά","cellSplitHorizontal":"Οριζόντια Διαίρεση Κελιού","cellSplitVertical":"Κατακόρυφη Διαίρεση Κελιού","column":"Στήλη","columnDelete":"Διαγραφή Στηλών","columnInsertAfter":"Εισαγωγή Στήλης Μετά","columnInsertBefore":"Εισαγωγή Στήλης Πριν","deleteTable":"Διαγραφή Πίνακα","headers":"Κεφαλίδες","headersBoth":"Και τα δύο","headersColumn":"Πρώτη στήλη","headersNone":"Κανένα","headersRow":"Πρώτη Γραμμή","row":"Γραμμή","rowDelete":"Διαγραφή Γραμμών","rowInsertAfter":"Εισαγωγή Γραμμής Μετά","rowInsertBefore":"Εισαγωγή Γραμμής Πριν","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Κέντρο","alignJustify":"Πλήρης Στοίχιση","alignLeft":"Αριστερά","alignRight":"Δεξιά","bold":"Έντονη","bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","cancel":"Ακύρωση","horizontalrule":"Εισαγωγή Οριζόντιας Γραμμής","italic":"Πλάγια","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας","quote":"Περιοχή Παράθεσης","removeformat":"Εκκαθάριση Μορφοποίησης","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση","formatted":"Προ-μορφοποιημένη","h1":"Κεφαλίδα 1","h2":"Κεφαλίδα 2","normal":"Normal","indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής","blockStyles":"Στυλ Τμημάτων","inlineStyles":"Στυλ Εν Σειρά","objectStyles":"Στυλ Αντικειμένων","styles":"Μορφές","cell":"Κελί","cellDelete":"Διαγραφή Κελιών","cellInsertAfter":"Εισαγωγή Κελιού Μετά","cellInsertBefore":"Εισαγωγή Κελιού Πριν","cellMerge":"Ενοποίηση Κελιών","cellMergeDown":"Συγχώνευση Με Κάτω","cellMergeRight":"Συγχώνευση Με Δεξιά","cellSplitHorizontal":"Οριζόντια Διαίρεση Κελιού","cellSplitVertical":"Κατακόρυφη Διαίρεση Κελιού","column":"Στήλη","columnDelete":"Διαγραφή Στηλών","columnInsertAfter":"Εισαγωγή Στήλης Μετά","columnInsertBefore":"Εισαγωγή Στήλης Πριν","deleteTable":"Διαγραφή Πίνακα","headers":"Κεφαλίδες","headersBoth":"Και τα δύο","headersColumn":"Πρώτη στήλη","headersNone":"Κανένα","headersRow":"Πρώτη Γραμμή","row":"Γραμμή","rowDelete":"Διαγραφή Γραμμών","rowInsertAfter":"Εισαγωγή Γραμμής Μετά","rowInsertBefore":"Εισαγωγή Γραμμής Πριν","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/en-au.js b/src/lang/en-au.js index 9fe8f7963f..fd98926836 100644 --- a/src/lang/en-au.js +++ b/src/lang/en-au.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/en-ca.js b/src/lang/en-ca.js index 9fe8f7963f..fd98926836 100644 --- a/src/lang/en-ca.js +++ b/src/lang/en-ca.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/en-gb.js b/src/lang/en-gb.js index 9fe8f7963f..fd98926836 100644 --- a/src/lang/en-gb.js +++ b/src/lang/en-gb.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/en.js b/src/lang/en.js index e2c1c6a875..dd660465fc 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Center","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Center","alignJustify":"Justify","alignLeft":"Left","alignRight":"Right","bold":"Bold","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Italic","numberedlist":"Insert/Remove Numbered List","quote":"Block Quote","removeformat":"Remove Format","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/eo.js b/src/lang/eo.js index fc27eea5d3..13b87213f8 100644 --- a/src/lang/eo.js +++ b/src/lang/eo.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Ĝisrandigi Ambaŭflanke","alignLeft":"Maldekstre","alignRight":"Dekstre","bold":"Grasa","bulletedlist":"Bula Listo","cancel":"Rezigni","horizontalrule":"Enmeti Horizontalan Linion","italic":"Kursiva","numberedlist":"Numera Listo","quote":"Citaĵo","removeformat":"Forigi Formaton","strike":"Trastreko","subscript":"Suba indico","superscript":"Supra indico","underline":"Substreko","formatted":"Formatita","h1":"Titolo 1","h2":"Titolo 2","normal":"Normala","indent":"Pligrandigi Krommarĝenon","outdent":"Malpligrandigi Krommarĝenon","blockStyles":"Stiloj de blokoj","inlineStyles":"Enliniaj Stiloj","objectStyles":"Stiloj de objektoj","styles":"Stiloj","cell":"Ĉelo","cellDelete":"Forigi la Ĉelojn","cellInsertAfter":"Enmeti Ĉelon Post","cellInsertBefore":"Enmeti Ĉelon Antaŭ","cellMerge":"Kunfandi la Ĉelojn","cellMergeDown":"Kunfandi malsupren ","cellMergeRight":"Kunfandi dekstren","cellSplitHorizontal":"Horizontale dividi","cellSplitVertical":"Vertikale dividi","column":"Kolumno","columnDelete":"Forigi Kolumnojn","columnInsertAfter":"Enmeti kolumnon post","columnInsertBefore":"Enmeti kolumnon antaŭ","deleteTable":"Forigi Tabelon","headers":"Supraj Paĝotitoloj","headersBoth":"Ambaŭ","headersColumn":"Unua kolumno","headersNone":"Neniu","headersRow":"Unua linio","row":"Linio","rowDelete":"Forigi Liniojn","rowInsertAfter":"Enmeti linion post","rowInsertBefore":"Enmeti linion antaŭ","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centre","alignJustify":"Ĝisrandigi Ambaŭflanke","alignLeft":"Maldekstre","alignRight":"Dekstre","bold":"Grasa","bulletedlist":"Bula Listo","cancel":"Rezigni","horizontalrule":"Enmeti Horizontalan Linion","italic":"Kursiva","numberedlist":"Numera Listo","quote":"Citaĵo","removeformat":"Forigi Formaton","strike":"Trastreko","subscript":"Suba indico","superscript":"Supra indico","underline":"Substreko","formatted":"Formatita","h1":"Titolo 1","h2":"Titolo 2","normal":"Normal","indent":"Pligrandigi Krommarĝenon","outdent":"Malpligrandigi Krommarĝenon","blockStyles":"Stiloj de blokoj","inlineStyles":"Enliniaj Stiloj","objectStyles":"Stiloj de objektoj","styles":"Stiloj","cell":"Ĉelo","cellDelete":"Forigi la Ĉelojn","cellInsertAfter":"Enmeti Ĉelon Post","cellInsertBefore":"Enmeti Ĉelon Antaŭ","cellMerge":"Kunfandi la Ĉelojn","cellMergeDown":"Kunfandi malsupren ","cellMergeRight":"Kunfandi dekstren","cellSplitHorizontal":"Horizontale dividi","cellSplitVertical":"Vertikale dividi","column":"Kolumno","columnDelete":"Forigi Kolumnojn","columnInsertAfter":"Enmeti kolumnon post","columnInsertBefore":"Enmeti kolumnon antaŭ","deleteTable":"Forigi Tabelon","headers":"Supraj Paĝotitoloj","headersBoth":"Ambaŭ","headersColumn":"Unua kolumno","headersNone":"Neniu","headersRow":"Unua linio","row":"Linio","rowDelete":"Forigi Liniojn","rowInsertAfter":"Enmeti linion post","rowInsertBefore":"Enmeti linion antaŭ","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/es.js b/src/lang/es.js index 189988dbe8..7f2b260710 100644 --- a/src/lang/es.js +++ b/src/lang/es.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrado","alignJustify":"Justificado","alignLeft":"Izquierda","alignRight":"Derecha","bold":"Negrita","bulletedlist":"Viñetas","cancel":"Cancelar","horizontalrule":"Insertar Línea Horizontal","italic":"Cursiva","numberedlist":"Numeración","quote":"Cita","removeformat":"Eliminar Formato","strike":"Tachado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subrayado","formatted":"Con formato","h1":"Encabezado 1","h2":"Encabezado 2","normal":"Normal","indent":"Aumentar Sangría","outdent":"Disminuir Sangría","blockStyles":"Estilos de párrafo","inlineStyles":"Estilos de carácter","objectStyles":"Estilos de objeto","styles":"Estilo","cell":"Celda","cellDelete":"Eliminar Celdas","cellInsertAfter":"Insertar celda a la derecha","cellInsertBefore":"Insertar celda a la izquierda","cellMerge":"Combinar Celdas","cellMergeDown":"Combinar hacia abajo","cellMergeRight":"Combinar a la derecha","cellSplitHorizontal":"Dividir la celda horizontalmente","cellSplitVertical":"Dividir la celda verticalmente","column":"Columna","columnDelete":"Eliminar Columnas","columnInsertAfter":"Insertar columna a la derecha","columnInsertBefore":"Insertar columna a la izquierda","deleteTable":"Eliminar Tabla","headers":"Encabezados","headersBoth":"Ambas","headersColumn":"Primera columna","headersNone":"Ninguno","headersRow":"Primera fila","row":"Fila","rowDelete":"Eliminar Filas","rowInsertAfter":"Insertar fila en la parte inferior","rowInsertBefore":"Insertar fila en la parte superior","add":"Añadir","ariaUpdateNoToolbar":"No hay toolbars disponibles","ariaUpdateOneToolbar":"{toolbars} esta toolbar está disponible. Presiona ALT+F10 para hacerle focus.","ariaUpdateManyToolbars":"{toolbars} estas toolbars están disponibles. Presione ALT+F10 para hacerle focus.","camera":"Insertar imagen desde la cámara","cameraDisabled":"El navegador no soporta esta acción, o sólo esta disponible a través de https (Chrome)","cite":"Cita","clearInput":"Limpiar input","code":"Código","columns":"Columnas","confirm":"Confirmar","deleteEmbed":"Borrar elemento embebido","editLink":"Escribe o copia el enlace aquí","image":"Insertar imagen","link":"Enlace","linkTargetBlank":"_blank (nueva pestaña)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (misma pestaña)","linkTargetTop":"_top","removeLink":"Eliminar enlace","rows":"Filas","table":"Insertar tabla"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrado","alignJustify":"Justificado","alignLeft":"Izquierda","alignRight":"Derecha","bold":"Negrita","bulletedlist":"Viñetas","cancel":"Cancelar","horizontalrule":"Insertar Línea Horizontal","italic":"Cursiva","numberedlist":"Numeración","quote":"Cita","removeformat":"Eliminar Formato","strike":"Tachado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subrayado","formatted":"Con formato","h1":"Encabezado 1","h2":"Encabezado 2","normal":"Normal","indent":"Aumentar Sangría","outdent":"Disminuir Sangría","blockStyles":"Estilos de párrafo","inlineStyles":"Estilos de carácter","objectStyles":"Estilos de objeto","styles":"Estilo","cell":"Celda","cellDelete":"Eliminar Celdas","cellInsertAfter":"Insertar celda a la derecha","cellInsertBefore":"Insertar celda a la izquierda","cellMerge":"Combinar Celdas","cellMergeDown":"Combinar hacia abajo","cellMergeRight":"Combinar a la derecha","cellSplitHorizontal":"Dividir la celda horizontalmente","cellSplitVertical":"Dividir la celda verticalmente","column":"Columna","columnDelete":"Eliminar Columnas","columnInsertAfter":"Insertar columna a la derecha","columnInsertBefore":"Insertar columna a la izquierda","deleteTable":"Eliminar Tabla","headers":"Encabezados","headersBoth":"Ambas","headersColumn":"Primera columna","headersNone":"Ninguno","headersRow":"Primera fila","row":"Fila","rowDelete":"Eliminar Filas","rowInsertAfter":"Insertar fila en la parte inferior","rowInsertBefore":"Insertar fila en la parte superior","add":"Añadir","ariaUpdateManyToolbars":"{toolbars} estas toolbars están disponibles. Presione ALT+F10 para hacerle focus.","ariaUpdateNoToolbar":"No hay toolbars disponibles","ariaUpdateOneToolbar":"{toolbars} esta toolbar está disponible. Presiona ALT+F10 para hacerle focus.","camera":"Insertar imagen desde la cámara","cameraDisabled":"El navegador no soporta esta acción, o sólo esta disponible a través de https (Chrome)","cite":"Cita","clearInput":"Limpiar input","clear":"Clear","code":"Código","columns":"Columnas","confirm":"Confirmar","danger":"Danger","deleteEmbed":"Borrar elemento embebido","disabled":"Disabled","editLink":"Escribe o copia el enlace aquí","enterValidUrl":"Please enter a valid url","image":"Insertar imagen","info":"Info","link":"Enlace","linkTargetBlank":"_blank (nueva pestaña)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (misma pestaña)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Eliminar enlace","rows":"Filas","success":"Success","table":"Insertar tabla","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/et.js b/src/lang/et.js index 9bf7c6d9df..004800fbda 100644 --- a/src/lang/et.js +++ b/src/lang/et.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Kesk","alignJustify":"Rööpjoondus","alignLeft":"Vasak","alignRight":"Paremale","bold":"Paks","bulletedlist":"Punktloend","cancel":"Loobu","horizontalrule":"Horisontaaljoone sisestamine","italic":"Kursiiv","numberedlist":"Numberloend","quote":"Blokktsitaat","removeformat":"Vormingu eemaldamine","strike":"Läbijoonitud","subscript":"Allindeks","superscript":"Ülaindeks","underline":"Allajoonitud","formatted":"Vormindatud","h1":"Pealkiri 1","h2":"Pealkiri 2","normal":"Tavaline","indent":"Taande suurendamine","outdent":"Taande vähendamine","blockStyles":"Blokkstiilid","inlineStyles":"Reasisesed stiilid","objectStyles":"Objektistiilid","styles":"Stiil","cell":"Lahter","cellDelete":"Eemalda lahtrid","cellInsertAfter":"Sisesta lahter peale","cellInsertBefore":"Sisesta lahter enne","cellMerge":"Ühenda lahtrid","cellMergeDown":"Ühenda alla","cellMergeRight":"Ühenda paremale","cellSplitHorizontal":"Poolita lahter horisontaalselt","cellSplitVertical":"Poolita lahter vertikaalselt","column":"Veerg","columnDelete":"Eemalda veerud","columnInsertAfter":"Sisesta veerg peale","columnInsertBefore":"Sisesta veerg enne","deleteTable":"Kustuta tabel","headers":"Päised","headersBoth":"Mõlemad","headersColumn":"Esimene tulp","headersNone":"Puudub","headersRow":"Esimene rida","row":"Rida","rowDelete":"Eemalda read","rowInsertAfter":"Sisesta rida peale","rowInsertBefore":"Sisesta rida enne","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Kesk","alignJustify":"Rööpjoondus","alignLeft":"Vasak","alignRight":"Paremale","bold":"Paks","bulletedlist":"Punktloend","cancel":"Loobu","horizontalrule":"Horisontaaljoone sisestamine","italic":"Kursiiv","numberedlist":"Numberloend","quote":"Blokktsitaat","removeformat":"Vormingu eemaldamine","strike":"Läbijoonitud","subscript":"Allindeks","superscript":"Ülaindeks","underline":"Allajoonitud","formatted":"Vormindatud","h1":"Pealkiri 1","h2":"Pealkiri 2","normal":"Normal","indent":"Taande suurendamine","outdent":"Taande vähendamine","blockStyles":"Blokkstiilid","inlineStyles":"Reasisesed stiilid","objectStyles":"Objektistiilid","styles":"Stiil","cell":"Lahter","cellDelete":"Eemalda lahtrid","cellInsertAfter":"Sisesta lahter peale","cellInsertBefore":"Sisesta lahter enne","cellMerge":"Ühenda lahtrid","cellMergeDown":"Ühenda alla","cellMergeRight":"Ühenda paremale","cellSplitHorizontal":"Poolita lahter horisontaalselt","cellSplitVertical":"Poolita lahter vertikaalselt","column":"Veerg","columnDelete":"Eemalda veerud","columnInsertAfter":"Sisesta veerg peale","columnInsertBefore":"Sisesta veerg enne","deleteTable":"Kustuta tabel","headers":"Päised","headersBoth":"Mõlemad","headersColumn":"Esimene tulp","headersNone":"Puudub","headersRow":"Esimene rida","row":"Rida","rowDelete":"Eemalda read","rowInsertAfter":"Sisesta rida peale","rowInsertBefore":"Sisesta rida enne","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/eu.js b/src/lang/eu.js index e8eda3f5c2..590c888bef 100644 --- a/src/lang/eu.js +++ b/src/lang/eu.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Erdian","alignJustify":"Justifikatu","alignLeft":"Ezkerrean","alignRight":"Eskuinean","bold":"Lodia","bulletedlist":"Buletdun Zerrenda","cancel":"Utzi","horizontalrule":"Txertatu marra horizontala","italic":"Etzana","numberedlist":"Zenbakidun Zerrenda","quote":"Aipamen blokea","removeformat":"Kendu formatua","strike":"Marratua","subscript":"Azpi-indizea","superscript":"Goi-indizea","underline":"Azpimarratu","formatted":"Formatuduna","h1":"Izenburua 1","h2":"Izenburua 2","normal":"Normala","indent":"Handitu koska","outdent":"Txikitu koska","blockStyles":"Bloke estiloak","inlineStyles":"Lineako estiloak","objectStyles":"Objektu estiloak","styles":"Estiloak","cell":"Gelaxka","cellDelete":"Ezabatu gelaxkak","cellInsertAfter":"Txertatu gelaxka ondoren","cellInsertBefore":"Txertatu gelaxka aurretik","cellMerge":"Batu gelaxkak","cellMergeDown":"Batu behera","cellMergeRight":"Batu eskuinetara","cellSplitHorizontal":"Banatu gelaxka horizontalki","cellSplitVertical":"Banatu gelaxka bertikalki","column":"Zutabea","columnDelete":"Ezabatu zutabeak","columnInsertAfter":"Txertatu zutabea ondoren","columnInsertBefore":"Txertatu zutabea aurretik","deleteTable":"Ezabatu taula","headers":"Goiburuak","headersBoth":"Biak","headersColumn":"Lehen zutabea","headersNone":"Bat ere ez","headersRow":"Lehen errenkada","row":"Errenkada","rowDelete":"Ezabatu errenkadak","rowInsertAfter":"Txertatu errenkada ondoren","rowInsertBefore":"Txertatu errenkada aurretik","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Erdian","alignJustify":"Justifikatu","alignLeft":"Ezkerrean","alignRight":"Eskuinean","bold":"Lodia","bulletedlist":"Buletdun Zerrenda","cancel":"Utzi","horizontalrule":"Txertatu marra horizontala","italic":"Etzana","numberedlist":"Zenbakidun Zerrenda","quote":"Aipamen blokea","removeformat":"Kendu formatua","strike":"Marratua","subscript":"Azpi-indizea","superscript":"Goi-indizea","underline":"Azpimarratu","formatted":"Formatuduna","h1":"Izenburua 1","h2":"Izenburua 2","normal":"Normal","indent":"Handitu koska","outdent":"Txikitu koska","blockStyles":"Bloke estiloak","inlineStyles":"Lineako estiloak","objectStyles":"Objektu estiloak","styles":"Estiloak","cell":"Gelaxka","cellDelete":"Ezabatu gelaxkak","cellInsertAfter":"Txertatu gelaxka ondoren","cellInsertBefore":"Txertatu gelaxka aurretik","cellMerge":"Batu gelaxkak","cellMergeDown":"Batu behera","cellMergeRight":"Batu eskuinetara","cellSplitHorizontal":"Banatu gelaxka horizontalki","cellSplitVertical":"Banatu gelaxka bertikalki","column":"Zutabea","columnDelete":"Ezabatu zutabeak","columnInsertAfter":"Txertatu zutabea ondoren","columnInsertBefore":"Txertatu zutabea aurretik","deleteTable":"Ezabatu taula","headers":"Goiburuak","headersBoth":"Biak","headersColumn":"Lehen zutabea","headersNone":"Bat ere ez","headersRow":"Lehen errenkada","row":"Errenkada","rowDelete":"Ezabatu errenkadak","rowInsertAfter":"Txertatu errenkada ondoren","rowInsertBefore":"Txertatu errenkada aurretik","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/fa.js b/src/lang/fa.js index f4246d4274..a09f5a89f1 100644 --- a/src/lang/fa.js +++ b/src/lang/fa.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"وسط","alignJustify":"بلوک چین","alignLeft":"چپ","alignRight":"راست","bold":"درشت","bulletedlist":"فهرست نقطه​ای","cancel":"انصراف","horizontalrule":"گنجاندن خط افقی","italic":"خمیده","numberedlist":"فهرست شماره​دار","quote":"بلوک نقل قول","removeformat":"برداشتن فرمت","strike":"خط‌خورده","subscript":"زیرنویس","superscript":"بالانویس","underline":"زیرخط‌دار","formatted":"قالب‌دار","h1":"سرنویس ۱","h2":"سرنویس ۲","normal":"معمولی","indent":"افزایش تورفتگی","outdent":"کاهش تورفتگی","blockStyles":"سبکهای بلوک","inlineStyles":"سبکهای درونخطی","objectStyles":"سبکهای شیء","styles":"سبک","cell":"سلول","cellDelete":"حذف سلولها","cellInsertAfter":"افزودن سلول بعد از","cellInsertBefore":"افزودن سلول قبل از","cellMerge":"ادغام سلولها","cellMergeDown":"ادغام به پایین","cellMergeRight":"ادغام به راست","cellSplitHorizontal":"جدا کردن افقی سلول","cellSplitVertical":"جدا کردن عمودی سلول","column":"ستون","columnDelete":"حذف ستونها","columnInsertAfter":"افزودن ستون بعد از","columnInsertBefore":"افزودن ستون قبل از","deleteTable":"پاک کردن جدول","headers":"سرنویسها","headersBoth":"هردو","headersColumn":"اولین ستون","headersNone":"هیچ","headersRow":"اولین ردیف","row":"سطر","rowDelete":"حذف سطرها","rowInsertAfter":"افزودن سطر بعد از","rowInsertBefore":"افزودن سطر قبل از","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"وسط","alignJustify":"بلوک چین","alignLeft":"چپ","alignRight":"راست","bold":"درشت","bulletedlist":"فهرست نقطه​ای","cancel":"انصراف","horizontalrule":"گنجاندن خط افقی","italic":"خمیده","numberedlist":"فهرست شماره​دار","quote":"بلوک نقل قول","removeformat":"برداشتن فرمت","strike":"خط‌خورده","subscript":"زیرنویس","superscript":"بالانویس","underline":"زیرخط‌دار","formatted":"قالب‌دار","h1":"سرنویس ۱","h2":"سرنویس ۲","normal":"Normal","indent":"افزایش تورفتگی","outdent":"کاهش تورفتگی","blockStyles":"سبکهای بلوک","inlineStyles":"سبکهای درونخطی","objectStyles":"سبکهای شیء","styles":"سبک","cell":"سلول","cellDelete":"حذف سلولها","cellInsertAfter":"افزودن سلول بعد از","cellInsertBefore":"افزودن سلول قبل از","cellMerge":"ادغام سلولها","cellMergeDown":"ادغام به پایین","cellMergeRight":"ادغام به راست","cellSplitHorizontal":"جدا کردن افقی سلول","cellSplitVertical":"جدا کردن عمودی سلول","column":"ستون","columnDelete":"حذف ستونها","columnInsertAfter":"افزودن ستون بعد از","columnInsertBefore":"افزودن ستون قبل از","deleteTable":"پاک کردن جدول","headers":"سرنویسها","headersBoth":"هردو","headersColumn":"اولین ستون","headersNone":"هیچ","headersRow":"اولین ردیف","row":"سطر","rowDelete":"حذف سطرها","rowInsertAfter":"افزودن سطر بعد از","rowInsertBefore":"افزودن سطر قبل از","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/fi.js b/src/lang/fi.js index 1edcc531ad..3353f12171 100644 --- a/src/lang/fi.js +++ b/src/lang/fi.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Keskelle","alignJustify":"Tasaa molemmat reunat","alignLeft":"Vasemmalle","alignRight":"Oikealle","bold":"Lihavoitu","bulletedlist":"Luettelomerkit","cancel":"Peruuta","horizontalrule":"Lisää murtoviiva","italic":"Kursivoitu","numberedlist":"Numerointi","quote":"Lainaus","removeformat":"Poista muotoilu","strike":"Yliviivattu","subscript":"Alaindeksi","superscript":"Yläindeksi","underline":"Alleviivattu","formatted":"Muotoiltu","h1":"Otsikko 1","h2":"Otsikko 2","normal":"Normaali","indent":"Suurenna sisennystä","outdent":"Pienennä sisennystä","blockStyles":"Lohkojen tyylit","inlineStyles":"Rivinsisäiset tyylit","objectStyles":"Objektien tyylit","styles":"Tyyli","cell":"Solu","cellDelete":"Poista solut","cellInsertAfter":"Lisää solu perään","cellInsertBefore":"Lisää solu eteen","cellMerge":"Yhdistä solut","cellMergeDown":"Yhdistä alla olevan kanssa","cellMergeRight":"Yhdistä oikealla olevan kanssa","cellSplitHorizontal":"Jaa solu vaakasuunnassa","cellSplitVertical":"Jaa solu pystysuunnassa","column":"Sarake","columnDelete":"Poista sarakkeet","columnInsertAfter":"Lisää sarake oikealle","columnInsertBefore":"Lisää sarake vasemmalle","deleteTable":"Poista taulu","headers":"Ylätunnisteet","headersBoth":"Molemmat","headersColumn":"Ensimmäinen sarake","headersNone":"Ei","headersRow":"Ensimmäinen rivi","row":"Rivi","rowDelete":"Poista rivit","rowInsertAfter":"Lisää rivi alapuolelle","rowInsertBefore":"Lisää rivi yläpuolelle","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Keskelle","alignJustify":"Tasaa molemmat reunat","alignLeft":"Vasemmalle","alignRight":"Oikealle","bold":"Lihavoitu","bulletedlist":"Luettelomerkit","cancel":"Peruuta","horizontalrule":"Lisää murtoviiva","italic":"Kursivoitu","numberedlist":"Numerointi","quote":"Lainaus","removeformat":"Poista muotoilu","strike":"Yliviivattu","subscript":"Alaindeksi","superscript":"Yläindeksi","underline":"Alleviivattu","formatted":"Muotoiltu","h1":"Otsikko 1","h2":"Otsikko 2","normal":"Normal","indent":"Suurenna sisennystä","outdent":"Pienennä sisennystä","blockStyles":"Lohkojen tyylit","inlineStyles":"Rivinsisäiset tyylit","objectStyles":"Objektien tyylit","styles":"Tyyli","cell":"Solu","cellDelete":"Poista solut","cellInsertAfter":"Lisää solu perään","cellInsertBefore":"Lisää solu eteen","cellMerge":"Yhdistä solut","cellMergeDown":"Yhdistä alla olevan kanssa","cellMergeRight":"Yhdistä oikealla olevan kanssa","cellSplitHorizontal":"Jaa solu vaakasuunnassa","cellSplitVertical":"Jaa solu pystysuunnassa","column":"Sarake","columnDelete":"Poista sarakkeet","columnInsertAfter":"Lisää sarake oikealle","columnInsertBefore":"Lisää sarake vasemmalle","deleteTable":"Poista taulu","headers":"Ylätunnisteet","headersBoth":"Molemmat","headersColumn":"Ensimmäinen sarake","headersNone":"Ei","headersRow":"Ensimmäinen rivi","row":"Rivi","rowDelete":"Poista rivit","rowInsertAfter":"Lisää rivi alapuolelle","rowInsertBefore":"Lisää rivi yläpuolelle","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/fo.js b/src/lang/fo.js index 8df585167d..31fa190ec5 100644 --- a/src/lang/fo.js +++ b/src/lang/fo.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Miðsett","alignJustify":"Javnir tekstkantar","alignLeft":"Vinstra","alignRight":"Høgra","bold":"Feit skrift","bulletedlist":"Punktmerktur listi","cancel":"Avlýs","horizontalrule":"Ger vatnrætta linju","italic":"Skráskrift","numberedlist":"Talmerktur listi","quote":"Blockquote","removeformat":"Strika sniðgeving","strike":"Yvirstrikað","subscript":"Lækkað skrift","superscript":"Hækkað skrift","underline":"Undirstrikað","formatted":"Sniðgivið","h1":"Yvirskrift 1","h2":"Yvirskrift 2","normal":"Vanligt","indent":"Økja reglubrotarinntriv","outdent":"Minka reglubrotarinntriv","blockStyles":"Blokk stílir","inlineStyles":"Inline stílir","objectStyles":"Object stílir","styles":"Typografi","cell":"Meski","cellDelete":"Strika meskar","cellInsertAfter":"Set meska inn aftaná","cellInsertBefore":"Set meska inn áðrenn","cellMerge":"Flætta meskar","cellMergeDown":"Flætta saman","cellMergeRight":"Flætta meskar til høgru","cellSplitHorizontal":"Kloyv meska vatnrætt","cellSplitVertical":"Kloyv meska loddrætt","column":"Kolonna","columnDelete":"Strika kolonnur","columnInsertAfter":"Set kolonnu inn aftaná","columnInsertBefore":"Set kolonnu inn áðrenn","deleteTable":"Strika tabell","headers":"Yvirskriftir","headersBoth":"Báðir","headersColumn":"Fyrsta kolonna","headersNone":"Eingin","headersRow":"Fyrsta rað","row":"Rað","rowDelete":"Strika røðir","rowInsertAfter":"Set rað inn aftaná","rowInsertBefore":"Set rað inn áðrenn","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Miðsett","alignJustify":"Javnir tekstkantar","alignLeft":"Vinstra","alignRight":"Høgra","bold":"Feit skrift","bulletedlist":"Punktmerktur listi","cancel":"Avlýs","horizontalrule":"Ger vatnrætta linju","italic":"Skráskrift","numberedlist":"Talmerktur listi","quote":"Blockquote","removeformat":"Strika sniðgeving","strike":"Yvirstrikað","subscript":"Lækkað skrift","superscript":"Hækkað skrift","underline":"Undirstrikað","formatted":"Sniðgivið","h1":"Yvirskrift 1","h2":"Yvirskrift 2","normal":"Normal","indent":"Økja reglubrotarinntriv","outdent":"Minka reglubrotarinntriv","blockStyles":"Blokk stílir","inlineStyles":"Inline stílir","objectStyles":"Object stílir","styles":"Typografi","cell":"Meski","cellDelete":"Strika meskar","cellInsertAfter":"Set meska inn aftaná","cellInsertBefore":"Set meska inn áðrenn","cellMerge":"Flætta meskar","cellMergeDown":"Flætta saman","cellMergeRight":"Flætta meskar til høgru","cellSplitHorizontal":"Kloyv meska vatnrætt","cellSplitVertical":"Kloyv meska loddrætt","column":"Kolonna","columnDelete":"Strika kolonnur","columnInsertAfter":"Set kolonnu inn aftaná","columnInsertBefore":"Set kolonnu inn áðrenn","deleteTable":"Strika tabell","headers":"Yvirskriftir","headersBoth":"Báðir","headersColumn":"Fyrsta kolonna","headersNone":"Eingin","headersRow":"Fyrsta rað","row":"Rað","rowDelete":"Strika røðir","rowInsertAfter":"Set rað inn aftaná","rowInsertBefore":"Set rað inn áðrenn","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/fr-ca.js b/src/lang/fr-ca.js index f3cd7722aa..e24c061777 100644 --- a/src/lang/fr-ca.js +++ b/src/lang/fr-ca.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centré","alignJustify":"Justifié","alignLeft":"Gauche","alignRight":"Droite","bold":"Gras","bulletedlist":"Liste à puces","cancel":"Annuler","horizontalrule":"Insérer un séparateur horizontale","italic":"Italique","numberedlist":"Liste numérotée","quote":"Citation","removeformat":"Supprimer le formatage","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné","formatted":"Formaté","h1":"En-tête 1","h2":"En-tête 2","normal":"Normal","indent":"Augmenter le retrait","outdent":"Diminuer le retrait","blockStyles":"Styles de block","inlineStyles":"Styles en ligne","objectStyles":"Styles d'objet","styles":"Styles","cell":"Cellule","cellDelete":"Supprimer des cellules","cellInsertAfter":"Insérer une cellule après","cellInsertBefore":"Insérer une cellule avant","cellMerge":"Fusionner les cellules","cellMergeDown":"Fusionner en bas","cellMergeRight":"Fusionner à droite","cellSplitHorizontal":"Scinder la cellule horizontalement","cellSplitVertical":"Scinder la cellule verticalement","column":"Colonne","columnDelete":"Supprimer des colonnes","columnInsertAfter":"Insérer une colonne après","columnInsertBefore":"Insérer une colonne avant","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux.","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","row":"Ligne","rowDelete":"Supprimer des lignes","rowInsertAfter":"Insérer une ligne après","rowInsertBefore":"Insérer une ligne avant","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centré","alignJustify":"Justifié","alignLeft":"Gauche","alignRight":"Droite","bold":"Gras","bulletedlist":"Liste à puces","cancel":"Annuler","horizontalrule":"Insérer un séparateur horizontale","italic":"Italique","numberedlist":"Liste numérotée","quote":"Citation","removeformat":"Supprimer le formatage","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné","formatted":"Formaté","h1":"En-tête 1","h2":"En-tête 2","normal":"Normal","indent":"Augmenter le retrait","outdent":"Diminuer le retrait","blockStyles":"Styles de block","inlineStyles":"Styles en ligne","objectStyles":"Styles d'objet","styles":"Styles","cell":"Cellule","cellDelete":"Supprimer des cellules","cellInsertAfter":"Insérer une cellule après","cellInsertBefore":"Insérer une cellule avant","cellMerge":"Fusionner les cellules","cellMergeDown":"Fusionner en bas","cellMergeRight":"Fusionner à droite","cellSplitHorizontal":"Scinder la cellule horizontalement","cellSplitVertical":"Scinder la cellule verticalement","column":"Colonne","columnDelete":"Supprimer des colonnes","columnInsertAfter":"Insérer une colonne après","columnInsertBefore":"Insérer une colonne avant","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux.","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","row":"Ligne","rowDelete":"Supprimer des lignes","rowInsertAfter":"Insérer une ligne après","rowInsertBefore":"Insérer une ligne avant","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/fr.js b/src/lang/fr.js index 7175baa531..b51298677d 100644 --- a/src/lang/fr.js +++ b/src/lang/fr.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrer","alignJustify":"Justifier","alignLeft":"Gauche","alignRight":"Droite","bold":"Gras","bulletedlist":"Insérer/Supprimer une liste à puces","cancel":"Annuler","horizontalrule":"Ligne horizontale","italic":"Italique","numberedlist":"Insérer/Supprimer une liste numérotée","quote":"Citation","removeformat":"Supprimer la mise en forme","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné","formatted":"Préformaté","h1":"Titre 1","h2":"Titre 2","normal":"Normal","indent":"Augmenter le retrait","outdent":"Diminuer le retrait","blockStyles":"Styles de bloc","inlineStyles":"Styles en ligne","objectStyles":"Styles d'objet","styles":"Styles","cell":"Cellule","cellDelete":"Supprimer les cellules","cellInsertAfter":"Insérer une cellule après","cellInsertBefore":"Insérer une cellule avant","cellMerge":"Fusionner les cellules","cellMergeDown":"Fusionner vers le bas","cellMergeRight":"Fusionner vers la droite","cellSplitHorizontal":"Scinder la cellule horizontalement","cellSplitVertical":"Scinder la cellule verticalement","column":"Colonne","columnDelete":"Supprimer les colonnes","columnInsertAfter":"Insérer une colonne après","columnInsertBefore":"Insérer une colonne avant","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","row":"Ligne","rowDelete":"Supprimer les lignes","rowInsertAfter":"Insérer une ligne après","rowInsertBefore":"Insérer une ligne avant","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrer","alignJustify":"Justifier","alignLeft":"Gauche","alignRight":"Droite","bold":"Gras","bulletedlist":"Insérer/Supprimer une liste à puces","cancel":"Annuler","horizontalrule":"Ligne horizontale","italic":"Italique","numberedlist":"Insérer/Supprimer une liste numérotée","quote":"Citation","removeformat":"Supprimer la mise en forme","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné","formatted":"Préformaté","h1":"Titre 1","h2":"Titre 2","normal":"Normal","indent":"Augmenter le retrait","outdent":"Diminuer le retrait","blockStyles":"Styles de bloc","inlineStyles":"Styles en ligne","objectStyles":"Styles d'objet","styles":"Styles","cell":"Cellule","cellDelete":"Supprimer les cellules","cellInsertAfter":"Insérer une cellule après","cellInsertBefore":"Insérer une cellule avant","cellMerge":"Fusionner les cellules","cellMergeDown":"Fusionner vers le bas","cellMergeRight":"Fusionner vers la droite","cellSplitHorizontal":"Scinder la cellule horizontalement","cellSplitVertical":"Scinder la cellule verticalement","column":"Colonne","columnDelete":"Supprimer les colonnes","columnInsertAfter":"Insérer une colonne après","columnInsertBefore":"Insérer une colonne avant","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","row":"Ligne","rowDelete":"Supprimer les lignes","rowInsertAfter":"Insérer une ligne après","rowInsertBefore":"Insérer une ligne avant","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/gl.js b/src/lang/gl.js index decea6019e..6f67fcbea1 100644 --- a/src/lang/gl.js +++ b/src/lang/gl.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centro","alignJustify":"Xustificado","alignLeft":"Esquerda","alignRight":"Dereita","bold":"Negra","bulletedlist":"Inserir/retirar lista viñeteada","cancel":"Cancelar","horizontalrule":"Inserir unha liña horizontal","italic":"Cursiva","numberedlist":"Inserir/retirar lista numerada","quote":"Cita","removeformat":"Retirar o formato","strike":"Riscado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subliñado","formatted":"Formatado","h1":"Enacabezado 1","h2":"Encabezado 2","normal":"Normal","indent":"Aumentar a sangría","outdent":"Reducir a sangría","blockStyles":"Estilos de bloque","inlineStyles":"Estilos de liña","objectStyles":"Estilos de obxecto","styles":"Estilos","cell":"Cela","cellDelete":"Eliminar celas","cellInsertAfter":"Inserir a cela á dereita","cellInsertBefore":"Inserir a cela á esquerda","cellMerge":"Combinar celas","cellMergeDown":"Combinar cara abaixo","cellMergeRight":"Combinar á dereita","cellSplitHorizontal":"Dividir a cela en horizontal","cellSplitVertical":"Dividir a cela en vertical","column":"Columna","columnDelete":"Borrar Columnas","columnInsertAfter":"Inserir a columna á dereita","columnInsertBefore":"Inserir a columna á esquerda","deleteTable":"Borrar Táboa","headers":"Cabeceiras","headersBoth":"Ambas","headersColumn":"Primeira columna","headersNone":"Ningún","headersRow":"Primeira fila","row":"Fila","rowDelete":"Eliminar filas","rowInsertAfter":"Inserir a fila por baixo","rowInsertBefore":"Inserir a fila por riba","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centro","alignJustify":"Xustificado","alignLeft":"Esquerda","alignRight":"Dereita","bold":"Negra","bulletedlist":"Inserir/retirar lista viñeteada","cancel":"Cancelar","horizontalrule":"Inserir unha liña horizontal","italic":"Cursiva","numberedlist":"Inserir/retirar lista numerada","quote":"Cita","removeformat":"Retirar o formato","strike":"Riscado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subliñado","formatted":"Formatado","h1":"Enacabezado 1","h2":"Encabezado 2","normal":"Normal","indent":"Aumentar a sangría","outdent":"Reducir a sangría","blockStyles":"Estilos de bloque","inlineStyles":"Estilos de liña","objectStyles":"Estilos de obxecto","styles":"Estilos","cell":"Cela","cellDelete":"Eliminar celas","cellInsertAfter":"Inserir a cela á dereita","cellInsertBefore":"Inserir a cela á esquerda","cellMerge":"Combinar celas","cellMergeDown":"Combinar cara abaixo","cellMergeRight":"Combinar á dereita","cellSplitHorizontal":"Dividir a cela en horizontal","cellSplitVertical":"Dividir a cela en vertical","column":"Columna","columnDelete":"Borrar Columnas","columnInsertAfter":"Inserir a columna á dereita","columnInsertBefore":"Inserir a columna á esquerda","deleteTable":"Borrar Táboa","headers":"Cabeceiras","headersBoth":"Ambas","headersColumn":"Primeira columna","headersNone":"Ningún","headersRow":"Primeira fila","row":"Fila","rowDelete":"Eliminar filas","rowInsertAfter":"Inserir a fila por baixo","rowInsertBefore":"Inserir a fila por riba","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/gu.js b/src/lang/gu.js index 61bd1cb37a..698a8552af 100644 --- a/src/lang/gu.js +++ b/src/lang/gu.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"મધ્ય સેન્ટર","alignJustify":"બ્લૉક, અંતરાય જસ્ટિફાઇ","alignLeft":"ડાબી બાજુ ગોઠવવું","alignRight":"જમણી","bold":"બોલ્ડ/સ્પષ્ટ","bulletedlist":"બુલેટ સૂચિ","cancel":"રદ કરવું","horizontalrule":"સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી","italic":"ઇટેલિક, ત્રાંસા","numberedlist":"સંખ્યાંકન સૂચિ","quote":"બ્લૉક-કોટ, અવતરણચિહ્નો","removeformat":"ફૉર્મટ કાઢવું","strike":"છેકી નાખવું","subscript":"એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન","superscript":"એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.","underline":"અન્ડર્લાઇન, નીચે લીટી","formatted":"ફૉર્મટેડ","h1":"શીર્ષક 1","h2":"શીર્ષક 2","normal":"સામાન્ય","indent":"ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી","outdent":"ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી","blockStyles":"બ્લોક ","inlineStyles":"ઈનલાઈન ","objectStyles":"ઓબ્જેક્ટ પદ્ધતિ","styles":"શૈલી/રીત","cell":"કોષના ખાના","cellDelete":"કોષ ડિલીટ/કાઢી નાખવો","cellInsertAfter":"પછી કોષ ઉમેરવો","cellInsertBefore":"પહેલાં કોષ ઉમેરવો","cellMerge":"કોષ ભેગા કરવા","cellMergeDown":"નીચે ભેગા કરવા","cellMergeRight":"જમણી બાજુ ભેગા કરવા","cellSplitHorizontal":"કોષને સમસ્તરીય વિભાજન કરવું","cellSplitVertical":"કોષને સીધું ને ઊભું વિભાજન કરવું","column":"કૉલમ/ઊભી કટાર","columnDelete":"કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી","columnInsertAfter":"પછી કૉલમ/ઊભી કટાર ઉમેરવી","columnInsertBefore":"પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી","deleteTable":"કોઠો ડિલીટ/કાઢી નાખવું","headers":"મથાળા","headersBoth":"બેવું","headersColumn":"પહેલી ઊભી કટાર","headersNone":"નથી ","headersRow":"પહેલી કટાર","row":"પંક્તિના ખાના","rowDelete":"પંક્તિઓ ડિલીટ/કાઢી નાખવી","rowInsertAfter":"પછી પંક્તિ ઉમેરવી","rowInsertBefore":"પહેલાં પંક્તિ ઉમેરવી","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"મધ્ય સેન્ટર","alignJustify":"બ્લૉક, અંતરાય જસ્ટિફાઇ","alignLeft":"ડાબી બાજુ ગોઠવવું","alignRight":"જમણી","bold":"બોલ્ડ/સ્પષ્ટ","bulletedlist":"બુલેટ સૂચિ","cancel":"રદ કરવું","horizontalrule":"સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી","italic":"ઇટેલિક, ત્રાંસા","numberedlist":"સંખ્યાંકન સૂચિ","quote":"બ્લૉક-કોટ, અવતરણચિહ્નો","removeformat":"ફૉર્મટ કાઢવું","strike":"છેકી નાખવું","subscript":"એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન","superscript":"એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.","underline":"અન્ડર્લાઇન, નીચે લીટી","formatted":"ફૉર્મટેડ","h1":"શીર્ષક 1","h2":"શીર્ષક 2","normal":"Normal","indent":"ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી","outdent":"ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી","blockStyles":"બ્લોક ","inlineStyles":"ઈનલાઈન ","objectStyles":"ઓબ્જેક્ટ પદ્ધતિ","styles":"શૈલી/રીત","cell":"કોષના ખાના","cellDelete":"કોષ ડિલીટ/કાઢી નાખવો","cellInsertAfter":"પછી કોષ ઉમેરવો","cellInsertBefore":"પહેલાં કોષ ઉમેરવો","cellMerge":"કોષ ભેગા કરવા","cellMergeDown":"નીચે ભેગા કરવા","cellMergeRight":"જમણી બાજુ ભેગા કરવા","cellSplitHorizontal":"કોષને સમસ્તરીય વિભાજન કરવું","cellSplitVertical":"કોષને સીધું ને ઊભું વિભાજન કરવું","column":"કૉલમ/ઊભી કટાર","columnDelete":"કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી","columnInsertAfter":"પછી કૉલમ/ઊભી કટાર ઉમેરવી","columnInsertBefore":"પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી","deleteTable":"કોઠો ડિલીટ/કાઢી નાખવું","headers":"મથાળા","headersBoth":"બેવું","headersColumn":"પહેલી ઊભી કટાર","headersNone":"નથી ","headersRow":"પહેલી કટાર","row":"પંક્તિના ખાના","rowDelete":"પંક્તિઓ ડિલીટ/કાઢી નાખવી","rowInsertAfter":"પછી પંક્તિ ઉમેરવી","rowInsertBefore":"પહેલાં પંક્તિ ઉમેરવી","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/he.js b/src/lang/he.js index 547069d09d..e8d78adeed 100644 --- a/src/lang/he.js +++ b/src/lang/he.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"מרכז","alignJustify":"יישור לשוליים","alignLeft":"לשמאל","alignRight":"לימין","bold":"מודגש","bulletedlist":"רשימת נקודות","cancel":"ביטול","horizontalrule":"הוספת קו אופקי","italic":"נטוי","numberedlist":"רשימה ממוספרת","quote":"בלוק ציטוט","removeformat":"הסרת העיצוב","strike":"כתיב מחוק","subscript":"כתיב תחתון","superscript":"כתיב עליון","underline":"קו תחתון","formatted":"קוד","h1":"כותרת","h2":"כותרת 2","normal":"נורמלי","indent":"הגדלת הזחה","outdent":"הקטנת הזחה","blockStyles":"סגנונות בלוק","inlineStyles":"סגנונות רצף","objectStyles":"סגנונות אובייקט","styles":"סגנון","cell":"מאפייני תא","cellDelete":"מחיקת תאים","cellInsertAfter":"הוספת תא אחרי","cellInsertBefore":"הוספת תא לפני","cellMerge":"מיזוג תאים","cellMergeDown":"מזג למטה","cellMergeRight":"מזג ימינה","cellSplitHorizontal":"פיצול תא אופקית","cellSplitVertical":"פיצול תא אנכית","column":"עמודה","columnDelete":"מחיקת עמודות","columnInsertAfter":"הוספת עמודה אחרי","columnInsertBefore":"הוספת עמודה לפני","deleteTable":"מחק טבלה","headers":"כותרות","headersBoth":"שניהם","headersColumn":"עמודה ראשונה","headersNone":"אין","headersRow":"שורה ראשונה","row":"שורה","rowDelete":"מחיקת שורות","rowInsertAfter":"הוספת שורה אחרי","rowInsertBefore":"הוספת שורה לפני","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"מרכז","alignJustify":"יישור לשוליים","alignLeft":"לשמאל","alignRight":"לימין","bold":"מודגש","bulletedlist":"רשימת נקודות","cancel":"ביטול","horizontalrule":"הוספת קו אופקי","italic":"נטוי","numberedlist":"רשימה ממוספרת","quote":"בלוק ציטוט","removeformat":"הסרת העיצוב","strike":"כתיב מחוק","subscript":"כתיב תחתון","superscript":"כתיב עליון","underline":"קו תחתון","formatted":"קוד","h1":"כותרת","h2":"כותרת 2","normal":"Normal","indent":"הגדלת הזחה","outdent":"הקטנת הזחה","blockStyles":"סגנונות בלוק","inlineStyles":"סגנונות רצף","objectStyles":"סגנונות אובייקט","styles":"סגנון","cell":"מאפייני תא","cellDelete":"מחיקת תאים","cellInsertAfter":"הוספת תא אחרי","cellInsertBefore":"הוספת תא לפני","cellMerge":"מיזוג תאים","cellMergeDown":"מזג למטה","cellMergeRight":"מזג ימינה","cellSplitHorizontal":"פיצול תא אופקית","cellSplitVertical":"פיצול תא אנכית","column":"עמודה","columnDelete":"מחיקת עמודות","columnInsertAfter":"הוספת עמודה אחרי","columnInsertBefore":"הוספת עמודה לפני","deleteTable":"מחק טבלה","headers":"כותרות","headersBoth":"שניהם","headersColumn":"עמודה ראשונה","headersNone":"אין","headersRow":"שורה ראשונה","row":"שורה","rowDelete":"מחיקת שורות","rowInsertAfter":"הוספת שורה אחרי","rowInsertBefore":"הוספת שורה לפני","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/hi.js b/src/lang/hi.js index c70dadeb0e..bb0b816044 100644 --- a/src/lang/hi.js +++ b/src/lang/hi.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"बीच में","alignJustify":"ब्लॉक जस्टीफ़ाई","alignLeft":"दायें","alignRight":"दायें","bold":"बोल्ड","bulletedlist":"बुलॅट सूची","cancel":"रद्द करें","horizontalrule":"हॉरिज़ॉन्टल रेखा इन्सर्ट करें","italic":"इटैलिक","numberedlist":"अंकीय सूची","quote":"ब्लॉक-कोट","removeformat":"फ़ॉर्मैट हटायें","strike":"स्ट्राइक थ्रू","subscript":"अधोलेख","superscript":"अभिलेख","underline":"रेखांकण","formatted":"फ़ॉर्मैटॅड","h1":"शीर्षक 1","h2":"शीर्षक 2","normal":"साधारण","indent":"इन्डॅन्ट बढ़ायें","outdent":"इन्डॅन्ट कम करें","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"स्टाइल","cell":"खाना","cellDelete":"सैल डिलीट करें","cellInsertAfter":"बाद में सैल डालें","cellInsertBefore":"पहले सैल डालें","cellMerge":"सैल मिलायें","cellMergeDown":"नीचे विलय करें","cellMergeRight":"बाँया विलय","cellSplitHorizontal":"सैल को क्षैतिज स्थिति में विभाजित करें","cellSplitVertical":"सैल को लम्बाकार में विभाजित करें","column":"कालम","columnDelete":"कालम डिलीट करें","columnInsertAfter":"बाद में कालम डालें","columnInsertBefore":"पहले कालम डालें","deleteTable":"टेबल डिलीट करें","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"पंक्ति","rowDelete":"पंक्तियाँ डिलीट करें","rowInsertAfter":"बाद में पंक्ति डालें","rowInsertBefore":"पहले पंक्ति डालें","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"बीच में","alignJustify":"ब्लॉक जस्टीफ़ाई","alignLeft":"दायें","alignRight":"दायें","bold":"बोल्ड","bulletedlist":"बुलॅट सूची","cancel":"रद्द करें","horizontalrule":"हॉरिज़ॉन्टल रेखा इन्सर्ट करें","italic":"इटैलिक","numberedlist":"अंकीय सूची","quote":"ब्लॉक-कोट","removeformat":"फ़ॉर्मैट हटायें","strike":"स्ट्राइक थ्रू","subscript":"अधोलेख","superscript":"अभिलेख","underline":"रेखांकण","formatted":"फ़ॉर्मैटॅड","h1":"शीर्षक 1","h2":"शीर्षक 2","normal":"Normal","indent":"इन्डॅन्ट बढ़ायें","outdent":"इन्डॅन्ट कम करें","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"स्टाइल","cell":"खाना","cellDelete":"सैल डिलीट करें","cellInsertAfter":"बाद में सैल डालें","cellInsertBefore":"पहले सैल डालें","cellMerge":"सैल मिलायें","cellMergeDown":"नीचे विलय करें","cellMergeRight":"बाँया विलय","cellSplitHorizontal":"सैल को क्षैतिज स्थिति में विभाजित करें","cellSplitVertical":"सैल को लम्बाकार में विभाजित करें","column":"कालम","columnDelete":"कालम डिलीट करें","columnInsertAfter":"बाद में कालम डालें","columnInsertBefore":"पहले कालम डालें","deleteTable":"टेबल डिलीट करें","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"पंक्ति","rowDelete":"पंक्तियाँ डिलीट करें","rowInsertAfter":"बाद में पंक्ति डालें","rowInsertBefore":"पहले पंक्ति डालें","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/hr.js b/src/lang/hr.js index 51631ab051..e17998b4cc 100644 --- a/src/lang/hr.js +++ b/src/lang/hr.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Središnje","alignJustify":"Blok poravnanje","alignLeft":"Lijevo","alignRight":"Desno","bold":"Podebljaj","bulletedlist":"Obična lista","cancel":"Poništi","horizontalrule":"Ubaci vodoravnu liniju","italic":"Ukosi","numberedlist":"Brojčana lista","quote":"Blockquote","removeformat":"Ukloni formatiranje","strike":"Precrtano","subscript":"Subscript","superscript":"Superscript","underline":"Potcrtano","formatted":"Formatirano","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Pomakni udesno","outdent":"Pomakni ulijevo","blockStyles":"Block stilovi","inlineStyles":"Inline stilovi","objectStyles":"Object stilovi","styles":"Stil","cell":"Ćelija","cellDelete":"Izbriši ćelije","cellInsertAfter":"Ubaci ćeliju poslije","cellInsertBefore":"Ubaci ćeliju prije","cellMerge":"Spoji ćelije","cellMergeDown":"Spoji dolje","cellMergeRight":"Spoji desno","cellSplitHorizontal":"Podijeli ćeliju vodoravno","cellSplitVertical":"Podijeli ćeliju okomito","column":"Kolona","columnDelete":"Izbriši kolone","columnInsertAfter":"Ubaci kolonu poslije","columnInsertBefore":"Ubaci kolonu prije","deleteTable":"Izbriši tablicu","headers":"Zaglavlje","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"Ništa","headersRow":"Prvi red","row":"Red","rowDelete":"Izbriši redove","rowInsertAfter":"Ubaci red poslije","rowInsertBefore":"Ubaci red prije","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Središnje","alignJustify":"Blok poravnanje","alignLeft":"Lijevo","alignRight":"Desno","bold":"Podebljaj","bulletedlist":"Obična lista","cancel":"Poništi","horizontalrule":"Ubaci vodoravnu liniju","italic":"Ukosi","numberedlist":"Brojčana lista","quote":"Blockquote","removeformat":"Ukloni formatiranje","strike":"Precrtano","subscript":"Subscript","superscript":"Superscript","underline":"Potcrtano","formatted":"Formatirano","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Pomakni udesno","outdent":"Pomakni ulijevo","blockStyles":"Block stilovi","inlineStyles":"Inline stilovi","objectStyles":"Object stilovi","styles":"Stil","cell":"Ćelija","cellDelete":"Izbriši ćelije","cellInsertAfter":"Ubaci ćeliju poslije","cellInsertBefore":"Ubaci ćeliju prije","cellMerge":"Spoji ćelije","cellMergeDown":"Spoji dolje","cellMergeRight":"Spoji desno","cellSplitHorizontal":"Podijeli ćeliju vodoravno","cellSplitVertical":"Podijeli ćeliju okomito","column":"Kolona","columnDelete":"Izbriši kolone","columnInsertAfter":"Ubaci kolonu poslije","columnInsertBefore":"Ubaci kolonu prije","deleteTable":"Izbriši tablicu","headers":"Zaglavlje","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"Ništa","headersRow":"Prvi red","row":"Red","rowDelete":"Izbriši redove","rowInsertAfter":"Ubaci red poslije","rowInsertBefore":"Ubaci red prije","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/hu.js b/src/lang/hu.js index 84d01c668f..21de5d533b 100644 --- a/src/lang/hu.js +++ b/src/lang/hu.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Középre","alignJustify":"Sorkizárt","alignLeft":"Bal","alignRight":"Jobbra","bold":"Félkövér","bulletedlist":"Felsorolás","cancel":"Mégsem","horizontalrule":"Elválasztóvonal beillesztése","italic":"Dőlt","numberedlist":"Számozás","quote":"Idézet blokk","removeformat":"Formázás eltávolítása","strike":"Áthúzott","subscript":"Alsó index","superscript":"Felső index","underline":"Aláhúzott","formatted":"Formázott","h1":"Fejléc 1","h2":"Fejléc 2","normal":"Normál","indent":"Behúzás növelése","outdent":"Behúzás csökkentése","blockStyles":"Blokk stílusok","inlineStyles":"Inline stílusok","objectStyles":"Objektum stílusok","styles":"Stílus","cell":"Cella","cellDelete":"Cellák törlése","cellInsertAfter":"Beszúrás jobbra","cellInsertBefore":"Beszúrás balra","cellMerge":"Cellák egyesítése","cellMergeDown":"Cellák egyesítése lefelé","cellMergeRight":"Cellák egyesítése jobbra","cellSplitHorizontal":"Cellák szétválasztása vízszintesen","cellSplitVertical":"Cellák szétválasztása függőlegesen","column":"Oszlop","columnDelete":"Oszlopok törlése","columnInsertAfter":"Beszúrás jobbra","columnInsertBefore":"Beszúrás balra","deleteTable":"Táblázat törlése","headers":"Fejlécek","headersBoth":"Mindkettő","headersColumn":"Első oszlop","headersNone":"Nincsenek","headersRow":"Első sor","row":"Sor","rowDelete":"Sorok törlése","rowInsertAfter":"Beszúrás alá","rowInsertBefore":"Beszúrás fölé","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Középre","alignJustify":"Sorkizárt","alignLeft":"Bal","alignRight":"Jobbra","bold":"Félkövér","bulletedlist":"Felsorolás","cancel":"Mégsem","horizontalrule":"Elválasztóvonal beillesztése","italic":"Dőlt","numberedlist":"Számozás","quote":"Idézet blokk","removeformat":"Formázás eltávolítása","strike":"Áthúzott","subscript":"Alsó index","superscript":"Felső index","underline":"Aláhúzott","formatted":"Formázott","h1":"Fejléc 1","h2":"Fejléc 2","normal":"Normal","indent":"Behúzás növelése","outdent":"Behúzás csökkentése","blockStyles":"Blokk stílusok","inlineStyles":"Inline stílusok","objectStyles":"Objektum stílusok","styles":"Stílus","cell":"Cella","cellDelete":"Cellák törlése","cellInsertAfter":"Beszúrás jobbra","cellInsertBefore":"Beszúrás balra","cellMerge":"Cellák egyesítése","cellMergeDown":"Cellák egyesítése lefelé","cellMergeRight":"Cellák egyesítése jobbra","cellSplitHorizontal":"Cellák szétválasztása vízszintesen","cellSplitVertical":"Cellák szétválasztása függőlegesen","column":"Oszlop","columnDelete":"Oszlopok törlése","columnInsertAfter":"Beszúrás jobbra","columnInsertBefore":"Beszúrás balra","deleteTable":"Táblázat törlése","headers":"Fejlécek","headersBoth":"Mindkettő","headersColumn":"Első oszlop","headersNone":"Nincsenek","headersRow":"Első sor","row":"Sor","rowDelete":"Sorok törlése","rowInsertAfter":"Beszúrás alá","rowInsertBefore":"Beszúrás fölé","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/id.js b/src/lang/id.js index f9ffdb9a93..1d4ea14383 100644 --- a/src/lang/id.js +++ b/src/lang/id.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Tengah","alignJustify":"Rata kiri-kanan","alignLeft":"Kiri","alignRight":"Kanan","bold":"Huruf Tebal","bulletedlist":"Sisip/Hapus Daftar Bullet","cancel":"Batal","horizontalrule":"Sisip Garis Horisontal","italic":"Huruf Miring","numberedlist":"Sisip/Hapus Daftar Bernomor","quote":"Kutipan Blok","removeformat":"Hapus Format","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Garis Bawah","formatted":"Membentuk","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Tingkatkan Lekuk","outdent":"Kurangi Lekuk","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Gaya","cell":"Sel","cellDelete":"Hapus Sel","cellInsertAfter":"Sisip Sel Setelah","cellInsertBefore":"Sisip Sel Sebelum","cellMerge":"Gabungkan Sel","cellMergeDown":"Gabungkan ke Bawah","cellMergeRight":"Gabungkan ke Kanan","cellSplitHorizontal":"Pisahkan Sel Secara Horisontal","cellSplitVertical":"Pisahkan Sel Secara Vertikal","column":"Kolom","columnDelete":"Hapus Kolom","columnInsertAfter":"Sisip Kolom Sesudah","columnInsertBefore":"Sisip Kolom Sebelum","deleteTable":"Hapus Tabel","headers":"Headers","headersBoth":"Keduanya","headersColumn":"Kolom pertama","headersNone":"Tidak ada","headersRow":"Baris Pertama","row":"Baris","rowDelete":"Hapus Baris","rowInsertAfter":"Sisip Baris Sesudah","rowInsertBefore":"Sisip Baris Sebelum","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Tengah","alignJustify":"Rata kiri-kanan","alignLeft":"Kiri","alignRight":"Kanan","bold":"Huruf Tebal","bulletedlist":"Sisip/Hapus Daftar Bullet","cancel":"Batal","horizontalrule":"Sisip Garis Horisontal","italic":"Huruf Miring","numberedlist":"Sisip/Hapus Daftar Bernomor","quote":"Kutipan Blok","removeformat":"Hapus Format","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Garis Bawah","formatted":"Membentuk","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Tingkatkan Lekuk","outdent":"Kurangi Lekuk","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Gaya","cell":"Sel","cellDelete":"Hapus Sel","cellInsertAfter":"Sisip Sel Setelah","cellInsertBefore":"Sisip Sel Sebelum","cellMerge":"Gabungkan Sel","cellMergeDown":"Gabungkan ke Bawah","cellMergeRight":"Gabungkan ke Kanan","cellSplitHorizontal":"Pisahkan Sel Secara Horisontal","cellSplitVertical":"Pisahkan Sel Secara Vertikal","column":"Kolom","columnDelete":"Hapus Kolom","columnInsertAfter":"Sisip Kolom Sesudah","columnInsertBefore":"Sisip Kolom Sebelum","deleteTable":"Hapus Tabel","headers":"Headers","headersBoth":"Keduanya","headersColumn":"Kolom pertama","headersNone":"Tidak ada","headersRow":"Baris Pertama","row":"Baris","rowDelete":"Hapus Baris","rowInsertAfter":"Sisip Baris Sesudah","rowInsertBefore":"Sisip Baris Sebelum","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/is.js b/src/lang/is.js index f98cd67629..b59b4281ea 100644 --- a/src/lang/is.js +++ b/src/lang/is.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Miðjað","alignJustify":"Jafna báðum megin","alignLeft":"Vinstri","alignRight":"Hægri","bold":"Feitletrað","bulletedlist":"Punktalisti","cancel":"Hætta við","horizontalrule":"Lóðrétt lína","italic":"Skáletrað","numberedlist":"Númeraður listi","quote":"Inndráttur","removeformat":"Fjarlægja snið","strike":"Yfirstrikað","subscript":"Niðurskrifað","superscript":"Uppskrifað","underline":"Undirstrikað","formatted":"Forsniðið","h1":"Fyrirsögn 1","h2":"Fyrirsögn 2","normal":"Venjulegt letur","indent":"Minnka inndrátt","outdent":"Auka inndrátt","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stílflokkur","cell":"Reitur","cellDelete":"Fella reit","cellInsertAfter":"Skjóta inn reiti fyrir framan","cellInsertBefore":"Skjóta inn reiti fyrir aftan","cellMerge":"Sameina reiti","cellMergeDown":"Sameina niður á við","cellMergeRight":"Sameina til hægri","cellSplitHorizontal":"Kljúfa reit lárétt","cellSplitVertical":"Kljúfa reit lóðrétt","column":"Dálkur","columnDelete":"Fella dálk","columnInsertAfter":"Skjóta inn dálki hægra megin","columnInsertBefore":"Skjóta inn dálki vinstra megin","deleteTable":"Fella töflu","headers":"Fyrirsagnir","headersBoth":"Hvort tveggja","headersColumn":"Fyrsti dálkur","headersNone":"Engar","headersRow":"Fyrsta röð","row":"Röð","rowDelete":"Eyða röð","rowInsertAfter":"Skjóta inn röð fyrir neðan","rowInsertBefore":"Skjóta inn röð fyrir ofan","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Miðjað","alignJustify":"Jafna báðum megin","alignLeft":"Vinstri","alignRight":"Hægri","bold":"Feitletrað","bulletedlist":"Punktalisti","cancel":"Hætta við","horizontalrule":"Lóðrétt lína","italic":"Skáletrað","numberedlist":"Númeraður listi","quote":"Inndráttur","removeformat":"Fjarlægja snið","strike":"Yfirstrikað","subscript":"Niðurskrifað","superscript":"Uppskrifað","underline":"Undirstrikað","formatted":"Forsniðið","h1":"Fyrirsögn 1","h2":"Fyrirsögn 2","normal":"Normal","indent":"Minnka inndrátt","outdent":"Auka inndrátt","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stílflokkur","cell":"Reitur","cellDelete":"Fella reit","cellInsertAfter":"Skjóta inn reiti fyrir framan","cellInsertBefore":"Skjóta inn reiti fyrir aftan","cellMerge":"Sameina reiti","cellMergeDown":"Sameina niður á við","cellMergeRight":"Sameina til hægri","cellSplitHorizontal":"Kljúfa reit lárétt","cellSplitVertical":"Kljúfa reit lóðrétt","column":"Dálkur","columnDelete":"Fella dálk","columnInsertAfter":"Skjóta inn dálki hægra megin","columnInsertBefore":"Skjóta inn dálki vinstra megin","deleteTable":"Fella töflu","headers":"Fyrirsagnir","headersBoth":"Hvort tveggja","headersColumn":"Fyrsti dálkur","headersNone":"Engar","headersRow":"Fyrsta röð","row":"Röð","rowDelete":"Eyða röð","rowInsertAfter":"Skjóta inn röð fyrir neðan","rowInsertBefore":"Skjóta inn röð fyrir ofan","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/it.js b/src/lang/it.js index d0767e3a37..6c3d2d27ac 100644 --- a/src/lang/it.js +++ b/src/lang/it.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrato","alignJustify":"Giustifica","alignLeft":"Sinistra","alignRight":"Destra","bold":"Grassetto","bulletedlist":"Inserisci/Rimuovi Elenco Puntato","cancel":"Annulla","horizontalrule":"Inserisci riga orizzontale","italic":"Corsivo","numberedlist":"Inserisci/Rimuovi Elenco Numerato","quote":"Citazione","removeformat":"Elimina formattazione","strike":"Barrato","subscript":"Pedice","superscript":"Apice","underline":"Sottolineato","formatted":"Formattato","h1":"Titolo 1","h2":"Titolo 2","normal":"Normale","indent":"Aumenta rientro","outdent":"Riduci rientro","blockStyles":"Stili per blocchi","inlineStyles":"Stili in linea","objectStyles":"Stili per oggetti","styles":"Stili","cell":"Cella","cellDelete":"Elimina celle","cellInsertAfter":"Inserisci Cella Dopo","cellInsertBefore":"Inserisci Cella Prima","cellMerge":"Unisce celle","cellMergeDown":"Unisci in Basso","cellMergeRight":"Unisci a Destra","cellSplitHorizontal":"Dividi Cella Orizzontalmente","cellSplitVertical":"Dividi Cella Verticalmente","column":"Colonna","columnDelete":"Elimina colonne","columnInsertAfter":"Inserisci Colonna Dopo","columnInsertBefore":"Inserisci Colonna Prima","deleteTable":"Cancella Tabella","headers":"Intestazione","headersBoth":"Entrambe","headersColumn":"Prima Colonna","headersNone":"Nessuna","headersRow":"Prima Riga","row":"Riga","rowDelete":"Elimina righe","rowInsertAfter":"Inserisci Riga Dopo","rowInsertBefore":"Inserisci Riga Prima","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrato","alignJustify":"Giustifica","alignLeft":"Sinistra","alignRight":"Destra","bold":"Grassetto","bulletedlist":"Inserisci/Rimuovi Elenco Puntato","cancel":"Annulla","horizontalrule":"Inserisci riga orizzontale","italic":"Corsivo","numberedlist":"Inserisci/Rimuovi Elenco Numerato","quote":"Citazione","removeformat":"Elimina formattazione","strike":"Barrato","subscript":"Pedice","superscript":"Apice","underline":"Sottolineato","formatted":"Formattato","h1":"Titolo 1","h2":"Titolo 2","normal":"Normal","indent":"Aumenta rientro","outdent":"Riduci rientro","blockStyles":"Stili per blocchi","inlineStyles":"Stili in linea","objectStyles":"Stili per oggetti","styles":"Stili","cell":"Cella","cellDelete":"Elimina celle","cellInsertAfter":"Inserisci Cella Dopo","cellInsertBefore":"Inserisci Cella Prima","cellMerge":"Unisce celle","cellMergeDown":"Unisci in Basso","cellMergeRight":"Unisci a Destra","cellSplitHorizontal":"Dividi Cella Orizzontalmente","cellSplitVertical":"Dividi Cella Verticalmente","column":"Colonna","columnDelete":"Elimina colonne","columnInsertAfter":"Inserisci Colonna Dopo","columnInsertBefore":"Inserisci Colonna Prima","deleteTable":"Cancella Tabella","headers":"Intestazione","headersBoth":"Entrambe","headersColumn":"Prima Colonna","headersNone":"Nessuna","headersRow":"Prima Riga","row":"Riga","rowDelete":"Elimina righe","rowInsertAfter":"Inserisci Riga Dopo","rowInsertBefore":"Inserisci Riga Prima","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ja.js b/src/lang/ja.js index 5489b2ba1f..367dac53a7 100644 --- a/src/lang/ja.js +++ b/src/lang/ja.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"中央","alignJustify":"両端揃え","alignLeft":"左","alignRight":"右","bold":"太字","bulletedlist":"番号無しリスト","cancel":"キャンセル","horizontalrule":"水平線","italic":"斜体","numberedlist":"番号付きリスト","quote":"ブロック引用文","removeformat":"書式を解除","strike":"打ち消し線","subscript":"下付き","superscript":"上付き","underline":"下線","formatted":"書式付き","h1":"見出し 1","h2":"見出し 2","normal":"標準","indent":"インデント","outdent":"インデント解除","blockStyles":"ブロックスタイル","inlineStyles":"インラインスタイル","objectStyles":"オブジェクトスタイル","styles":"スタイル","cell":"セル","cellDelete":"セルを削除","cellInsertAfter":"セルを後に挿入","cellInsertBefore":"セルを前に挿入","cellMerge":"セルを結合","cellMergeDown":"下に結合","cellMergeRight":"右に結合","cellSplitHorizontal":"セルを水平方向に分割","cellSplitVertical":"セルを垂直方向に分割","column":"列","columnDelete":"列を削除","columnInsertAfter":"列を右に挿入","columnInsertBefore":"列を左に挿入","deleteTable":"表を削除","headers":"ヘッダ (th)","headersBoth":"両方","headersColumn":"最初の列のみ","headersNone":"なし","headersRow":"最初の行のみ","row":"行","rowDelete":"行を削除","rowInsertAfter":"行を下に挿入","rowInsertBefore":"行を上に挿入","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"中央","alignJustify":"両端揃え","alignLeft":"左","alignRight":"右","bold":"太字","bulletedlist":"番号無しリスト","cancel":"キャンセル","horizontalrule":"水平線","italic":"斜体","numberedlist":"番号付きリスト","quote":"ブロック引用文","removeformat":"書式を解除","strike":"打ち消し線","subscript":"下付き","superscript":"上付き","underline":"下線","formatted":"書式付き","h1":"見出し 1","h2":"見出し 2","normal":"Normal","indent":"インデント","outdent":"インデント解除","blockStyles":"ブロックスタイル","inlineStyles":"インラインスタイル","objectStyles":"オブジェクトスタイル","styles":"スタイル","cell":"セル","cellDelete":"セルを削除","cellInsertAfter":"セルを後に挿入","cellInsertBefore":"セルを前に挿入","cellMerge":"セルを結合","cellMergeDown":"下に結合","cellMergeRight":"右に結合","cellSplitHorizontal":"セルを水平方向に分割","cellSplitVertical":"セルを垂直方向に分割","column":"列","columnDelete":"列を削除","columnInsertAfter":"列を右に挿入","columnInsertBefore":"列を左に挿入","deleteTable":"表を削除","headers":"ヘッダ (th)","headersBoth":"両方","headersColumn":"最初の列のみ","headersNone":"なし","headersRow":"最初の行のみ","row":"行","rowDelete":"行を削除","rowInsertAfter":"行を下に挿入","rowInsertBefore":"行を上に挿入","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ka.js b/src/lang/ka.js index 03f6be4ffa..f3eb6280a6 100644 --- a/src/lang/ka.js +++ b/src/lang/ka.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"შუა","alignJustify":"両端揃え","alignLeft":"მარცხენა","alignRight":"მარჯვენა","bold":"მსხვილი","bulletedlist":"ღილიანი სია","cancel":"გაუქმება","horizontalrule":"ჰორიზონტალური ხაზის ჩასმა","italic":"დახრილი","numberedlist":"გადანომრილი სია","quote":"ციტატა","removeformat":"ფორმატირების მოხსნა","strike":"გადახაზული","subscript":"ინდექსი","superscript":"ხარისხი","underline":"გახაზული","formatted":"ფორმატირებული","h1":"სათაური 1","h2":"სათაური 2","normal":"ჩვეულებრივი","indent":"მეტად შეწევა","outdent":"ნაკლებად შეწევა","blockStyles":"არის სტილები","inlineStyles":"თანდართული სტილები","objectStyles":"ობიექტის სტილები","styles":"სტილები","cell":"უჯრა","cellDelete":"უჯრების წაშლა","cellInsertAfter":"უჯრის ჩასმა მერე","cellInsertBefore":"უჯრის ჩასმა მანამდე","cellMerge":"უჯრების შეერთება","cellMergeDown":"შეერთება ქვემოთასთან","cellMergeRight":"შეერთება მარჯვენასთან","cellSplitHorizontal":"გაყოფა ჰორიზონტალურად","cellSplitVertical":"გაყოფა ვერტიკალურად","column":"სვეტი","columnDelete":"სვეტების წაშლა","columnInsertAfter":"სვეტის ჩამატება მერე","columnInsertBefore":"სვეტის ჩამატება წინ","deleteTable":"ცხრილის წაშლა","headers":"სათაურები","headersBoth":"ორივე","headersColumn":"პირველი სვეტი","headersNone":"არაფერი","headersRow":"პირველი სტრიქონი","row":"სტრიქონი","rowDelete":"სტრიქონების წაშლა","rowInsertAfter":"სტრიქონის ჩამატება მერე","rowInsertBefore":"სტრიქონის ჩამატება წინ","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"შუა","alignJustify":"両端揃え","alignLeft":"მარცხენა","alignRight":"მარჯვენა","bold":"მსხვილი","bulletedlist":"ღილიანი სია","cancel":"გაუქმება","horizontalrule":"ჰორიზონტალური ხაზის ჩასმა","italic":"დახრილი","numberedlist":"გადანომრილი სია","quote":"ციტატა","removeformat":"ფორმატირების მოხსნა","strike":"გადახაზული","subscript":"ინდექსი","superscript":"ხარისხი","underline":"გახაზული","formatted":"ფორმატირებული","h1":"სათაური 1","h2":"სათაური 2","normal":"Normal","indent":"მეტად შეწევა","outdent":"ნაკლებად შეწევა","blockStyles":"არის სტილები","inlineStyles":"თანდართული სტილები","objectStyles":"ობიექტის სტილები","styles":"სტილები","cell":"უჯრა","cellDelete":"უჯრების წაშლა","cellInsertAfter":"უჯრის ჩასმა მერე","cellInsertBefore":"უჯრის ჩასმა მანამდე","cellMerge":"უჯრების შეერთება","cellMergeDown":"შეერთება ქვემოთასთან","cellMergeRight":"შეერთება მარჯვენასთან","cellSplitHorizontal":"გაყოფა ჰორიზონტალურად","cellSplitVertical":"გაყოფა ვერტიკალურად","column":"სვეტი","columnDelete":"სვეტების წაშლა","columnInsertAfter":"სვეტის ჩამატება მერე","columnInsertBefore":"სვეტის ჩამატება წინ","deleteTable":"ცხრილის წაშლა","headers":"სათაურები","headersBoth":"ორივე","headersColumn":"პირველი სვეტი","headersNone":"არაფერი","headersRow":"პირველი სტრიქონი","row":"სტრიქონი","rowDelete":"სტრიქონების წაშლა","rowInsertAfter":"სტრიქონის ჩამატება მერე","rowInsertBefore":"სტრიქონის ჩამატება წინ","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/km.js b/src/lang/km.js index 9681b1fc35..88d4be9394 100644 --- a/src/lang/km.js +++ b/src/lang/km.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"កណ្តាល","alignJustify":"តំរឹមសងខាង","alignLeft":"ខាងឆ្វង","alignRight":"ខាងស្តាំ","bold":"ដិត","bulletedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​ចំណុច​មូល","cancel":"បោះបង់","horizontalrule":"បន្ថែមបន្ទាត់ផ្តេក","italic":"ទ្រេត","numberedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​លេខ","quote":"ប្លក់​ពាក្យ​សម្រង់","removeformat":"ជម្រះ​ទ្រង់​ទ្រាយ","strike":"គូស​បន្ទាត់​ចំ​កណ្ដាល","subscript":"អក្សរតូចក្រោម","superscript":"អក្សរតូចលើ","underline":"គូស​បន្ទាត់​ក្រោម","formatted":"Formatted","h1":"ចំណង​ជើង 1","h2":"ចំណង​ជើង 2","normal":"ធម្មតា","indent":"បន្ថែមការចូលបន្ទាត់","outdent":"បន្ថយការចូលបន្ទាត់","blockStyles":"រចនាបថ​ប្លក់","inlineStyles":"រចនាបថ​ក្នុង​ជួរ","objectStyles":"រចនាបថ​វត្ថុ","styles":"រចនាបថ","cell":"ក្រឡា","cellDelete":"លុប​ក្រឡា","cellInsertAfter":"បញ្ចូល​ក្រឡា​ពី​ក្រោយ","cellInsertBefore":"បញ្ចូល​ក្រឡា​ពីមុខ","cellMerge":"បញ្ចូល​ក្រឡា​ចូល​គ្នា","cellMergeDown":"បញ្ចូល​គ្នា​ចុះ​ក្រោម","cellMergeRight":"បញ្ចូល​គ្នា​ខាង​ស្ដាំ","cellSplitHorizontal":"ពុះ​ក្រឡា​ផ្ដេក","cellSplitVertical":"ពុះ​ក្រឡា​បញ្ឈរ","column":"ជួរ​ឈរ","columnDelete":"លុប​ជួរ​ឈរ","columnInsertAfter":"បញ្ចូល​ជួរ​ឈរ​ពី​ក្រោយ","columnInsertBefore":"បញ្ចូល​ជួរ​ឈរ​ពីមុខ","deleteTable":"លុប​តារាង","headers":"ក្បាល","headersBoth":"ទាំង​ពីរ","headersColumn":"ជួរ​ឈរ​ដំបូង","headersNone":"មិន​មាន","headersRow":"ជួរ​ដេក​ដំបូង","row":"ជួរ​ដេក","rowDelete":"លុប​ជួរ​ដេក","rowInsertAfter":"បញ្ចូល​ជួរ​ដេក​ពី​ក្រោយ","rowInsertBefore":"បញ្ចូល​ជួរ​ដេក​ពីមុខ","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"កណ្តាល","alignJustify":"តំរឹមសងខាង","alignLeft":"ខាងឆ្វង","alignRight":"ខាងស្តាំ","bold":"ដិត","bulletedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​ចំណុច​មូល","cancel":"បោះបង់","horizontalrule":"បន្ថែមបន្ទាត់ផ្តេក","italic":"ទ្រេត","numberedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​លេខ","quote":"ប្លក់​ពាក្យ​សម្រង់","removeformat":"ជម្រះ​ទ្រង់​ទ្រាយ","strike":"គូស​បន្ទាត់​ចំ​កណ្ដាល","subscript":"អក្សរតូចក្រោម","superscript":"អក្សរតូចលើ","underline":"គូស​បន្ទាត់​ក្រោម","formatted":"Formatted","h1":"ចំណង​ជើង 1","h2":"ចំណង​ជើង 2","normal":"Normal","indent":"បន្ថែមការចូលបន្ទាត់","outdent":"បន្ថយការចូលបន្ទាត់","blockStyles":"រចនាបថ​ប្លក់","inlineStyles":"រចនាបថ​ក្នុង​ជួរ","objectStyles":"រចនាបថ​វត្ថុ","styles":"រចនាបថ","cell":"ក្រឡា","cellDelete":"លុប​ក្រឡា","cellInsertAfter":"បញ្ចូល​ក្រឡា​ពី​ក្រោយ","cellInsertBefore":"បញ្ចូល​ក្រឡា​ពីមុខ","cellMerge":"បញ្ចូល​ក្រឡា​ចូល​គ្នា","cellMergeDown":"បញ្ចូល​គ្នា​ចុះ​ក្រោម","cellMergeRight":"បញ្ចូល​គ្នា​ខាង​ស្ដាំ","cellSplitHorizontal":"ពុះ​ក្រឡា​ផ្ដេក","cellSplitVertical":"ពុះ​ក្រឡា​បញ្ឈរ","column":"ជួរ​ឈរ","columnDelete":"លុប​ជួរ​ឈរ","columnInsertAfter":"បញ្ចូល​ជួរ​ឈរ​ពី​ក្រោយ","columnInsertBefore":"បញ្ចូល​ជួរ​ឈរ​ពីមុខ","deleteTable":"លុប​តារាង","headers":"ក្បាល","headersBoth":"ទាំង​ពីរ","headersColumn":"ជួរ​ឈរ​ដំបូង","headersNone":"មិន​មាន","headersRow":"ជួរ​ដេក​ដំបូង","row":"ជួរ​ដេក","rowDelete":"លុប​ជួរ​ដេក","rowInsertAfter":"បញ្ចូល​ជួរ​ដេក​ពី​ក្រោយ","rowInsertBefore":"បញ្ចូល​ជួរ​ដេក​ពីមុខ","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ko.js b/src/lang/ko.js index cb03086e1a..06c8e30289 100644 --- a/src/lang/ko.js +++ b/src/lang/ko.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"가운데","alignJustify":"양쪽 맞춤","alignLeft":"왼쪽","alignRight":"오른쪽","bold":"굵게","bulletedlist":"순서 없는 목록","cancel":"취소","horizontalrule":"가로 줄 삽입","italic":"기울임꼴","numberedlist":"순서 있는 목록","quote":"인용 단락","removeformat":"형식 지우기","strike":"취소선","subscript":"아래 첨자","superscript":"위 첨자","underline":"밑줄","formatted":"정형 문단","h1":"제목 1","h2":"제목 2","normal":"본문","indent":"들여쓰기","outdent":"내어쓰기","blockStyles":"블록 스타일","inlineStyles":"인라인 스타일","objectStyles":"객체 스타일","styles":"스타일","cell":"셀","cellDelete":"셀 삭제","cellInsertAfter":"뒤에 셀 삽입","cellInsertBefore":"앞에 셀 삽입","cellMerge":"셀 합치기","cellMergeDown":"왼쪽 합치기","cellMergeRight":"오른쪽 합치기","cellSplitHorizontal":"수평 나누기","cellSplitVertical":"수직 나누기","column":"열","columnDelete":"열 삭제","columnInsertAfter":"오른쪽에 열 삽입","columnInsertBefore":"왼쪽에 열 삽입","deleteTable":"표 삭제","headers":"머릿칸","headersBoth":"모두","headersColumn":"첫 열","headersNone":"없음","headersRow":"첫 행","row":"행","rowDelete":"행 삭제","rowInsertAfter":"아래에 행 삽입","rowInsertBefore":"위에 행 삽입","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"가운데","alignJustify":"양쪽 맞춤","alignLeft":"왼쪽","alignRight":"오른쪽","bold":"굵게","bulletedlist":"순서 없는 목록","cancel":"취소","horizontalrule":"가로 줄 삽입","italic":"기울임꼴","numberedlist":"순서 있는 목록","quote":"인용 단락","removeformat":"형식 지우기","strike":"취소선","subscript":"아래 첨자","superscript":"위 첨자","underline":"밑줄","formatted":"정형 문단","h1":"제목 1","h2":"제목 2","normal":"Normal","indent":"들여쓰기","outdent":"내어쓰기","blockStyles":"블록 스타일","inlineStyles":"인라인 스타일","objectStyles":"객체 스타일","styles":"스타일","cell":"셀","cellDelete":"셀 삭제","cellInsertAfter":"뒤에 셀 삽입","cellInsertBefore":"앞에 셀 삽입","cellMerge":"셀 합치기","cellMergeDown":"왼쪽 합치기","cellMergeRight":"오른쪽 합치기","cellSplitHorizontal":"수평 나누기","cellSplitVertical":"수직 나누기","column":"열","columnDelete":"열 삭제","columnInsertAfter":"오른쪽에 열 삽입","columnInsertBefore":"왼쪽에 열 삽입","deleteTable":"표 삭제","headers":"머릿칸","headersBoth":"모두","headersColumn":"첫 열","headersNone":"없음","headersRow":"첫 행","row":"행","rowDelete":"행 삭제","rowInsertAfter":"아래에 행 삽입","rowInsertBefore":"위에 행 삽입","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ku.js b/src/lang/ku.js index 622db0020f..98be65131e 100644 --- a/src/lang/ku.js +++ b/src/lang/ku.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"ناوەڕاست","alignJustify":"هاوستوونی","alignLeft":"چەپ","alignRight":"ڕاست","bold":"قەڵەو","bulletedlist":"دانان/لابردنی خاڵی لیست","cancel":"پاشگەزبوونەوە","horizontalrule":"دانانی هێلی ئاسۆیی","italic":"لار","numberedlist":"دانان/لابردنی ژمارەی لیست","quote":"بەربەستکردنی ووتەی وەرگیراو","removeformat":"لابردنی داڕشتەکە","strike":"لێدان","subscript":"ژێرنووس","superscript":"سەرنووس","underline":"ژێرهێڵ","formatted":"شێوازکراو","h1":"سەرنووسەی ١","h2":"سەرنووسەی ٢","normal":"ئاسایی","indent":"زیادکردنی بۆشایی","outdent":"کەمکردنەوەی بۆشایی","blockStyles":"شێوازی خشت","inlineStyles":"شێوازی ناوهێڵ","objectStyles":"شێوازی بەرکار","styles":"شێواز","cell":"خانه","cellDelete":"سڕینەوەی خانه","cellInsertAfter":"دانانی خانه لەپاش","cellInsertBefore":"دانانی خانه لەپێش","cellMerge":"تێکەڵکردنی خانە","cellMergeDown":"تێکەڵکردنی لەگەڵ خوارەوە","cellMergeRight":"تێکەڵکردنی لەگەڵ ڕاست","cellSplitHorizontal":"دابەشکردنی خانەی ئاسۆیی","cellSplitVertical":"دابەشکردنی خانەی ئەستونی","column":"ئەستون","columnDelete":"سڕینەوەی ئەستوون","columnInsertAfter":"دانانی ئەستوون لەپاش","columnInsertBefore":"دانانی ئەستون لەپێش","deleteTable":"سڕینەوەی خشتە","headers":"سەرپەڕه","headersBoth":"هەردووك","headersColumn":"یەکەم ئەستوون","headersNone":"هیچ","headersRow":"یەکەم ڕیز","row":"ڕیز","rowDelete":"سڕینەوەی ڕیز","rowInsertAfter":"دانانی ڕیز لەپاش","rowInsertBefore":"دانانی ڕیز لەپێش","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"ناوەڕاست","alignJustify":"هاوستوونی","alignLeft":"چەپ","alignRight":"ڕاست","bold":"قەڵەو","bulletedlist":"دانان/لابردنی خاڵی لیست","cancel":"پاشگەزبوونەوە","horizontalrule":"دانانی هێلی ئاسۆیی","italic":"لار","numberedlist":"دانان/لابردنی ژمارەی لیست","quote":"بەربەستکردنی ووتەی وەرگیراو","removeformat":"لابردنی داڕشتەکە","strike":"لێدان","subscript":"ژێرنووس","superscript":"سەرنووس","underline":"ژێرهێڵ","formatted":"شێوازکراو","h1":"سەرنووسەی ١","h2":"سەرنووسەی ٢","normal":"Normal","indent":"زیادکردنی بۆشایی","outdent":"کەمکردنەوەی بۆشایی","blockStyles":"شێوازی خشت","inlineStyles":"شێوازی ناوهێڵ","objectStyles":"شێوازی بەرکار","styles":"شێواز","cell":"خانه","cellDelete":"سڕینەوەی خانه","cellInsertAfter":"دانانی خانه لەپاش","cellInsertBefore":"دانانی خانه لەپێش","cellMerge":"تێکەڵکردنی خانە","cellMergeDown":"تێکەڵکردنی لەگەڵ خوارەوە","cellMergeRight":"تێکەڵکردنی لەگەڵ ڕاست","cellSplitHorizontal":"دابەشکردنی خانەی ئاسۆیی","cellSplitVertical":"دابەشکردنی خانەی ئەستونی","column":"ئەستون","columnDelete":"سڕینەوەی ئەستوون","columnInsertAfter":"دانانی ئەستوون لەپاش","columnInsertBefore":"دانانی ئەستون لەپێش","deleteTable":"سڕینەوەی خشتە","headers":"سەرپەڕه","headersBoth":"هەردووك","headersColumn":"یەکەم ئەستوون","headersNone":"هیچ","headersRow":"یەکەم ڕیز","row":"ڕیز","rowDelete":"سڕینەوەی ڕیز","rowInsertAfter":"دانانی ڕیز لەپاش","rowInsertBefore":"دانانی ڕیز لەپێش","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/lt.js b/src/lang/lt.js index 0d78d01521..1041311ce2 100644 --- a/src/lang/lt.js +++ b/src/lang/lt.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrą","alignJustify":"Lygiuoti abi puses","alignLeft":"Kairę","alignRight":"Dešinę","bold":"Pusjuodis","bulletedlist":"Suženklintas sąrašas","cancel":"Nutraukti","horizontalrule":"Įterpti horizontalią liniją","italic":"Kursyvas","numberedlist":"Numeruotas sąrašas","quote":"Citata","removeformat":"Panaikinti formatą","strike":"Perbrauktas","subscript":"Apatinis indeksas","superscript":"Viršutinis indeksas","underline":"Pabrauktas","formatted":"Formuotas","h1":"Antraštinis 1","h2":"Antraštinis 2","normal":"Normalus","indent":"Padidinti įtrauką","outdent":"Sumažinti įtrauką","blockStyles":"Blokų stiliai","inlineStyles":"Vidiniai stiliai","objectStyles":"Objektų stiliai","styles":"Stilius","cell":"Langelis","cellDelete":"Šalinti langelius","cellInsertAfter":"Įterpti langelį po","cellInsertBefore":"Įterpti langelį prieš","cellMerge":"Sujungti langelius","cellMergeDown":"Sujungti su apačia","cellMergeRight":"Sujungti su dešine","cellSplitHorizontal":"Skaidyti langelį horizontaliai","cellSplitVertical":"Skaidyti langelį vertikaliai","column":"Stulpelis","columnDelete":"Šalinti stulpelius","columnInsertAfter":"Įterpti stulpelį po","columnInsertBefore":"Įterpti stulpelį prieš","deleteTable":"Šalinti lentelę","headers":"Antraštės","headersBoth":"Abu","headersColumn":"Pirmas stulpelis","headersNone":"Nėra","headersRow":"Pirma eilutė","row":"Eilutė","rowDelete":"Šalinti eilutes","rowInsertAfter":"Įterpti eilutę po","rowInsertBefore":"Įterpti eilutę prieš","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrą","alignJustify":"Lygiuoti abi puses","alignLeft":"Kairę","alignRight":"Dešinę","bold":"Pusjuodis","bulletedlist":"Suženklintas sąrašas","cancel":"Nutraukti","horizontalrule":"Įterpti horizontalią liniją","italic":"Kursyvas","numberedlist":"Numeruotas sąrašas","quote":"Citata","removeformat":"Panaikinti formatą","strike":"Perbrauktas","subscript":"Apatinis indeksas","superscript":"Viršutinis indeksas","underline":"Pabrauktas","formatted":"Formuotas","h1":"Antraštinis 1","h2":"Antraštinis 2","normal":"Normal","indent":"Padidinti įtrauką","outdent":"Sumažinti įtrauką","blockStyles":"Blokų stiliai","inlineStyles":"Vidiniai stiliai","objectStyles":"Objektų stiliai","styles":"Stilius","cell":"Langelis","cellDelete":"Šalinti langelius","cellInsertAfter":"Įterpti langelį po","cellInsertBefore":"Įterpti langelį prieš","cellMerge":"Sujungti langelius","cellMergeDown":"Sujungti su apačia","cellMergeRight":"Sujungti su dešine","cellSplitHorizontal":"Skaidyti langelį horizontaliai","cellSplitVertical":"Skaidyti langelį vertikaliai","column":"Stulpelis","columnDelete":"Šalinti stulpelius","columnInsertAfter":"Įterpti stulpelį po","columnInsertBefore":"Įterpti stulpelį prieš","deleteTable":"Šalinti lentelę","headers":"Antraštės","headersBoth":"Abu","headersColumn":"Pirmas stulpelis","headersNone":"Nėra","headersRow":"Pirma eilutė","row":"Eilutė","rowDelete":"Šalinti eilutes","rowInsertAfter":"Įterpti eilutę po","rowInsertBefore":"Įterpti eilutę prieš","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/lv.js b/src/lang/lv.js index 508141cd47..cb15bdbc7c 100644 --- a/src/lang/lv.js +++ b/src/lang/lv.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrēti","alignJustify":"Izlīdzināt malas","alignLeft":"Pa kreisi","alignRight":"Pa labi","bold":"Treknināts","bulletedlist":"Pievienot/Noņemt vienkāršu sarakstu","cancel":"Atcelt","horizontalrule":"Ievietot horizontālu Atdalītājsvītru","italic":"Kursīvs","numberedlist":"Numurēts saraksts","quote":"Bloka citāts","removeformat":"Noņemt stilus","strike":"Pārsvītrots","subscript":"Apakšrakstā","superscript":"Augšrakstā","underline":"Pasvītrots","formatted":"Formatēts teksts","h1":"Virsraksts 1","h2":"Virsraksts 2","normal":"Normāls teksts","indent":"Palielināt atkāpi","outdent":"Samazināt atkāpi","blockStyles":"Bloka stili","inlineStyles":"iekļautie stili","objectStyles":"Objekta stili","styles":"Stils","cell":"Šūna","cellDelete":"Dzēst rūtiņas","cellInsertAfter":"Pievienot šūnu pēc","cellInsertBefore":"Pievienot šūnu pirms","cellMerge":"Apvienot rūtiņas","cellMergeDown":"Apvienot uz leju","cellMergeRight":"Apvieno pa labi","cellSplitHorizontal":"Sadalīt šūnu horizontāli","cellSplitVertical":"Sadalīt šūnu vertikāli","column":"Kolonna","columnDelete":"Dzēst kolonnas","columnInsertAfter":"Ievieto kolonu pēc","columnInsertBefore":"Ievietot kolonu pirms","deleteTable":"Dzēst tabulu","headers":"Virsraksti","headersBoth":"Abi","headersColumn":"Pirmā kolona","headersNone":"Nekas","headersRow":"Pirmā rinda","row":"Rinda","rowDelete":"Dzēst rindas","rowInsertAfter":"Ievietot rindu pēc","rowInsertBefore":"Ievietot rindu pirms","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrēti","alignJustify":"Izlīdzināt malas","alignLeft":"Pa kreisi","alignRight":"Pa labi","bold":"Treknināts","bulletedlist":"Pievienot/Noņemt vienkāršu sarakstu","cancel":"Atcelt","horizontalrule":"Ievietot horizontālu Atdalītājsvītru","italic":"Kursīvs","numberedlist":"Numurēts saraksts","quote":"Bloka citāts","removeformat":"Noņemt stilus","strike":"Pārsvītrots","subscript":"Apakšrakstā","superscript":"Augšrakstā","underline":"Pasvītrots","formatted":"Formatēts teksts","h1":"Virsraksts 1","h2":"Virsraksts 2","normal":"Normal","indent":"Palielināt atkāpi","outdent":"Samazināt atkāpi","blockStyles":"Bloka stili","inlineStyles":"iekļautie stili","objectStyles":"Objekta stili","styles":"Stils","cell":"Šūna","cellDelete":"Dzēst rūtiņas","cellInsertAfter":"Pievienot šūnu pēc","cellInsertBefore":"Pievienot šūnu pirms","cellMerge":"Apvienot rūtiņas","cellMergeDown":"Apvienot uz leju","cellMergeRight":"Apvieno pa labi","cellSplitHorizontal":"Sadalīt šūnu horizontāli","cellSplitVertical":"Sadalīt šūnu vertikāli","column":"Kolonna","columnDelete":"Dzēst kolonnas","columnInsertAfter":"Ievieto kolonu pēc","columnInsertBefore":"Ievietot kolonu pirms","deleteTable":"Dzēst tabulu","headers":"Virsraksti","headersBoth":"Abi","headersColumn":"Pirmā kolona","headersNone":"Nekas","headersRow":"Pirmā rinda","row":"Rinda","rowDelete":"Dzēst rindas","rowInsertAfter":"Ievietot rindu pēc","rowInsertBefore":"Ievietot rindu pirms","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/mk.js b/src/lang/mk.js index ed67a1a263..21f2291080 100644 --- a/src/lang/mk.js +++ b/src/lang/mk.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Во средина","alignJustify":"Justify","alignLeft":"Лево","alignRight":"Десно","bold":"Здебелено","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Накривено","numberedlist":"Insert/Remove Numbered List","quote":"Одвоен цитат","removeformat":"Remove Format","strike":"Прецртано","subscript":"Долен индекс","superscript":"Горен индекс","underline":"Подвлечено","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Во средина","alignJustify":"Justify","alignLeft":"Лево","alignRight":"Десно","bold":"Здебелено","bulletedlist":"Insert/Remove Bulleted List","cancel":"Cancel","horizontalrule":"Insert Horizontal Line","italic":"Накривено","numberedlist":"Insert/Remove Numbered List","quote":"Одвоен цитат","removeformat":"Remove Format","strike":"Прецртано","subscript":"Долен индекс","superscript":"Горен индекс","underline":"Подвлечено","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Increase Indent","outdent":"Decrease Indent","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Styles","cell":"Cell","cellDelete":"Delete Cells","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Merge Cells","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/mn.js b/src/lang/mn.js index 743801dcaf..b6e1382d9a 100644 --- a/src/lang/mn.js +++ b/src/lang/mn.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Төвд","alignJustify":"Тэгшлэх","alignLeft":"Зүүн","alignRight":"Баруун","bold":"Тод бүдүүн","bulletedlist":"Цэгтэй жагсаалт","cancel":"Болих","horizontalrule":"Хөндлөн зураас оруулах","italic":"Налуу","numberedlist":"Дугаарлагдсан жагсаалт","quote":"Ишлэл хэсэг","removeformat":"Параргафын загварыг авч хаях","strike":"Дундуур нь зураастай болгох","subscript":"Суурь болгох","superscript":"Зэрэг болгох","underline":"Доогуур нь зураастай болгох","formatted":"Formatted","h1":"Гарчиг 1","h2":"Гарчиг 2","normal":"Хэвийн","indent":"Догол мөр хасах","outdent":"Догол мөр нэмэх","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Загвар","cell":"Нүх/зай","cellDelete":"Нүх устгах","cellInsertAfter":"Нүх/зай дараа нь оруулах","cellInsertBefore":"Нүх/зай өмнө нь оруулах","cellMerge":"Нүх нэгтэх","cellMergeDown":"Доош нэгтгэх","cellMergeRight":"Баруун тийш нэгтгэх","cellSplitHorizontal":"Нүх/зайг босоогоор нь тусгаарлах","cellSplitVertical":"Нүх/зайг хөндлөнгөөр нь тусгаарлах","column":"Багана","columnDelete":"Багана устгах","columnInsertAfter":"Багана дараа нь оруулах","columnInsertBefore":"Багана өмнө нь оруулах","deleteTable":"Хүснэгт устгах","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Мөр","rowDelete":"Мөр устгах","rowInsertAfter":"Мөр дараа нь оруулах","rowInsertBefore":"Мөр өмнө нь оруулах","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Төвд","alignJustify":"Тэгшлэх","alignLeft":"Зүүн","alignRight":"Баруун","bold":"Тод бүдүүн","bulletedlist":"Цэгтэй жагсаалт","cancel":"Болих","horizontalrule":"Хөндлөн зураас оруулах","italic":"Налуу","numberedlist":"Дугаарлагдсан жагсаалт","quote":"Ишлэл хэсэг","removeformat":"Параргафын загварыг авч хаях","strike":"Дундуур нь зураастай болгох","subscript":"Суурь болгох","superscript":"Зэрэг болгох","underline":"Доогуур нь зураастай болгох","formatted":"Formatted","h1":"Гарчиг 1","h2":"Гарчиг 2","normal":"Normal","indent":"Догол мөр хасах","outdent":"Догол мөр нэмэх","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Загвар","cell":"Нүх/зай","cellDelete":"Нүх устгах","cellInsertAfter":"Нүх/зай дараа нь оруулах","cellInsertBefore":"Нүх/зай өмнө нь оруулах","cellMerge":"Нүх нэгтэх","cellMergeDown":"Доош нэгтгэх","cellMergeRight":"Баруун тийш нэгтгэх","cellSplitHorizontal":"Нүх/зайг босоогоор нь тусгаарлах","cellSplitVertical":"Нүх/зайг хөндлөнгөөр нь тусгаарлах","column":"Багана","columnDelete":"Багана устгах","columnInsertAfter":"Багана дараа нь оруулах","columnInsertBefore":"Багана өмнө нь оруулах","deleteTable":"Хүснэгт устгах","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Мөр","rowDelete":"Мөр устгах","rowInsertAfter":"Мөр дараа нь оруулах","rowInsertBefore":"Мөр өмнө нь оруулах","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ms.js b/src/lang/ms.js index 7fad375da3..60167e9413 100644 --- a/src/lang/ms.js +++ b/src/lang/ms.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Tengah","alignJustify":"Jajaran Blok","alignLeft":"Kiri","alignRight":"Kanan","bold":"Bold","bulletedlist":"Senarai tidak bernombor","cancel":"Batal","horizontalrule":"Masukkan Garisan Membujur","italic":"Italic","numberedlist":"Senarai bernombor","quote":"Block Quote","removeformat":"Buang Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Telah Diformat","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Tambahkan Inden","outdent":"Kurangkan Inden","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stail","cell":"Cell","cellDelete":"Buangkan Sel-sel","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Cantumkan Sel-sel","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Buangkan Lajur","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Buangkan Baris","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Tengah","alignJustify":"Jajaran Blok","alignLeft":"Kiri","alignRight":"Kanan","bold":"Bold","bulletedlist":"Senarai tidak bernombor","cancel":"Batal","horizontalrule":"Masukkan Garisan Membujur","italic":"Italic","numberedlist":"Senarai bernombor","quote":"Block Quote","removeformat":"Buang Format","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline","formatted":"Telah Diformat","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Tambahkan Inden","outdent":"Kurangkan Inden","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stail","cell":"Cell","cellDelete":"Buangkan Sel-sel","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Cantumkan Sel-sel","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Buangkan Lajur","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","row":"Row","rowDelete":"Buangkan Baris","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/nb.js b/src/lang/nb.js index bb901700ff..1061ed2ffe 100644 --- a/src/lang/nb.js +++ b/src/lang/nb.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Midtjuster","alignJustify":"Blokkjuster","alignLeft":"Venstre","alignRight":"Høyre","bold":"Fet","bulletedlist":"Legg til / fjern punktliste","cancel":"Avbryt","horizontalrule":"Sett inn horisontal linje","italic":"Kursiv","numberedlist":"Legg til / fjern nummerert liste","quote":"Blokksitat","removeformat":"Fjern formatering","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking","formatted":"Formatert","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Øk innrykk","outdent":"Reduser innrykk","blockStyles":"Blokkstiler","inlineStyles":"Inlinestiler","objectStyles":"Objektstiler","styles":"Stil","cell":"Celle","cellDelete":"Slett celler","cellInsertAfter":"Sett inn celle etter","cellInsertBefore":"Sett inn celle før","cellMerge":"Slå sammen celler","cellMergeDown":"Slå sammen ned","cellMergeRight":"Slå sammen høyre","cellSplitHorizontal":"Del celle horisontalt","cellSplitVertical":"Del celle vertikalt","column":"Kolonne","columnDelete":"Slett kolonner","columnInsertAfter":"Sett inn kolonne etter","columnInsertBefore":"Sett inn kolonne før","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","row":"Rader","rowDelete":"Slett rader","rowInsertAfter":"Sett inn rad etter","rowInsertBefore":"Sett inn rad før","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Midtjuster","alignJustify":"Blokkjuster","alignLeft":"Venstre","alignRight":"Høyre","bold":"Fet","bulletedlist":"Legg til / fjern punktliste","cancel":"Avbryt","horizontalrule":"Sett inn horisontal linje","italic":"Kursiv","numberedlist":"Legg til / fjern nummerert liste","quote":"Blokksitat","removeformat":"Fjern formatering","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking","formatted":"Formatert","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Øk innrykk","outdent":"Reduser innrykk","blockStyles":"Blokkstiler","inlineStyles":"Inlinestiler","objectStyles":"Objektstiler","styles":"Stil","cell":"Celle","cellDelete":"Slett celler","cellInsertAfter":"Sett inn celle etter","cellInsertBefore":"Sett inn celle før","cellMerge":"Slå sammen celler","cellMergeDown":"Slå sammen ned","cellMergeRight":"Slå sammen høyre","cellSplitHorizontal":"Del celle horisontalt","cellSplitVertical":"Del celle vertikalt","column":"Kolonne","columnDelete":"Slett kolonner","columnInsertAfter":"Sett inn kolonne etter","columnInsertBefore":"Sett inn kolonne før","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","row":"Rader","rowDelete":"Slett rader","rowInsertAfter":"Sett inn rad etter","rowInsertBefore":"Sett inn rad før","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/nl.js b/src/lang/nl.js index d89e685c43..5c5b85ff65 100644 --- a/src/lang/nl.js +++ b/src/lang/nl.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centreren","alignJustify":"Uitvullen","alignLeft":"Links","alignRight":"Rechts","bold":"Vet","bulletedlist":"Opsomming invoegen","cancel":"Annuleren","horizontalrule":"Horizontale lijn invoegen","italic":"Cursief","numberedlist":"Genummerde lijst invoegen","quote":"Citaatblok","removeformat":"Opmaak verwijderen","strike":"Doorhalen","subscript":"Subscript","superscript":"Superscript","underline":"Onderstrepen","formatted":"Met opmaak","h1":"Kop 1","h2":"Kop 2","normal":"Normaal","indent":"Inspringing vergroten","outdent":"Inspringing verkleinen","blockStyles":"Blok stijlen","inlineStyles":"Inline stijlen","objectStyles":"Object stijlen","styles":"Stijl","cell":"Cel","cellDelete":"Cellen verwijderen","cellInsertAfter":"Voeg cel in na","cellInsertBefore":"Voeg cel in voor","cellMerge":"Cellen samenvoegen","cellMergeDown":"Voeg samen naar beneden","cellMergeRight":"Voeg samen naar rechts","cellSplitHorizontal":"Splits cel horizontaal","cellSplitVertical":"Splits cel vertikaal","column":"Kolom","columnDelete":"Kolommen verwijderen","columnInsertAfter":"Voeg kolom in na","columnInsertBefore":"Voeg kolom in voor","deleteTable":"Tabel verwijderen","headers":"Koppen","headersBoth":"Beide","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste rij","row":"Rij","rowDelete":"Rijen verwijderen","rowInsertAfter":"Voeg rij in na","rowInsertBefore":"Voeg rij in voor","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centreren","alignJustify":"Uitvullen","alignLeft":"Links","alignRight":"Rechts","bold":"Vet","bulletedlist":"Opsomming invoegen","cancel":"Annuleren","horizontalrule":"Horizontale lijn invoegen","italic":"Cursief","numberedlist":"Genummerde lijst invoegen","quote":"Citaatblok","removeformat":"Opmaak verwijderen","strike":"Doorhalen","subscript":"Subscript","superscript":"Superscript","underline":"Onderstrepen","formatted":"Met opmaak","h1":"Kop 1","h2":"Kop 2","normal":"Normal","indent":"Inspringing vergroten","outdent":"Inspringing verkleinen","blockStyles":"Blok stijlen","inlineStyles":"Inline stijlen","objectStyles":"Object stijlen","styles":"Stijl","cell":"Cel","cellDelete":"Cellen verwijderen","cellInsertAfter":"Voeg cel in na","cellInsertBefore":"Voeg cel in voor","cellMerge":"Cellen samenvoegen","cellMergeDown":"Voeg samen naar beneden","cellMergeRight":"Voeg samen naar rechts","cellSplitHorizontal":"Splits cel horizontaal","cellSplitVertical":"Splits cel vertikaal","column":"Kolom","columnDelete":"Kolommen verwijderen","columnInsertAfter":"Voeg kolom in na","columnInsertBefore":"Voeg kolom in voor","deleteTable":"Tabel verwijderen","headers":"Koppen","headersBoth":"Beide","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste rij","row":"Rij","rowDelete":"Rijen verwijderen","rowInsertAfter":"Voeg rij in na","rowInsertBefore":"Voeg rij in voor","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/no.js b/src/lang/no.js index 9a4aae8dbc..c657357e5b 100644 --- a/src/lang/no.js +++ b/src/lang/no.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Midtjuster","alignJustify":"Blokkjuster","alignLeft":"Venstre","alignRight":"Høyre","bold":"Fet","bulletedlist":"Legg til/Fjern punktmerket liste","cancel":"Avbryt","horizontalrule":"Sett inn horisontal linje","italic":"Kursiv","numberedlist":"Legg til/Fjern nummerert liste","quote":"Blokksitat","removeformat":"Fjern formatering","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking","formatted":"Formatert","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Øk innrykk","outdent":"Reduser innrykk","blockStyles":"Blokkstiler","inlineStyles":"Inlinestiler","objectStyles":"Objektstiler","styles":"Stil","cell":"Celle","cellDelete":"Slett celler","cellInsertAfter":"Sett inn celle etter","cellInsertBefore":"Sett inn celle før","cellMerge":"Slå sammen celler","cellMergeDown":"Slå sammen ned","cellMergeRight":"Slå sammen høyre","cellSplitHorizontal":"Del celle horisontalt","cellSplitVertical":"Del celle vertikalt","column":"Kolonne","columnDelete":"Slett kolonner","columnInsertAfter":"Sett inn kolonne etter","columnInsertBefore":"Sett inn kolonne før","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","row":"Rader","rowDelete":"Slett rader","rowInsertAfter":"Sett inn rad etter","rowInsertBefore":"Sett inn rad før","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Midtjuster","alignJustify":"Blokkjuster","alignLeft":"Venstre","alignRight":"Høyre","bold":"Fet","bulletedlist":"Legg til/Fjern punktmerket liste","cancel":"Avbryt","horizontalrule":"Sett inn horisontal linje","italic":"Kursiv","numberedlist":"Legg til/Fjern nummerert liste","quote":"Blokksitat","removeformat":"Fjern formatering","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking","formatted":"Formatert","h1":"Overskrift 1","h2":"Overskrift 2","normal":"Normal","indent":"Øk innrykk","outdent":"Reduser innrykk","blockStyles":"Blokkstiler","inlineStyles":"Inlinestiler","objectStyles":"Objektstiler","styles":"Stil","cell":"Celle","cellDelete":"Slett celler","cellInsertAfter":"Sett inn celle etter","cellInsertBefore":"Sett inn celle før","cellMerge":"Slå sammen celler","cellMergeDown":"Slå sammen ned","cellMergeRight":"Slå sammen høyre","cellSplitHorizontal":"Del celle horisontalt","cellSplitVertical":"Del celle vertikalt","column":"Kolonne","columnDelete":"Slett kolonner","columnInsertAfter":"Sett inn kolonne etter","columnInsertBefore":"Sett inn kolonne før","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","row":"Rader","rowDelete":"Slett rader","rowInsertAfter":"Sett inn rad etter","rowInsertBefore":"Sett inn rad før","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/pl.js b/src/lang/pl.js index ebe8f0b57a..a4916c0325 100644 --- a/src/lang/pl.js +++ b/src/lang/pl.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Do środka","alignJustify":"Wyjustuj","alignLeft":"Do lewej","alignRight":"Do prawej","bold":"Pogrubienie","bulletedlist":"Lista wypunktowana","cancel":"Anuluj","horizontalrule":"Wstaw poziomą linię","italic":"Kursywa","numberedlist":"Lista numerowana","quote":"Cytat","removeformat":"Usuń formatowanie","strike":"Przekreślenie","subscript":"Indeks dolny","superscript":"Indeks górny","underline":"Podkreślenie","formatted":"Tekst sformatowany","h1":"Nagłówek 1","h2":"Nagłówek 2","normal":"Normalny","indent":"Zwiększ wcięcie","outdent":"Zmniejsz wcięcie","blockStyles":"Style blokowe","inlineStyles":"Style liniowe","objectStyles":"Style obiektowe","styles":"Styl","cell":"Komórka","cellDelete":"Usuń komórki","cellInsertAfter":"Wstaw komórkę z prawej","cellInsertBefore":"Wstaw komórkę z lewej","cellMerge":"Połącz komórki","cellMergeDown":"Połącz z komórką poniżej","cellMergeRight":"Połącz z komórką z prawej","cellSplitHorizontal":"Podziel komórkę poziomo","cellSplitVertical":"Podziel komórkę pionowo","column":"Kolumna","columnDelete":"Usuń kolumny","columnInsertAfter":"Wstaw kolumnę z prawej","columnInsertBefore":"Wstaw kolumnę z lewej","deleteTable":"Usuń tabelę","headers":"Nagłówki","headersBoth":"Oba","headersColumn":"Pierwsza kolumna","headersNone":"Brak","headersRow":"Pierwszy wiersz","row":"Wiersz","rowDelete":"Usuń wiersze","rowInsertAfter":"Wstaw wiersz poniżej","rowInsertBefore":"Wstaw wiersz powyżej","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Do środka","alignJustify":"Wyjustuj","alignLeft":"Do lewej","alignRight":"Do prawej","bold":"Pogrubienie","bulletedlist":"Lista wypunktowana","cancel":"Anuluj","horizontalrule":"Wstaw poziomą linię","italic":"Kursywa","numberedlist":"Lista numerowana","quote":"Cytat","removeformat":"Usuń formatowanie","strike":"Przekreślenie","subscript":"Indeks dolny","superscript":"Indeks górny","underline":"Podkreślenie","formatted":"Tekst sformatowany","h1":"Nagłówek 1","h2":"Nagłówek 2","normal":"Normal","indent":"Zwiększ wcięcie","outdent":"Zmniejsz wcięcie","blockStyles":"Style blokowe","inlineStyles":"Style liniowe","objectStyles":"Style obiektowe","styles":"Styl","cell":"Komórka","cellDelete":"Usuń komórki","cellInsertAfter":"Wstaw komórkę z prawej","cellInsertBefore":"Wstaw komórkę z lewej","cellMerge":"Połącz komórki","cellMergeDown":"Połącz z komórką poniżej","cellMergeRight":"Połącz z komórką z prawej","cellSplitHorizontal":"Podziel komórkę poziomo","cellSplitVertical":"Podziel komórkę pionowo","column":"Kolumna","columnDelete":"Usuń kolumny","columnInsertAfter":"Wstaw kolumnę z prawej","columnInsertBefore":"Wstaw kolumnę z lewej","deleteTable":"Usuń tabelę","headers":"Nagłówki","headersBoth":"Oba","headersColumn":"Pierwsza kolumna","headersNone":"Brak","headersRow":"Pierwszy wiersz","row":"Wiersz","rowDelete":"Usuń wiersze","rowInsertAfter":"Wstaw wiersz poniżej","rowInsertBefore":"Wstaw wiersz powyżej","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/pt-br.js b/src/lang/pt-br.js index f8142dfed9..6eded2e854 100644 --- a/src/lang/pt-br.js +++ b/src/lang/pt-br.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centralizado","alignJustify":"Justificar","alignLeft":"Esquerda","alignRight":"Direita","bold":"Negrito","bulletedlist":"Lista sem números","cancel":"Cancelar","horizontalrule":"Inserir Linha Horizontal","italic":"Itálico","numberedlist":"Lista numerada","quote":"Citação","removeformat":"Remover Formatação","strike":"Tachado","subscript":"Subscrito","superscript":"Sobrescrito","underline":"Sublinhado","formatted":"Formatado","h1":"Título 1","h2":"Título 2","normal":"Normal","indent":"Aumentar Recuo","outdent":"Diminuir Recuo","blockStyles":"Estilos de bloco","inlineStyles":"Estilos de texto corrido","objectStyles":"Estilos de objeto","styles":"Estilo","cell":"Célula","cellDelete":"Remover Células","cellInsertAfter":"Inserir célula a direita","cellInsertBefore":"Inserir célula a esquerda","cellMerge":"Mesclar Células","cellMergeDown":"Mesclar com célula abaixo","cellMergeRight":"Mesclar com célula a direita","cellSplitHorizontal":"Dividir célula horizontalmente","cellSplitVertical":"Dividir célula verticalmente","column":"Coluna","columnDelete":"Remover Colunas","columnInsertAfter":"Inserir coluna a direita","columnInsertBefore":"Inserir coluna a esquerda","deleteTable":"Apagar Tabela","headers":"Cabeçalho","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","row":"Linha","rowDelete":"Remover Linhas","rowInsertAfter":"Inserir linha abaixo","rowInsertBefore":"Inserir linha acima","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centralizado","alignJustify":"Justificar","alignLeft":"Esquerda","alignRight":"Direita","bold":"Negrito","bulletedlist":"Lista sem números","cancel":"Cancelar","horizontalrule":"Inserir Linha Horizontal","italic":"Itálico","numberedlist":"Lista numerada","quote":"Citação","removeformat":"Remover Formatação","strike":"Tachado","subscript":"Subscrito","superscript":"Sobrescrito","underline":"Sublinhado","formatted":"Formatado","h1":"Título 1","h2":"Título 2","normal":"Normal","indent":"Aumentar Recuo","outdent":"Diminuir Recuo","blockStyles":"Estilos de bloco","inlineStyles":"Estilos de texto corrido","objectStyles":"Estilos de objeto","styles":"Estilo","cell":"Célula","cellDelete":"Remover Células","cellInsertAfter":"Inserir célula a direita","cellInsertBefore":"Inserir célula a esquerda","cellMerge":"Mesclar Células","cellMergeDown":"Mesclar com célula abaixo","cellMergeRight":"Mesclar com célula a direita","cellSplitHorizontal":"Dividir célula horizontalmente","cellSplitVertical":"Dividir célula verticalmente","column":"Coluna","columnDelete":"Remover Colunas","columnInsertAfter":"Inserir coluna a direita","columnInsertBefore":"Inserir coluna a esquerda","deleteTable":"Apagar Tabela","headers":"Cabeçalho","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","row":"Linha","rowDelete":"Remover Linhas","rowInsertAfter":"Inserir linha abaixo","rowInsertBefore":"Inserir linha acima","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/pt.js b/src/lang/pt.js index d140534cbe..c2974f21ce 100644 --- a/src/lang/pt.js +++ b/src/lang/pt.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrado","alignJustify":"Justificado","alignLeft":"Esquerda","alignRight":"Direita","bold":"Negrito","bulletedlist":"Marcas","cancel":"Cancelar","horizontalrule":"Inserir linha horizontal","italic":"Itálico","numberedlist":"Numeração","quote":"Bloco de citação","removeformat":"Limpar formatação","strike":"Rasurado","subscript":"Superior à linha","superscript":"Superior à linha","underline":"Sublinhado","formatted":"Formatado","h1":"Título 1","h2":"Título 2","normal":"Normal","indent":"Aumentar avanço","outdent":"Diminuir avanço","blockStyles":"Estilos de bloco","inlineStyles":"Estilos de Linha","objectStyles":"Estilos de Objeto","styles":"Estilos","cell":"Célula","cellDelete":"Apagar células","cellInsertAfter":"Inserir célula depois","cellInsertBefore":"Inserir célula antes","cellMerge":"Unir células","cellMergeDown":"Fundir abaixo","cellMergeRight":"Unir à direita","cellSplitHorizontal":"Dividir célula horizontalmente","cellSplitVertical":"Dividir célula verticalmente","column":"Coluna","columnDelete":"Apagar colunas","columnInsertAfter":"Inserir coluna depois","columnInsertBefore":"Inserir coluna antes","deleteTable":"Apagar tabela","headers":"Cabeçalhos","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","row":"Linha","rowDelete":"Apagar linhas","rowInsertAfter":"Inserir linha depois","rowInsertBefore":"Inserir linha antes","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrado","alignJustify":"Justificado","alignLeft":"Esquerda","alignRight":"Direita","bold":"Negrito","bulletedlist":"Marcas","cancel":"Cancelar","horizontalrule":"Inserir linha horizontal","italic":"Itálico","numberedlist":"Numeração","quote":"Bloco de citação","removeformat":"Limpar formatação","strike":"Rasurado","subscript":"Superior à linha","superscript":"Superior à linha","underline":"Sublinhado","formatted":"Formatado","h1":"Título 1","h2":"Título 2","normal":"Normal","indent":"Aumentar avanço","outdent":"Diminuir avanço","blockStyles":"Estilos de bloco","inlineStyles":"Estilos de Linha","objectStyles":"Estilos de Objeto","styles":"Estilos","cell":"Célula","cellDelete":"Apagar células","cellInsertAfter":"Inserir célula depois","cellInsertBefore":"Inserir célula antes","cellMerge":"Unir células","cellMergeDown":"Fundir abaixo","cellMergeRight":"Unir à direita","cellSplitHorizontal":"Dividir célula horizontalmente","cellSplitVertical":"Dividir célula verticalmente","column":"Coluna","columnDelete":"Apagar colunas","columnInsertAfter":"Inserir coluna depois","columnInsertBefore":"Inserir coluna antes","deleteTable":"Apagar tabela","headers":"Cabeçalhos","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","row":"Linha","rowDelete":"Apagar linhas","rowInsertAfter":"Inserir linha depois","rowInsertBefore":"Inserir linha antes","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ro.js b/src/lang/ro.js index 2a771dceef..743d6cbfcd 100644 --- a/src/lang/ro.js +++ b/src/lang/ro.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centru","alignJustify":"Aliniere în bloc (Block Justify)","alignLeft":"Mărește Bara","alignRight":"Dreapta","bold":"Îngroşat (bold)","bulletedlist":"Inserează / Elimină Listă cu puncte","cancel":"Anulare","horizontalrule":"Inserează linie orizontală","italic":"Înclinat (italic)","numberedlist":"Inserează / Elimină Listă numerotată","quote":"Citat","removeformat":"Înlătură formatarea","strike":"Tăiat (strike through)","subscript":"Indice (subscript)","superscript":"Putere (superscript)","underline":"Subliniat (underline)","formatted":"Formatat","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Creşte indentarea","outdent":"Scade indentarea","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Celulă","cellDelete":"Şterge celule","cellInsertAfter":"Inserează celulă după","cellInsertBefore":"Inserează celulă înainte","cellMerge":"Uneşte celule","cellMergeDown":"Uneşte jos","cellMergeRight":"Uneşte la dreapta","cellSplitHorizontal":"Împarte celula pe orizontală","cellSplitVertical":"Împarte celula pe verticală","column":"Coloană","columnDelete":"Şterge celule","columnInsertAfter":"Inserează coloană după","columnInsertBefore":"Inserează coloană înainte","deleteTable":"Şterge tabel","headers":"Antente","headersBoth":"Ambele","headersColumn":"Prima coloană","headersNone":"Nimic","headersRow":"Primul rând","row":"Rând","rowDelete":"Şterge rânduri","rowInsertAfter":"Inserează rând după","rowInsertBefore":"Inserează rând înainte","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centru","alignJustify":"Aliniere în bloc (Block Justify)","alignLeft":"Mărește Bara","alignRight":"Dreapta","bold":"Îngroşat (bold)","bulletedlist":"Inserează / Elimină Listă cu puncte","cancel":"Anulare","horizontalrule":"Inserează linie orizontală","italic":"Înclinat (italic)","numberedlist":"Inserează / Elimină Listă numerotată","quote":"Citat","removeformat":"Înlătură formatarea","strike":"Tăiat (strike through)","subscript":"Indice (subscript)","superscript":"Putere (superscript)","underline":"Subliniat (underline)","formatted":"Formatat","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Creşte indentarea","outdent":"Scade indentarea","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Celulă","cellDelete":"Şterge celule","cellInsertAfter":"Inserează celulă după","cellInsertBefore":"Inserează celulă înainte","cellMerge":"Uneşte celule","cellMergeDown":"Uneşte jos","cellMergeRight":"Uneşte la dreapta","cellSplitHorizontal":"Împarte celula pe orizontală","cellSplitVertical":"Împarte celula pe verticală","column":"Coloană","columnDelete":"Şterge celule","columnInsertAfter":"Inserează coloană după","columnInsertBefore":"Inserează coloană înainte","deleteTable":"Şterge tabel","headers":"Antente","headersBoth":"Ambele","headersColumn":"Prima coloană","headersNone":"Nimic","headersRow":"Primul rând","row":"Rând","rowDelete":"Şterge rânduri","rowInsertAfter":"Inserează rând după","rowInsertBefore":"Inserează rând înainte","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ru.js b/src/lang/ru.js index 6608504d3c..93fb0dfdb3 100644 --- a/src/lang/ru.js +++ b/src/lang/ru.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"По центру","alignJustify":"По ширине","alignLeft":"По левому краю","alignRight":"По правому краю","bold":"Полужирный","bulletedlist":"Вставить / удалить маркированный список","cancel":"Отмена","horizontalrule":"Вставить горизонтальную линию","italic":"Курсив","numberedlist":"Вставить / удалить нумерованный список","quote":"Цитата","removeformat":"Убрать форматирование","strike":"Зачеркнутый","subscript":"Подстрочный индекс","superscript":"Надстрочный индекс","underline":"Подчеркнутый","formatted":"Моноширинное","h1":"Заголовок 1","h2":"Заголовок 2","normal":"Обычное","indent":"Увеличить отступ","outdent":"Уменьшить отступ","blockStyles":"Стили блока","inlineStyles":"Стили элемента","objectStyles":"Стили объекта","styles":"Стили","cell":"Ячейка","cellDelete":"Удалить ячейки","cellInsertAfter":"Вставить ячейку справа","cellInsertBefore":"Вставить ячейку слева","cellMerge":"Объединить ячейки","cellMergeDown":"Объединить с нижней","cellMergeRight":"Объединить с правой","cellSplitHorizontal":"Разделить ячейку по вертикали","cellSplitVertical":"Разделить ячейку по горизонтали","column":"Колонка","columnDelete":"Удалить колонки","columnInsertAfter":"Вставить колонку справа","columnInsertBefore":"Вставить колонку слева","deleteTable":"Удалить таблицу","headers":"Заголовки","headersBoth":"Сверху и слева","headersColumn":"Левая колонка","headersNone":"Без заголовков","headersRow":"Верхняя строка","row":"Строка","rowDelete":"Удалить строки","rowInsertAfter":"Вставить строку снизу","rowInsertBefore":"Вставить строку сверху","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"По центру","alignJustify":"По ширине","alignLeft":"По левому краю","alignRight":"По правому краю","bold":"Полужирный","bulletedlist":"Вставить / удалить маркированный список","cancel":"Отмена","horizontalrule":"Вставить горизонтальную линию","italic":"Курсив","numberedlist":"Вставить / удалить нумерованный список","quote":"Цитата","removeformat":"Убрать форматирование","strike":"Зачеркнутый","subscript":"Подстрочный индекс","superscript":"Надстрочный индекс","underline":"Подчеркнутый","formatted":"Моноширинное","h1":"Заголовок 1","h2":"Заголовок 2","normal":"Normal","indent":"Увеличить отступ","outdent":"Уменьшить отступ","blockStyles":"Стили блока","inlineStyles":"Стили элемента","objectStyles":"Стили объекта","styles":"Стили","cell":"Ячейка","cellDelete":"Удалить ячейки","cellInsertAfter":"Вставить ячейку справа","cellInsertBefore":"Вставить ячейку слева","cellMerge":"Объединить ячейки","cellMergeDown":"Объединить с нижней","cellMergeRight":"Объединить с правой","cellSplitHorizontal":"Разделить ячейку по вертикали","cellSplitVertical":"Разделить ячейку по горизонтали","column":"Колонка","columnDelete":"Удалить колонки","columnInsertAfter":"Вставить колонку справа","columnInsertBefore":"Вставить колонку слева","deleteTable":"Удалить таблицу","headers":"Заголовки","headersBoth":"Сверху и слева","headersColumn":"Левая колонка","headersNone":"Без заголовков","headersRow":"Верхняя строка","row":"Строка","rowDelete":"Удалить строки","rowInsertAfter":"Вставить строку снизу","rowInsertBefore":"Вставить строку сверху","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/si.js b/src/lang/si.js index 07269f5a12..3b6533158a 100644 --- a/src/lang/si.js +++ b/src/lang/si.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"මධ්‍ය","alignJustify":"Justify","alignLeft":"වම","alignRight":"දකුණ","bold":"තද අකුරින් ලියනලද","bulletedlist":"ඇතුලත් / ඉවත් කිරීම ලඉස්තුව","cancel":"අවලංගු කිරීම","horizontalrule":"තිරස් රේඛාවක් ඇතුලත් කරන්න","italic":"බැධීඅකුරින් ලියන ලද","numberedlist":"ඇතුලත් / ඉවත් කිරීම අන්න්කිත ලඉස්තුව","quote":"උද්ධෘත කොටස","removeformat":"සැකසීම වෙනස් කරන්න","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"යටින් ඉරි අදින ලද","formatted":"ආකෘතියන්","h1":"ශීර්ෂය 1","h2":"ශීර්ෂය 2","normal":"සාමාන්‍ය","indent":"අතර පරතරය වැඩිකරන්න","outdent":"අතර පරතරය අඩුකරන්න","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"විලාසය","cell":"කොටුව","cellDelete":"කොටුව මැකීම","cellInsertAfter":"පසුව කොටුවක් ඇතුලත් ","cellInsertBefore":"පෙර කොටුවක් ඇතුල්කිරිම","cellMerge":"කොටු එකට යාකිරිම","cellMergeDown":"පහලට ","cellMergeRight":"දකුණට ","cellSplitHorizontal":"තිරස්ව කොටු පැතිරීම","cellSplitVertical":"සිරස්ව කොටු පැතිරීම","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"වගුව මකන්න","headers":"ශීර්ෂක","headersBoth":"දෙකම","headersColumn":"පළමූ සිරස් තීරුව","headersNone":"කිසිවක්ම නොවේ","headersRow":"පළමූ පේළිය","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"මධ්‍ය","alignJustify":"Justify","alignLeft":"වම","alignRight":"දකුණ","bold":"තද අකුරින් ලියනලද","bulletedlist":"ඇතුලත් / ඉවත් කිරීම ලඉස්තුව","cancel":"අවලංගු කිරීම","horizontalrule":"තිරස් රේඛාවක් ඇතුලත් කරන්න","italic":"බැධීඅකුරින් ලියන ලද","numberedlist":"ඇතුලත් / ඉවත් කිරීම අන්න්කිත ලඉස්තුව","quote":"උද්ධෘත කොටස","removeformat":"සැකසීම වෙනස් කරන්න","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"යටින් ඉරි අදින ලද","formatted":"ආකෘතියන්","h1":"ශීර්ෂය 1","h2":"ශීර්ෂය 2","normal":"Normal","indent":"අතර පරතරය වැඩිකරන්න","outdent":"අතර පරතරය අඩුකරන්න","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"විලාසය","cell":"කොටුව","cellDelete":"කොටුව මැකීම","cellInsertAfter":"පසුව කොටුවක් ඇතුලත් ","cellInsertBefore":"පෙර කොටුවක් ඇතුල්කිරිම","cellMerge":"කොටු එකට යාකිරිම","cellMergeDown":"පහලට ","cellMergeRight":"දකුණට ","cellSplitHorizontal":"තිරස්ව කොටු පැතිරීම","cellSplitVertical":"සිරස්ව කොටු පැතිරීම","column":"Column","columnDelete":"Delete Columns","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"වගුව මකන්න","headers":"ශීර්ෂක","headersBoth":"දෙකම","headersColumn":"පළමූ සිරස් තීරුව","headersNone":"කිසිවක්ම නොවේ","headersRow":"පළමූ පේළිය","row":"Row","rowDelete":"Delete Rows","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sk.js b/src/lang/sk.js index 66b25d00e6..a161a41f75 100644 --- a/src/lang/sk.js +++ b/src/lang/sk.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Na stred","alignJustify":"Zarovnať do bloku","alignLeft":"Vľavo","alignRight":"Vpravo","bold":"Tučné","bulletedlist":"Vložiť/odstrániť zoznam s odrážkami","cancel":"Zrušiť","horizontalrule":"Vložiť vodorovnú čiaru","italic":"Kurzíva","numberedlist":"Vložiť/odstrániť číslovaný zoznam","quote":"Citácia","removeformat":"Odstrániť formátovanie","strike":"Prečiarknuté","subscript":"Dolný index","superscript":"Horný index","underline":"Podčiarknuté","formatted":"Formátovaný","h1":"Nadpis 1","h2":"Nadpis 2","normal":"Normálny","indent":"Zväčšiť odsadenie","outdent":"Zmenšiť odsadenie","blockStyles":"Štýly bloku","inlineStyles":"Vnútroriadkové (inline) štýly","objectStyles":"Štýly objeku","styles":"Štýly","cell":"Bunka","cellDelete":"Vymazať bunky","cellInsertAfter":"Vložiť bunku za","cellInsertBefore":"Vložiť bunku pred","cellMerge":"Zlúčiť bunky","cellMergeDown":"Zlúčiť dole","cellMergeRight":"Zlúčiť doprava","cellSplitHorizontal":"Rozdeliť bunky horizontálne","cellSplitVertical":"Rozdeliť bunky vertikálne","column":"Stĺpec","columnDelete":"Zmazať stĺpce","columnInsertAfter":"Vložiť stĺpec po","columnInsertBefore":"Vložiť stĺpec pred","deleteTable":"Vymazať tabuľku","headers":"Hlavička","headersBoth":"Obe","headersColumn":"Prvý stĺpec","headersNone":"Žiadne","headersRow":"Prvý riadok","row":"Riadok","rowDelete":"Vymazať riadky","rowInsertAfter":"Vložiť riadok po","rowInsertBefore":"Vložiť riadok pred","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Na stred","alignJustify":"Zarovnať do bloku","alignLeft":"Vľavo","alignRight":"Vpravo","bold":"Tučné","bulletedlist":"Vložiť/odstrániť zoznam s odrážkami","cancel":"Zrušiť","horizontalrule":"Vložiť vodorovnú čiaru","italic":"Kurzíva","numberedlist":"Vložiť/odstrániť číslovaný zoznam","quote":"Citácia","removeformat":"Odstrániť formátovanie","strike":"Prečiarknuté","subscript":"Dolný index","superscript":"Horný index","underline":"Podčiarknuté","formatted":"Formátovaný","h1":"Nadpis 1","h2":"Nadpis 2","normal":"Normal","indent":"Zväčšiť odsadenie","outdent":"Zmenšiť odsadenie","blockStyles":"Štýly bloku","inlineStyles":"Vnútroriadkové (inline) štýly","objectStyles":"Štýly objeku","styles":"Štýly","cell":"Bunka","cellDelete":"Vymazať bunky","cellInsertAfter":"Vložiť bunku za","cellInsertBefore":"Vložiť bunku pred","cellMerge":"Zlúčiť bunky","cellMergeDown":"Zlúčiť dole","cellMergeRight":"Zlúčiť doprava","cellSplitHorizontal":"Rozdeliť bunky horizontálne","cellSplitVertical":"Rozdeliť bunky vertikálne","column":"Stĺpec","columnDelete":"Zmazať stĺpce","columnInsertAfter":"Vložiť stĺpec po","columnInsertBefore":"Vložiť stĺpec pred","deleteTable":"Vymazať tabuľku","headers":"Hlavička","headersBoth":"Obe","headersColumn":"Prvý stĺpec","headersNone":"Žiadne","headersRow":"Prvý riadok","row":"Riadok","rowDelete":"Vymazať riadky","rowInsertAfter":"Vložiť riadok po","rowInsertBefore":"Vložiť riadok pred","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sl.js b/src/lang/sl.js index 0d8dd57f74..a4a058ae1b 100644 --- a/src/lang/sl.js +++ b/src/lang/sl.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Sredinsko","alignJustify":"Obojestranska poravnava","alignLeft":"Levo","alignRight":"Desno","bold":"Krepko","bulletedlist":"Vstavi/odstrani neoštevilčen seznam","cancel":"Prekliči","horizontalrule":"Vstavi vodoravno črto","italic":"Ležeče","numberedlist":"Vstavi/odstrani oštevilčen seznam","quote":"Citat","removeformat":"Odstrani oblikovanje","strike":"Prečrtano","subscript":"Podpisano","superscript":"Nadpisano","underline":"Podčrtano","formatted":"Oblikovan","h1":"Naslov 1","h2":"Naslov 2","normal":"Navaden","indent":"Povečaj zamik","outdent":"Zmanjšaj zamik","blockStyles":"Slogi odstavkov","inlineStyles":"Slogi besedila","objectStyles":"Slogi objektov","styles":"Slog","cell":"Celica","cellDelete":"Izbriši celice","cellInsertAfter":"Vstavi celico za","cellInsertBefore":"Vstavi celico pred","cellMerge":"Združi celice","cellMergeDown":"Združi navzdol","cellMergeRight":"Združi desno","cellSplitHorizontal":"Razdeli celico vodoravno","cellSplitVertical":"Razdeli celico navpično","column":"Stolpec","columnDelete":"Izbriši stolpce","columnInsertAfter":"Vstavi stolpec za","columnInsertBefore":"Vstavi stolpec pred","deleteTable":"Izbriši tabelo","headers":"Glave","headersBoth":"Oboje","headersColumn":"Prvi stolpec","headersNone":"Brez","headersRow":"Prva vrstica","row":"Vrstica","rowDelete":"Izbriši vrstice","rowInsertAfter":"Vstavi vrstico za","rowInsertBefore":"Vstavi vrstico pred","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Sredinsko","alignJustify":"Obojestranska poravnava","alignLeft":"Levo","alignRight":"Desno","bold":"Krepko","bulletedlist":"Vstavi/odstrani neoštevilčen seznam","cancel":"Prekliči","horizontalrule":"Vstavi vodoravno črto","italic":"Ležeče","numberedlist":"Vstavi/odstrani oštevilčen seznam","quote":"Citat","removeformat":"Odstrani oblikovanje","strike":"Prečrtano","subscript":"Podpisano","superscript":"Nadpisano","underline":"Podčrtano","formatted":"Oblikovan","h1":"Naslov 1","h2":"Naslov 2","normal":"Normal","indent":"Povečaj zamik","outdent":"Zmanjšaj zamik","blockStyles":"Slogi odstavkov","inlineStyles":"Slogi besedila","objectStyles":"Slogi objektov","styles":"Slog","cell":"Celica","cellDelete":"Izbriši celice","cellInsertAfter":"Vstavi celico za","cellInsertBefore":"Vstavi celico pred","cellMerge":"Združi celice","cellMergeDown":"Združi navzdol","cellMergeRight":"Združi desno","cellSplitHorizontal":"Razdeli celico vodoravno","cellSplitVertical":"Razdeli celico navpično","column":"Stolpec","columnDelete":"Izbriši stolpce","columnInsertAfter":"Vstavi stolpec za","columnInsertBefore":"Vstavi stolpec pred","deleteTable":"Izbriši tabelo","headers":"Glave","headersBoth":"Oboje","headersColumn":"Prvi stolpec","headersNone":"Brez","headersRow":"Prva vrstica","row":"Vrstica","rowDelete":"Izbriši vrstice","rowInsertAfter":"Vstavi vrstico za","rowInsertBefore":"Vstavi vrstico pred","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sq.js b/src/lang/sq.js index 59ca6720d1..f1c2103d70 100644 --- a/src/lang/sq.js +++ b/src/lang/sq.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Qendër","alignJustify":"Zgjero","alignLeft":"Majtas","alignRight":"Djathtas","bold":"Trash","bulletedlist":"Vendos/Largo Listën me Pika","cancel":"Anulo","horizontalrule":"Vendos Vijë Horizontale","italic":"Pjerrët","numberedlist":"Vendos/Largo Listën me Numra","quote":"Citatet","removeformat":"Largo Formatin","strike":"Nëpërmes","subscript":"Nën-skriptë","superscript":"Super-skriptë","underline":"Nënvijëzuar","formatted":"Formatuar","h1":"Titulli 1","h2":"Titulli 2","normal":"Normal","indent":"Rrite Identin","outdent":"Zvogëlo Identin","blockStyles":"Stilet e Bllokut","inlineStyles":"Stili i Brendshëm","objectStyles":"Stilet e Objektit","styles":"Stil","cell":"Qeli","cellDelete":"Gris Qelitë","cellInsertAfter":"Shto Qeli Prapa","cellInsertBefore":"Shto Qeli Para","cellMerge":"Bashko Qelitë","cellMergeDown":"Bashko Poshtë","cellMergeRight":"Bashko Djathtas","cellSplitHorizontal":"Ndaj Qelinë Horizontalisht","cellSplitVertical":"Ndaj Qelinë Vertikalisht","column":"Kolona","columnDelete":"Gris Kolonat","columnInsertAfter":"Vendos Kolonë Pas","columnInsertBefore":"Vendos Kolonë Para","deleteTable":"Gris Tabelën","headers":"Kokat","headersBoth":"Së bashku","headersColumn":"Kolona e parë","headersNone":"Asnjë","headersRow":"Rreshti i Parë","row":"Rreshti","rowDelete":"Gris Rreshtat","rowInsertAfter":"Shto Rresht Prapa","rowInsertBefore":"Shto Rresht Para","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Qendër","alignJustify":"Zgjero","alignLeft":"Majtas","alignRight":"Djathtas","bold":"Trash","bulletedlist":"Vendos/Largo Listën me Pika","cancel":"Anulo","horizontalrule":"Vendos Vijë Horizontale","italic":"Pjerrët","numberedlist":"Vendos/Largo Listën me Numra","quote":"Citatet","removeformat":"Largo Formatin","strike":"Nëpërmes","subscript":"Nën-skriptë","superscript":"Super-skriptë","underline":"Nënvijëzuar","formatted":"Formatuar","h1":"Titulli 1","h2":"Titulli 2","normal":"Normal","indent":"Rrite Identin","outdent":"Zvogëlo Identin","blockStyles":"Stilet e Bllokut","inlineStyles":"Stili i Brendshëm","objectStyles":"Stilet e Objektit","styles":"Stil","cell":"Qeli","cellDelete":"Gris Qelitë","cellInsertAfter":"Shto Qeli Prapa","cellInsertBefore":"Shto Qeli Para","cellMerge":"Bashko Qelitë","cellMergeDown":"Bashko Poshtë","cellMergeRight":"Bashko Djathtas","cellSplitHorizontal":"Ndaj Qelinë Horizontalisht","cellSplitVertical":"Ndaj Qelinë Vertikalisht","column":"Kolona","columnDelete":"Gris Kolonat","columnInsertAfter":"Vendos Kolonë Pas","columnInsertBefore":"Vendos Kolonë Para","deleteTable":"Gris Tabelën","headers":"Kokat","headersBoth":"Së bashku","headersColumn":"Kolona e parë","headersNone":"Asnjë","headersRow":"Rreshti i Parë","row":"Rreshti","rowDelete":"Gris Rreshtat","rowInsertAfter":"Shto Rresht Prapa","rowInsertBefore":"Shto Rresht Para","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sr-latn.js b/src/lang/sr-latn.js index d83a2e86d7..e3145e7eda 100644 --- a/src/lang/sr-latn.js +++ b/src/lang/sr-latn.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Sredina","alignJustify":"Obostrano ravnanje","alignLeft":"Levo","alignRight":"Desno","bold":"Podebljano","bulletedlist":"Nenabrojiva lista","cancel":"Otkaži","horizontalrule":"Unesi horizontalnu liniju","italic":"Kurziv","numberedlist":"Nabrojiva lista","quote":"Block Quote","removeformat":"Ukloni formatiranje","strike":"Precrtano","subscript":"Indeks","superscript":"Stepen","underline":"Podvučeno","formatted":"Formatirano","h1":"Naslov 1","h2":"Naslov 2","normal":"Normal","indent":"Uvećaj levu marginu","outdent":"Smanji levu marginu","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Cell","cellDelete":"Obriši ćelije","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Spoj celije","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Obriši kolone","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Izbriši tabelu","headers":"Zaglavlja","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"None","headersRow":"Prvi red","row":"Row","rowDelete":"Obriši redove","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Sredina","alignJustify":"Obostrano ravnanje","alignLeft":"Levo","alignRight":"Desno","bold":"Podebljano","bulletedlist":"Nenabrojiva lista","cancel":"Otkaži","horizontalrule":"Unesi horizontalnu liniju","italic":"Kurziv","numberedlist":"Nabrojiva lista","quote":"Block Quote","removeformat":"Ukloni formatiranje","strike":"Precrtano","subscript":"Indeks","superscript":"Stepen","underline":"Podvučeno","formatted":"Formatirano","h1":"Naslov 1","h2":"Naslov 2","normal":"Normal","indent":"Uvećaj levu marginu","outdent":"Smanji levu marginu","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Stil","cell":"Cell","cellDelete":"Obriši ćelije","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Spoj celije","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Obriši kolone","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Izbriši tabelu","headers":"Zaglavlja","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"None","headersRow":"Prvi red","row":"Row","rowDelete":"Obriši redove","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sr.js b/src/lang/sr.js index f7516774ae..deb1227473 100644 --- a/src/lang/sr.js +++ b/src/lang/sr.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Средина","alignJustify":"Обострано равнање","alignLeft":"Лево","alignRight":"Десно","bold":"Подебљано","bulletedlist":"Ненабројива листа","cancel":"Oткажи","horizontalrule":"Унеси хоризонталну линију","italic":"Курзив","numberedlist":"Набројиву листу","quote":"Block Quote","removeformat":"Уклони форматирање","strike":"Прецртано","subscript":"Индекс","superscript":"Степен","underline":"Подвучено","formatted":"Formatirano","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Увећај леву маргину","outdent":"Смањи леву маргину","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Стил","cell":"Cell","cellDelete":"Обриши ћелије","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Спој ћелије","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Обриши колоне","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Обриши таблу","headers":"Поглавља","headersBoth":"Оба","headersColumn":"Прва колона","headersNone":"None","headersRow":"Први ред","row":"Row","rowDelete":"Обриши редове","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Средина","alignJustify":"Обострано равнање","alignLeft":"Лево","alignRight":"Десно","bold":"Подебљано","bulletedlist":"Ненабројива листа","cancel":"Oткажи","horizontalrule":"Унеси хоризонталну линију","italic":"Курзив","numberedlist":"Набројиву листу","quote":"Block Quote","removeformat":"Уклони форматирање","strike":"Прецртано","subscript":"Индекс","superscript":"Степен","underline":"Подвучено","formatted":"Formatirano","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Увећај леву маргину","outdent":"Смањи леву маргину","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"Стил","cell":"Cell","cellDelete":"Обриши ћелије","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"Спој ћелије","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"Column","columnDelete":"Обриши колоне","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"Обриши таблу","headers":"Поглавља","headersBoth":"Оба","headersColumn":"Прва колона","headersNone":"None","headersRow":"Први ред","row":"Row","rowDelete":"Обриши редове","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/sv.js b/src/lang/sv.js index b2fc82a5f7..b8e5e2b743 100644 --- a/src/lang/sv.js +++ b/src/lang/sv.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Centrerad","alignJustify":"Justera till marginaler","alignLeft":"Vänster","alignRight":"Höger","bold":"Fet","bulletedlist":"Infoga/ta bort punktlista","cancel":"Avbryt","horizontalrule":"Infoga horisontal linje","italic":"Kursiv","numberedlist":"Infoga/ta bort numrerad lista","quote":"Blockcitat","removeformat":"Radera formatering","strike":"Genomstruken","subscript":"Nedsänkta tecken","superscript":"Upphöjda tecken","underline":"Understruken","formatted":"Formaterad","h1":"Rubrik 1","h2":"Rubrik 2","normal":"Normal","indent":"Öka indrag","outdent":"Minska indrag","blockStyles":"Blockstilar","inlineStyles":"Inbäddade stilar","objectStyles":"Objektstilar","styles":"Stilar","cell":"Cell","cellDelete":"Radera celler","cellInsertAfter":"Lägg till cell efter","cellInsertBefore":"Lägg till cell före","cellMerge":"Sammanfoga celler","cellMergeDown":"Sammanfoga ner","cellMergeRight":"Sammanfoga höger","cellSplitHorizontal":"Dela cell horisontellt","cellSplitVertical":"Dela cell vertikalt","column":"Kolumn","columnDelete":"Radera kolumn","columnInsertAfter":"Lägg till kolumn efter","columnInsertBefore":"Lägg till kolumn före","deleteTable":"Radera tabell","headers":"Rubriker","headersBoth":"Båda","headersColumn":"Första kolumnen","headersNone":"Ingen","headersRow":"Första raden","row":"Rad","rowDelete":"Radera rad","rowInsertAfter":"Lägg till rad efter","rowInsertBefore":"Lägg till rad före","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Centrerad","alignJustify":"Justera till marginaler","alignLeft":"Vänster","alignRight":"Höger","bold":"Fet","bulletedlist":"Infoga/ta bort punktlista","cancel":"Avbryt","horizontalrule":"Infoga horisontal linje","italic":"Kursiv","numberedlist":"Infoga/ta bort numrerad lista","quote":"Blockcitat","removeformat":"Radera formatering","strike":"Genomstruken","subscript":"Nedsänkta tecken","superscript":"Upphöjda tecken","underline":"Understruken","formatted":"Formaterad","h1":"Rubrik 1","h2":"Rubrik 2","normal":"Normal","indent":"Öka indrag","outdent":"Minska indrag","blockStyles":"Blockstilar","inlineStyles":"Inbäddade stilar","objectStyles":"Objektstilar","styles":"Stilar","cell":"Cell","cellDelete":"Radera celler","cellInsertAfter":"Lägg till cell efter","cellInsertBefore":"Lägg till cell före","cellMerge":"Sammanfoga celler","cellMergeDown":"Sammanfoga ner","cellMergeRight":"Sammanfoga höger","cellSplitHorizontal":"Dela cell horisontellt","cellSplitVertical":"Dela cell vertikalt","column":"Kolumn","columnDelete":"Radera kolumn","columnInsertAfter":"Lägg till kolumn efter","columnInsertBefore":"Lägg till kolumn före","deleteTable":"Radera tabell","headers":"Rubriker","headersBoth":"Båda","headersColumn":"Första kolumnen","headersNone":"Ingen","headersRow":"Första raden","row":"Rad","rowDelete":"Radera rad","rowInsertAfter":"Lägg till rad efter","rowInsertBefore":"Lägg till rad före","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/th.js b/src/lang/th.js index a0dfcb91a5..3dc29a9b71 100644 --- a/src/lang/th.js +++ b/src/lang/th.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"กึ่งกลาง","alignJustify":"நியாயப்படுத்தவும்","alignLeft":"ชิดซ้าย","alignRight":"ชิดขวา","bold":"ตัวหนา","bulletedlist":"ลำดับรายการแบบสัญลักษณ์","cancel":"ยกเลิก","horizontalrule":"แทรกเส้นคั่นบรรทัด","italic":"ตัวเอียง","numberedlist":"ลำดับรายการแบบตัวเลข","quote":"Block Quote","removeformat":"ล้างรูปแบบ","strike":"ตัวขีดเส้นทับ","subscript":"ตัวห้อย","superscript":"ตัวยก","underline":"ตัวขีดเส้นใต้","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"เพิ่มระยะย่อหน้า","outdent":"ลดระยะย่อหน้า","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"ลักษณะ","cell":"ช่องตาราง","cellDelete":"ลบช่อง","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"ผสานช่อง","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"คอลัมน์","columnDelete":"ลบสดมน์","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"ลบตาราง","headers":"ส่วนหัว","headersBoth":"ทั้งสองอย่าง","headersColumn":"คอลัมน์แรก","headersNone":"None","headersRow":"แถวแรก","row":"แถว","rowDelete":"ลบแถว","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"กึ่งกลาง","alignJustify":"நியாயப்படுத்தவும்","alignLeft":"ชิดซ้าย","alignRight":"ชิดขวา","bold":"ตัวหนา","bulletedlist":"ลำดับรายการแบบสัญลักษณ์","cancel":"ยกเลิก","horizontalrule":"แทรกเส้นคั่นบรรทัด","italic":"ตัวเอียง","numberedlist":"ลำดับรายการแบบตัวเลข","quote":"Block Quote","removeformat":"ล้างรูปแบบ","strike":"ตัวขีดเส้นทับ","subscript":"ตัวห้อย","superscript":"ตัวยก","underline":"ตัวขีดเส้นใต้","formatted":"Formatted","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"เพิ่มระยะย่อหน้า","outdent":"ลดระยะย่อหน้า","blockStyles":"Block Styles","inlineStyles":"Inline Styles","objectStyles":"Object Styles","styles":"ลักษณะ","cell":"ช่องตาราง","cellDelete":"ลบช่อง","cellInsertAfter":"Insert Cell After","cellInsertBefore":"Insert Cell Before","cellMerge":"ผสานช่อง","cellMergeDown":"Merge Down","cellMergeRight":"Merge Right","cellSplitHorizontal":"Split Cell Horizontally","cellSplitVertical":"Split Cell Vertically","column":"คอลัมน์","columnDelete":"ลบสดมน์","columnInsertAfter":"Insert Column After","columnInsertBefore":"Insert Column Before","deleteTable":"ลบตาราง","headers":"ส่วนหัว","headersBoth":"ทั้งสองอย่าง","headersColumn":"คอลัมน์แรก","headersNone":"None","headersRow":"แถวแรก","row":"แถว","rowDelete":"ลบแถว","rowInsertAfter":"Insert Row After","rowInsertBefore":"Insert Row Before","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/tr.js b/src/lang/tr.js index dad5ca6696..782b908d5e 100644 --- a/src/lang/tr.js +++ b/src/lang/tr.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Ortala","alignJustify":"İki Kenara Yaslanmış","alignLeft":"Sol","alignRight":"Sağ","bold":"Kalın","bulletedlist":"Simgeli Liste","cancel":"İptal","horizontalrule":"Yatay Satır Ekle","italic":"İtalik","numberedlist":"Numaralı Liste","quote":"Blok Oluştur","removeformat":"Biçimi Kaldır","strike":"Üstü Çizgili","subscript":"Alt Simge","superscript":"Üst Simge","underline":"Altı Çizgili","formatted":"Biçimli","h1":"Başlık 1","h2":"Başlık 2","normal":"Normal","indent":"Sekme Arttır","outdent":"Sekme Azalt","blockStyles":"Blok Stilleri","inlineStyles":"Inline Stilleri","objectStyles":"Nesne Stilleri","styles":"Biçem","cell":"Hücre","cellDelete":"Hücre Sil","cellInsertAfter":"Hücre Ekle - Sonra","cellInsertBefore":"Hücre Ekle - Önce","cellMerge":"Hücreleri Birleştir","cellMergeDown":"Birleştir - Aşağıdaki İle ","cellMergeRight":"Birleştir - Sağdaki İle ","cellSplitHorizontal":"Hücreyi Yatay Böl","cellSplitVertical":"Hücreyi Dikey Böl","column":"Sütun","columnDelete":"Sütun Sil","columnInsertAfter":"Kolon Ekle - Sonra","columnInsertBefore":"Kolon Ekle - Önce","deleteTable":"Tabloyu Sil","headers":"Başlıklar","headersBoth":"Her İkisi","headersColumn":"İlk Sütun","headersNone":"Yok","headersRow":"İlk Satır","row":"Satır","rowDelete":"Satır Sil","rowInsertAfter":"Satır Ekle - Sonra","rowInsertBefore":"Satır Ekle - Önce","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Ortala","alignJustify":"İki Kenara Yaslanmış","alignLeft":"Sol","alignRight":"Sağ","bold":"Kalın","bulletedlist":"Simgeli Liste","cancel":"İptal","horizontalrule":"Yatay Satır Ekle","italic":"İtalik","numberedlist":"Numaralı Liste","quote":"Blok Oluştur","removeformat":"Biçimi Kaldır","strike":"Üstü Çizgili","subscript":"Alt Simge","superscript":"Üst Simge","underline":"Altı Çizgili","formatted":"Biçimli","h1":"Başlık 1","h2":"Başlık 2","normal":"Normal","indent":"Sekme Arttır","outdent":"Sekme Azalt","blockStyles":"Blok Stilleri","inlineStyles":"Inline Stilleri","objectStyles":"Nesne Stilleri","styles":"Biçem","cell":"Hücre","cellDelete":"Hücre Sil","cellInsertAfter":"Hücre Ekle - Sonra","cellInsertBefore":"Hücre Ekle - Önce","cellMerge":"Hücreleri Birleştir","cellMergeDown":"Birleştir - Aşağıdaki İle ","cellMergeRight":"Birleştir - Sağdaki İle ","cellSplitHorizontal":"Hücreyi Yatay Böl","cellSplitVertical":"Hücreyi Dikey Böl","column":"Sütun","columnDelete":"Sütun Sil","columnInsertAfter":"Kolon Ekle - Sonra","columnInsertBefore":"Kolon Ekle - Önce","deleteTable":"Tabloyu Sil","headers":"Başlıklar","headersBoth":"Her İkisi","headersColumn":"İlk Sütun","headersNone":"Yok","headersRow":"İlk Satır","row":"Satır","rowDelete":"Satır Sil","rowInsertAfter":"Satır Ekle - Sonra","rowInsertBefore":"Satır Ekle - Önce","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/tt.js b/src/lang/tt.js index 2880f0af15..1e5fc369d6 100644 --- a/src/lang/tt.js +++ b/src/lang/tt.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Үзәккә","alignJustify":"Киңлеккә карап тигезләү","alignLeft":"Сул якка","alignRight":"Уң якка","bold":"Калын","bulletedlist":"Маркерлы тезмә өстәү/бетерү","cancel":"Баш тарту","horizontalrule":"Ятма сызык өстәү","italic":"Курсив","numberedlist":" Номерланган тезмә өстәү/бетерү","quote":"Өземтә блогы","removeformat":"Форматлауны бетерү","strike":"Сызылган","subscript":"Аскы индекс","superscript":"Өске индекс","underline":"Астына сызылган","formatted":"Форматлаулы","h1":"Башлам 1","h2":"Башлам 2","normal":"Гади","indent":"Отступны арттыру","outdent":"Отступны кечерәйтү","blockStyles":"Блоклар стильләре","inlineStyles":"Эчке стильләр","objectStyles":"Объектлар стильләре","styles":"Стильләр","cell":"Күзәнәк","cellDelete":"Күзәнәкләрне бетерү","cellInsertAfter":"Артына күзәнәк өстәү","cellInsertBefore":"Алдына күзәнәк өстәү","cellMerge":"Күзәнәкләрне берләштерү","cellMergeDown":"Астагы белән берләштерү","cellMergeRight":"Уң яктагы белән берләштерү","cellSplitHorizontal":"Күзәнәкне юлларга бүлү","cellSplitVertical":"Күзәнәкне баганаларга бүлү","column":"Багана","columnDelete":"Баганаларны бетерү","columnInsertAfter":"Уңнан баганалар өстәү","columnInsertBefore":"Сулдан баганалар өстәү","deleteTable":"Таблицаны бетерү","headers":"Башлыклар","headersBoth":"Икесе дә","headersColumn":"Беренче багана","headersNone":"Һичбер","headersRow":"Беренче юл","row":"Юл","rowDelete":"Юлларны бетерү","rowInsertAfter":"Астан юллар өстәү","rowInsertBefore":"Өстән юллар өстәү","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Үзәккә","alignJustify":"Киңлеккә карап тигезләү","alignLeft":"Сул якка","alignRight":"Уң якка","bold":"Калын","bulletedlist":"Маркерлы тезмә өстәү/бетерү","cancel":"Баш тарту","horizontalrule":"Ятма сызык өстәү","italic":"Курсив","numberedlist":" Номерланган тезмә өстәү/бетерү","quote":"Өземтә блогы","removeformat":"Форматлауны бетерү","strike":"Сызылган","subscript":"Аскы индекс","superscript":"Өске индекс","underline":"Астына сызылган","formatted":"Форматлаулы","h1":"Башлам 1","h2":"Башлам 2","normal":"Normal","indent":"Отступны арттыру","outdent":"Отступны кечерәйтү","blockStyles":"Блоклар стильләре","inlineStyles":"Эчке стильләр","objectStyles":"Объектлар стильләре","styles":"Стильләр","cell":"Күзәнәк","cellDelete":"Күзәнәкләрне бетерү","cellInsertAfter":"Артына күзәнәк өстәү","cellInsertBefore":"Алдына күзәнәк өстәү","cellMerge":"Күзәнәкләрне берләштерү","cellMergeDown":"Астагы белән берләштерү","cellMergeRight":"Уң яктагы белән берләштерү","cellSplitHorizontal":"Күзәнәкне юлларга бүлү","cellSplitVertical":"Күзәнәкне баганаларга бүлү","column":"Багана","columnDelete":"Баганаларны бетерү","columnInsertAfter":"Уңнан баганалар өстәү","columnInsertBefore":"Сулдан баганалар өстәү","deleteTable":"Таблицаны бетерү","headers":"Башлыклар","headersBoth":"Икесе дә","headersColumn":"Беренче багана","headersNone":"Һичбер","headersRow":"Беренче юл","row":"Юл","rowDelete":"Юлларны бетерү","rowInsertAfter":"Астан юллар өстәү","rowInsertBefore":"Өстән юллар өстәү","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/ug.js b/src/lang/ug.js index 8767ee1489..9a032bce19 100644 --- a/src/lang/ug.js +++ b/src/lang/ug.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"ئوتتۇرا","alignJustify":"ئىككى تەرەپتىن توغرىلا","alignLeft":"سول","alignRight":"ئوڭ","bold":"توم","bulletedlist":"تۈر بەلگە تىزىمى","cancel":"ۋاز كەچ","horizontalrule":"توغرا سىزىق قىستۇر","italic":"يانتۇ","numberedlist":"تەرتىپ نومۇر تىزىمى","quote":"بۆلەك نەقىل","removeformat":"پىچىمنى چىقىرىۋەت","strike":"ئۆچۈرۈش سىزىقى","subscript":"تۆۋەن ئىندېكس","superscript":"يۇقىرى ئىندېكس","underline":"ئاستى سىزىق","formatted":"تىزىلغان پىچىم","h1":"ماۋزۇ 1","h2":"ماۋزۇ 2","normal":"ئادەتتىكى","indent":"تارايت","outdent":"كەڭەيت","blockStyles":"بۆلەك دەرىجىسىدىكى ئېلېمېنت ئۇسلۇبى","inlineStyles":"ئىچكى باغلانما ئېلېمېنت ئۇسلۇبى","objectStyles":"نەڭ (Object) ئېلېمېنت ئۇسلۇبى","styles":"ئۇسلۇب","cell":"كاتەكچە","cellDelete":"كەتەكچە ئۆچۈر","cellInsertAfter":"ئوڭغا كاتەكچە قىستۇر","cellInsertBefore":"سولغا كاتەكچە قىستۇر","cellMerge":"كاتەكچە بىرلەشتۈر","cellMergeDown":"كاتەكچىنى ئاستىغا بىرلەشتۈر","cellMergeRight":"كاتەكچىنى ئوڭغا بىرلەشتۈر","cellSplitHorizontal":"كاتەكچىنى توغرىسىغا بىرلەشتۈر","cellSplitVertical":"كاتەكچىنى بويىغا بىرلەشتۈر","column":"ئىستون","columnDelete":"ئىستون ئۆچۈر","columnInsertAfter":"ئوڭغا ئىستون قىستۇر","columnInsertBefore":"سولغا ئىستون قىستۇر","deleteTable":"جەدۋەل ئۆچۈر","headers":"ماۋزۇ كاتەكچە","headersBoth":"بىرىنچى ئىستون ۋە بىرىنچى قۇر","headersColumn":"بىرىنچى ئىستون","headersNone":"يوق","headersRow":"بىرىنچى قۇر","row":"قۇر","rowDelete":"قۇر ئۆچۈر","rowInsertAfter":"ئاستىغا قۇر قىستۇر","rowInsertBefore":"ئۈستىگە قۇر قىستۇر","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"ئوتتۇرا","alignJustify":"ئىككى تەرەپتىن توغرىلا","alignLeft":"سول","alignRight":"ئوڭ","bold":"توم","bulletedlist":"تۈر بەلگە تىزىمى","cancel":"ۋاز كەچ","horizontalrule":"توغرا سىزىق قىستۇر","italic":"يانتۇ","numberedlist":"تەرتىپ نومۇر تىزىمى","quote":"بۆلەك نەقىل","removeformat":"پىچىمنى چىقىرىۋەت","strike":"ئۆچۈرۈش سىزىقى","subscript":"تۆۋەن ئىندېكس","superscript":"يۇقىرى ئىندېكس","underline":"ئاستى سىزىق","formatted":"تىزىلغان پىچىم","h1":"ماۋزۇ 1","h2":"ماۋزۇ 2","normal":"Normal","indent":"تارايت","outdent":"كەڭەيت","blockStyles":"بۆلەك دەرىجىسىدىكى ئېلېمېنت ئۇسلۇبى","inlineStyles":"ئىچكى باغلانما ئېلېمېنت ئۇسلۇبى","objectStyles":"نەڭ (Object) ئېلېمېنت ئۇسلۇبى","styles":"ئۇسلۇب","cell":"كاتەكچە","cellDelete":"كەتەكچە ئۆچۈر","cellInsertAfter":"ئوڭغا كاتەكچە قىستۇر","cellInsertBefore":"سولغا كاتەكچە قىستۇر","cellMerge":"كاتەكچە بىرلەشتۈر","cellMergeDown":"كاتەكچىنى ئاستىغا بىرلەشتۈر","cellMergeRight":"كاتەكچىنى ئوڭغا بىرلەشتۈر","cellSplitHorizontal":"كاتەكچىنى توغرىسىغا بىرلەشتۈر","cellSplitVertical":"كاتەكچىنى بويىغا بىرلەشتۈر","column":"ئىستون","columnDelete":"ئىستون ئۆچۈر","columnInsertAfter":"ئوڭغا ئىستون قىستۇر","columnInsertBefore":"سولغا ئىستون قىستۇر","deleteTable":"جەدۋەل ئۆچۈر","headers":"ماۋزۇ كاتەكچە","headersBoth":"بىرىنچى ئىستون ۋە بىرىنچى قۇر","headersColumn":"بىرىنچى ئىستون","headersNone":"يوق","headersRow":"بىرىنچى قۇر","row":"قۇر","rowDelete":"قۇر ئۆچۈر","rowInsertAfter":"ئاستىغا قۇر قىستۇر","rowInsertBefore":"ئۈستىگە قۇر قىستۇر","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/uk.js b/src/lang/uk.js index 91fc66aebe..0f0eeafccf 100644 --- a/src/lang/uk.js +++ b/src/lang/uk.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"По центру","alignJustify":"По ширині","alignLeft":"По лівому краю","alignRight":"По правому краю","bold":"Жирний","bulletedlist":"Маркірований список","cancel":"Скасувати","horizontalrule":"Горизонтальна лінія","italic":"Курсив","numberedlist":"Нумерований список","quote":"Цитата","removeformat":"Видалити форматування","strike":"Закреслений","subscript":"Нижній індекс","superscript":"Верхній індекс","underline":"Підкреслений","formatted":"Форматований","h1":"Заголовок 1","h2":"Заголовок 2","normal":"Нормальний","indent":"Збільшити відступ","outdent":"Зменшити відступ","blockStyles":"Блочні стилі","inlineStyles":"Рядкові стилі","objectStyles":"Об'єктні стилі","styles":"Стиль","cell":"Комірки","cellDelete":"Видалити комірки","cellInsertAfter":"Вставити комірку після","cellInsertBefore":"Вставити комірку перед","cellMerge":"Об'єднати комірки","cellMergeDown":"Об'єднати донизу","cellMergeRight":"Об'єднати справа","cellSplitHorizontal":"Розділити комірку по горизонталі","cellSplitVertical":"Розділити комірку по вертикалі","column":"Стовбці","columnDelete":"Видалити стовбці","columnInsertAfter":"Вставити стовбець після","columnInsertBefore":"Вставити стовбець перед","deleteTable":"Видалити таблицю","headers":"Заголовки стовбців/рядків","headersBoth":"Стовбці і рядки","headersColumn":"Стовбці","headersNone":"Без заголовків","headersRow":"Рядки","row":"Рядки","rowDelete":"Видалити рядки","rowInsertAfter":"Вставити рядок після","rowInsertBefore":"Вставити рядок перед","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"По центру","alignJustify":"По ширині","alignLeft":"По лівому краю","alignRight":"По правому краю","bold":"Жирний","bulletedlist":"Маркірований список","cancel":"Скасувати","horizontalrule":"Горизонтальна лінія","italic":"Курсив","numberedlist":"Нумерований список","quote":"Цитата","removeformat":"Видалити форматування","strike":"Закреслений","subscript":"Нижній індекс","superscript":"Верхній індекс","underline":"Підкреслений","formatted":"Форматований","h1":"Заголовок 1","h2":"Заголовок 2","normal":"Normal","indent":"Збільшити відступ","outdent":"Зменшити відступ","blockStyles":"Блочні стилі","inlineStyles":"Рядкові стилі","objectStyles":"Об'єктні стилі","styles":"Стиль","cell":"Комірки","cellDelete":"Видалити комірки","cellInsertAfter":"Вставити комірку після","cellInsertBefore":"Вставити комірку перед","cellMerge":"Об'єднати комірки","cellMergeDown":"Об'єднати донизу","cellMergeRight":"Об'єднати справа","cellSplitHorizontal":"Розділити комірку по горизонталі","cellSplitVertical":"Розділити комірку по вертикалі","column":"Стовбці","columnDelete":"Видалити стовбці","columnInsertAfter":"Вставити стовбець після","columnInsertBefore":"Вставити стовбець перед","deleteTable":"Видалити таблицю","headers":"Заголовки стовбців/рядків","headersBoth":"Стовбці і рядки","headersColumn":"Стовбці","headersNone":"Без заголовків","headersRow":"Рядки","row":"Рядки","rowDelete":"Видалити рядки","rowInsertAfter":"Вставити рядок після","rowInsertBefore":"Вставити рядок перед","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/vi.js b/src/lang/vi.js index f3f58131b0..8932b5c967 100644 --- a/src/lang/vi.js +++ b/src/lang/vi.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"Giữa","alignJustify":"Sắp chữ","alignLeft":"Trái","alignRight":"Phải","bold":"Đậm","bulletedlist":"Chèn/Xoá Danh sách không thứ tự","cancel":"Bỏ qua","horizontalrule":"Chèn đường phân cách ngang","italic":"Nghiêng","numberedlist":"Chèn/Xoá Danh sách có thứ tự","quote":"Khối trích dẫn","removeformat":"Xoá định dạng","strike":"Gạch xuyên ngang","subscript":"Chỉ số dưới","superscript":"Chỉ số trên","underline":"Gạch chân","formatted":"Đã thiết lập","h1":"Heading 1","h2":"Heading 2","normal":"Bình thường (P)","indent":"Dịch vào trong","outdent":"Dịch ra ngoài","blockStyles":"Kiểu khối","inlineStyles":"Kiểu trực tiếp","objectStyles":"Kiểu đối tượng","styles":"Kiểu","cell":"Ô","cellDelete":"Xoá ô","cellInsertAfter":"Chèn ô Phía sau","cellInsertBefore":"Chèn ô Phía trước","cellMerge":"Kết hợp ô","cellMergeDown":"Kết hợp xuống dưới","cellMergeRight":"Kết hợp sang phải","cellSplitHorizontal":"Phân tách ô theo chiều ngang","cellSplitVertical":"Phân tách ô theo chiều dọc","column":"Cột","columnDelete":"Xoá cột","columnInsertAfter":"Chèn cột phía sau","columnInsertBefore":"Chèn cột phía trước","deleteTable":"Xóa bảng","headers":"Đầu đề","headersBoth":"Cả hai","headersColumn":"Cột đầu tiên","headersNone":"Không có","headersRow":"Hàng đầu tiên","row":"Hàng","rowDelete":"Xoá hàng","rowInsertAfter":"Chèn hàng phía sau","rowInsertBefore":"Chèn hàng phía trước","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"Giữa","alignJustify":"Sắp chữ","alignLeft":"Trái","alignRight":"Phải","bold":"Đậm","bulletedlist":"Chèn/Xoá Danh sách không thứ tự","cancel":"Bỏ qua","horizontalrule":"Chèn đường phân cách ngang","italic":"Nghiêng","numberedlist":"Chèn/Xoá Danh sách có thứ tự","quote":"Khối trích dẫn","removeformat":"Xoá định dạng","strike":"Gạch xuyên ngang","subscript":"Chỉ số dưới","superscript":"Chỉ số trên","underline":"Gạch chân","formatted":"Đã thiết lập","h1":"Heading 1","h2":"Heading 2","normal":"Normal","indent":"Dịch vào trong","outdent":"Dịch ra ngoài","blockStyles":"Kiểu khối","inlineStyles":"Kiểu trực tiếp","objectStyles":"Kiểu đối tượng","styles":"Kiểu","cell":"Ô","cellDelete":"Xoá ô","cellInsertAfter":"Chèn ô Phía sau","cellInsertBefore":"Chèn ô Phía trước","cellMerge":"Kết hợp ô","cellMergeDown":"Kết hợp xuống dưới","cellMergeRight":"Kết hợp sang phải","cellSplitHorizontal":"Phân tách ô theo chiều ngang","cellSplitVertical":"Phân tách ô theo chiều dọc","column":"Cột","columnDelete":"Xoá cột","columnInsertAfter":"Chèn cột phía sau","columnInsertBefore":"Chèn cột phía trước","deleteTable":"Xóa bảng","headers":"Đầu đề","headersBoth":"Cả hai","headersColumn":"Cột đầu tiên","headersNone":"Không có","headersRow":"Hàng đầu tiên","row":"Hàng","rowDelete":"Xoá hàng","rowInsertAfter":"Chèn hàng phía sau","rowInsertBefore":"Chèn hàng phía trước","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/zh-cn.js b/src/lang/zh-cn.js index 8433154f5f..29adc505ca 100644 --- a/src/lang/zh-cn.js +++ b/src/lang/zh-cn.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"居中","alignJustify":"两端对齐","alignLeft":"左对齐","alignRight":"右对齐","bold":"加粗","bulletedlist":"项目列表","cancel":"取消","horizontalrule":"插入水平线","italic":"倾斜","numberedlist":"编号列表","quote":"块引用","removeformat":"清除格式","strike":"删除线","subscript":"下标","superscript":"上标","underline":"下划线","formatted":"已编排格式","h1":"标题 1","h2":"标题 2","normal":"普通","indent":"增加缩进量","outdent":"减少缩进量","blockStyles":"块级元素样式","inlineStyles":"内联元素样式","objectStyles":"对象元素样式","styles":"样式","cell":"单元格","cellDelete":"删除单元格","cellInsertAfter":"在右侧插入单元格","cellInsertBefore":"在左侧插入单元格","cellMerge":"合并单元格","cellMergeDown":"向下合并单元格","cellMergeRight":"向右合并单元格","cellSplitHorizontal":"水平拆分单元格","cellSplitVertical":"垂直拆分单元格","column":"列","columnDelete":"删除列","columnInsertAfter":"在右侧插入列","columnInsertBefore":"在左侧插入列","deleteTable":"删除表格","headers":"标题单元格","headersBoth":"第一列和第一行","headersColumn":"第一列","headersNone":"无","headersRow":"第一行","row":"行","rowDelete":"删除行","rowInsertAfter":"在下方插入行","rowInsertBefore":"在上方插入行","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"居中","alignJustify":"两端对齐","alignLeft":"左对齐","alignRight":"右对齐","bold":"加粗","bulletedlist":"项目列表","cancel":"取消","horizontalrule":"插入水平线","italic":"倾斜","numberedlist":"编号列表","quote":"块引用","removeformat":"清除格式","strike":"删除线","subscript":"下标","superscript":"上标","underline":"下划线","formatted":"已编排格式","h1":"标题 1","h2":"标题 2","normal":"Normal","indent":"增加缩进量","outdent":"减少缩进量","blockStyles":"块级元素样式","inlineStyles":"内联元素样式","objectStyles":"对象元素样式","styles":"样式","cell":"单元格","cellDelete":"删除单元格","cellInsertAfter":"在右侧插入单元格","cellInsertBefore":"在左侧插入单元格","cellMerge":"合并单元格","cellMergeDown":"向下合并单元格","cellMergeRight":"向右合并单元格","cellSplitHorizontal":"水平拆分单元格","cellSplitVertical":"垂直拆分单元格","column":"列","columnDelete":"删除列","columnInsertAfter":"在右侧插入列","columnInsertBefore":"在左侧插入列","deleteTable":"删除表格","headers":"标题单元格","headersBoth":"第一列和第一行","headersColumn":"第一列","headersNone":"无","headersRow":"第一行","row":"行","rowDelete":"删除行","rowInsertAfter":"在下方插入行","rowInsertBefore":"在上方插入行","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/lang/zh.js b/src/lang/zh.js index 240a0570e7..0434f5c95a 100644 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -1 +1 @@ -AlloyEditor.Strings = {"alignCenter":"置中對齊","alignJustify":"左右對齊","alignLeft":"靠左對齊","alignRight":"靠右對齊","bold":"粗體","bulletedlist":"插入/移除項目符號清單","cancel":"取消","horizontalrule":"插入水平線","italic":"斜體","numberedlist":"插入/移除編號清單清單","quote":"引用段落","removeformat":"移除格式","strike":"刪除線","subscript":"下標","superscript":"上標","underline":"底線","formatted":"格式設定","h1":"標題 1","h2":"標題 2","normal":"標準","indent":"增加縮排","outdent":"減少縮排","blockStyles":"區塊樣式","inlineStyles":"內嵌樣式","objectStyles":"物件樣式","styles":"樣式","cell":"儲存格","cellDelete":"刪除儲存格","cellInsertAfter":"後方插入儲存格","cellInsertBefore":"前方插入儲存格","cellMerge":"合併儲存格","cellMergeDown":"向下合併","cellMergeRight":"向右合併","cellSplitHorizontal":"水平分割儲存格","cellSplitVertical":"垂直分割儲存格","column":"行","columnDelete":"刪除行","columnInsertAfter":"右方插入行","columnInsertBefore":"左方插入行","deleteTable":"刪除表格","headers":"頁首","headersBoth":"同時","headersColumn":"第一行","headersNone":"無","headersRow":"第一列","row":"列","rowDelete":"刪除列","rowInsertAfter":"下方插入列","rowInsertBefore":"上方插入列","add":"Add","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","code":"Code","columns":"Cols","confirm":"Confirm","deleteEmbed":"Delete embed","editLink":"Type or paste link here","image":"Insert Image","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","removeLink":"Remove link","rows":"Rows","table":"Insert Table"}; \ No newline at end of file +AlloyEditor.Strings = {"alignCenter":"置中對齊","alignJustify":"左右對齊","alignLeft":"靠左對齊","alignRight":"靠右對齊","bold":"粗體","bulletedlist":"插入/移除項目符號清單","cancel":"取消","horizontalrule":"插入水平線","italic":"斜體","numberedlist":"插入/移除編號清單清單","quote":"引用段落","removeformat":"移除格式","strike":"刪除線","subscript":"下標","superscript":"上標","underline":"底線","formatted":"格式設定","h1":"標題 1","h2":"標題 2","normal":"Normal","indent":"增加縮排","outdent":"減少縮排","blockStyles":"區塊樣式","inlineStyles":"內嵌樣式","objectStyles":"物件樣式","styles":"樣式","cell":"儲存格","cellDelete":"刪除儲存格","cellInsertAfter":"後方插入儲存格","cellInsertBefore":"前方插入儲存格","cellMerge":"合併儲存格","cellMergeDown":"向下合併","cellMergeRight":"向右合併","cellSplitHorizontal":"水平分割儲存格","cellSplitVertical":"垂直分割儲存格","column":"行","columnDelete":"刪除行","columnInsertAfter":"右方插入行","columnInsertBefore":"左方插入行","deleteTable":"刪除表格","headers":"頁首","headersBoth":"同時","headersColumn":"第一行","headersNone":"無","headersRow":"第一列","row":"列","rowDelete":"刪除列","rowInsertAfter":"下方插入列","rowInsertBefore":"上方插入列","add":"Add","ariaUpdateManyToolbars":"{toolbars} toolbars are available. Press ALT+F10 to focus.","ariaUpdateNoToolbar":"No toolbars are available","ariaUpdateOneToolbar":"{toolbars} toolbar is available. Press ALT+F10 to focus.","camera":"Insert Image from Camera","cameraDisabled":"The browser does not support this action, or it is available on https only (Chrome).","cite":"Cite","clearInput":"Clear Input Field","clear":"Clear","code":"Code","columns":"Cols","confirm":"Confirm","danger":"Danger","deleteEmbed":"Delete embed","disabled":"Disabled","editLink":"Type or paste link here","enterValidUrl":"Please enter a valid url","image":"Insert Image","info":"Info","link":"Link","linkTargetBlank":"_blank (new tab)","linkTargetDefault":"default","linkTargetParent":"_parent","linkTargetSelf":"_self (same tab)","linkTargetTop":"_top","pasteVideoLink":"Paste Video Link","platformNotSupported":"Sorry, this platform is not supported","primary":"Primary","removeLink":"Remove link","rows":"Rows","success":"Success","table":"Insert Table","videoPlaybackDisabled":"Video playback is disabled during edit mode","warning":"Warning"}; \ No newline at end of file diff --git a/src/plugins/DragEvent.es.js b/src/plugins/DragEvent.es.js new file mode 100644 index 0000000000..53293e2523 --- /dev/null +++ b/src/plugins/DragEvent.es.js @@ -0,0 +1,99 @@ +class DragEvent { + constructor(window, document) { + this.document = document; + this.window = window; + + this.events = { + keydown: this.keydown.bind(this), + mousemove: this.mousemove.bind(this), + mouseup: this.mouseup.bind(this) + }; + } + + start(event) { + event.preventDefault(); + event.stopPropagation(); + + this.target = event.target; + + this.className = this.target.className; + + this.startPos = { + x: event.clientX, + y: event.clientY + }; + + this.update(event); + + this.document.addEventListener('keydown', this.events.keydown, false); + this.document.addEventListener('mousemove', this.events.mousemove, false); + this.document.addEventListener('mouseup', this.events.mouseup, false); + + this.document.body.classList.add(`dragging-${this.className}`); + + if (typeof this.onStart === 'function') { + this.onStart(); + } + } + + update(event) { + this.currentPos = { + x: event.clientX, + y: event.clientY + }; + + this.delta = { + x: event.clientX - this.startPos.x, + y: event.clientY - this.startPos.y + }; + + this.keys = { + alt: event.altKey, + ctrl: event.ctrlKey, + shift: event.shiftKey + }; + } + + mousemove(event) { + this.update(event); + + if (typeof this.onDrag === 'function') { + this.onDrag(); + } + + if (event.which === 0) { + this.mouseup(event); + } + } + + keydown(event) { + if (event.keyCode === 27) { + this.release(); + } + } + + mouseup(event) { + this.update(event); + + this.release(); + + if (typeof this.onComplete === 'function') { + this.onComplete(); + } + } + + release() { + this.document.body.classList.remove(`dragging-${this.className}`); + + this.document.removeEventListener('keydown', this.events.keydown, false); + this.document.removeEventListener('mousemove', this.events.mousemove, false); + this.document.removeEventListener('mouseup', this.events.mouseup, false); + + if (typeof this.onRelease === 'function') { + this.onRelease(); + } + } +} + +export {DragEvent}; +export default DragEvent; \ No newline at end of file diff --git a/src/plugins/Resizer.es.js b/src/plugins/Resizer.es.js new file mode 100644 index 0000000000..5c72f701f8 --- /dev/null +++ b/src/plugins/Resizer.es.js @@ -0,0 +1,292 @@ +import DragEvent from './DragEvent.es'; + +const IMAGE_HANDLES = ['tl', 'tr', 'bl', 'br']; + +const POSITION_ELEMENT_FN = { + bl(handle, left, top, box) { + positionElement(handle, -3 + left, box.height - 4 + top); + }, + br(handle, left, top, box) { + positionElement(handle, box.width - 4 + left, box.height - 4 + top); + }, + rm(handle, left, top, box) { + positionElement(handle, box.width - 4 + left, Math.round(box.height / 2) - 3 + top); + }, + tl(handle, left, top, box) { + positionElement(handle, left - 3, top - 3); + }, + tr(handle, left, top, box) { + positionElement(handle, box.width - 4 + left, -3 + top); + } +}; + +const positionElement = (el, left, top) => { + el.style.left = `${left}px`; + el.style.top = `${top}px`; +}; + +const getBoundingBox = (window, el) => { + const rect = el.getBoundingClientRect(); + + return { + height: rect.height, + left: rect.left + window.pageXOffset, + top: rect.top + window.pageYOffset, + width: rect.width + }; +}; + +class Resizer { + constructor(editor, cfg = {}) { + this.cfg = cfg; + this.editor = editor; + + this.document = editor.document ? editor.document.$ : document; + this.window = editor.window ? editor.window.$ : window; + + this.box = null; + this.container = null; + this.handles = {}; + this.preview = null; + this.previewBox = null; + this.result = null; + + this.init(); + } + + init() { + this.container = this.document.createElement('div'); + this.container.id = 'ckimgrsz'; + + this.preview = this.document.createElement('span'); + + this.container.appendChild(this.preview); + + this.handles = {}; + + IMAGE_HANDLES.forEach( + (handleName, index) => { + this.handles[handleName] = this.createHandle(handleName); + } + ); + + const keys = Object.keys(this.handles); + + for (let i = 0; i < keys.length; i++) { + this.container.appendChild(this.handles[keys[i]]); + } + } + + createHandle(name) { + const el = this.document.createElement('i'); + + el.classList.add(name); + + return el; + } + + isHandle(el) { + const keys = Object.keys(this.handles); + + let result = false; + + for (let i = 0; i < keys.length; i++) { + if (this.handles[keys[i]] === el) { + result = true; + } + } + + return result; + } + + show(el) { + const uiNode = this.editor.config.uiNode || document.body; + + this.el = el; + + this.box = getBoundingBox(this.window, this.el); + + positionElement(this.container, this.box.left, this.box.top + uiNode.scrollTop); + + uiNode.appendChild(this.container); + + this.el.classList.add('ckimgrsz'); + + this.showHandles(); + } + + hide() { + const elements = this.document.getElementsByClassName('ckimgrsz'); + + for (let i = 0; i < elements.length; i++) { + elements[i].classList.remove('ckimgrsz'); + } + + this.hideHandles(); + + if (this.container.parentNode) { + this.container.parentNode.removeChild(this.container); + } + } + + initDrag(event) { + if (event.button !== 0) { + return; + } + + const drag = new DragEvent(this.window, this.document); + + drag.onStart = () => { + this.showPreview(); + + this.isDragging = true; + + this.editor.getSelection().lock(); + }; + + drag.onDrag = () => { + this.calculateSize(drag); + + const editorBounds = this.editor.element.$.getBoundingClientRect(); + + if (this.previewBox.width >= editorBounds.width) { + return; + } + + this.updatePreview(); + + const box = this.previewBox; + + this.updateHandles(box, box.left, box.top); + }; + + drag.onRelease = () => { + this.hidePreview(); + + this.isDragging = false; + + this.hide(); + + this.editor.getSelection().unlock(); + + this.editor.fire('saveSnapshot'); + }; + + drag.onComplete = () => { + this.resizeComplete(); + + this.editor.fire('saveSnapshot'); + }; + + drag.start(event); + } + + updateHandles(box, left = 0, top = 0) { + const keys = Object.keys(this.handles); + + for (let i = 0; i < keys.length; i++) { + POSITION_ELEMENT_FN[keys[i]](this.handles[keys[i]], left, top, box); + } + } + + showHandles() { + this.updateHandles(this.box); + + const keys = Object.keys(this.handles); + + for (let i = 0; i < keys.length; i++) { + this.handles[keys[i]].style.display = 'block'; + } + } + + hideHandles() { + const keys = Object.keys(this.handles); + + for (let i = 0; i < keys.length; i++) { + this.handles[keys[i]].style.display = 'none'; + } + } + + showPreview() { + this.calculateSize(); + + this.updatePreview(); + + this.preview.style.display = 'block'; + } + + updatePreview() { + positionElement(this.preview, this.previewBox.left, this.previewBox.top); + + this.preview.style.height = `${this.previewBox.height}px`; + this.preview.style.width = `${this.previewBox.width}px`; + } + + hidePreview() { + const box = getBoundingBox(this.window, this.preview); + + this.result = { + height: box.height, + width: box.width + }; + + this.preview.style.display = 'none'; + } + + calculateSize(data) { + this.previewBox = { + height: this.box.height, + left: 0, + top: 0, + width: this.box.width + }; + + if (!data) { + return; + } + + const className = data.target.className; + + if (className.indexOf('r') >= 0) { + this.previewBox.width = Math.max(32, this.box.width + data.delta.x); + } + + if (className.indexOf('b') >= 0) { + this.previewBox.height = Math.max(32, this.box.height + data.delta.y); + } + + if (className.indexOf('l') >= 0) { + this.previewBox.width = Math.max(32, this.box.width - data.delta.x); + } + + if (className.indexOf('t') >= 0) { + this.previewBox.height = Math.max(32, this.box.height - data.delta.y); + } + + if (className.indexOf('m') < 0 && !data.keys.shift) { + const ratio = this.box.width / this.box.height; + + if (this.previewBox.width / this.previewBox.height > ratio) { + this.previewBox.height = Math.round(this.previewBox.width / ratio); + } + else { + this.previewBox.width = Math.round(this.previewBox.height * ratio); + } + } + + if (className.indexOf('l') >= 0) { + this.previewBox.left = this.box.width - this.previewBox.width; + } + + if (className.indexOf('t') >= 0) { + this.previewBox.top = this.box.height - this.previewBox.height; + } + } + + resizeComplete() { + this.cfg.onComplete(this.el, this.result.width, this.result.height); + } +} + +export {Resizer}; +export default Resizer; \ No newline at end of file diff --git a/src/plugins/embedurl.js b/src/plugins/embedurl.js new file mode 100644 index 0000000000..8b4826605f --- /dev/null +++ b/src/plugins/embedurl.js @@ -0,0 +1,609 @@ +import Resizer from './Resizer.es'; + +if (!CKEDITOR.plugins.get('embedurl')) { + const REGEX_HTTP = /^https?/; + + CKEDITOR.DEFAULT_LFR_EMBED_WIDGET_TPL = '
    {content}
    {helpMessageIcon} {helpMessage}

    '; + + /** + * Enum for supported embed alignments + * @type {Object} + */ + + const EMBED_ALIGNMENT = { + CENTER: 'center', + LEFT: 'left', + RIGHT: 'right' + }; + + /** + * Enum values for supported embed alignments + * @type {Array} + */ + + const ALIGN_VALUES = [ + EMBED_ALIGNMENT.CENTER, + EMBED_ALIGNMENT.LEFT, + EMBED_ALIGNMENT.RIGHT + ]; + + /** + * Necessary styles for the center alignment + * @type {Array.} + */ + + const CENTERED_EMBED_STYLE = [ + { + name: 'display', + value: 'block' + }, + { + name: 'margin-left', + value: 'auto' + }, + { + name: 'margin-right', + value: 'auto' + } + ]; + + /** + * Retrieves the alignment value of an embed element. + * + * @param {CKEDITOR.dom.element} embed The embed element + * @return {String} The alignment value + */ + + const getEmbedAlignment = function(embed) { + let embedAlignment = embed.getStyle('float'); + + if (!embedAlignment || embedAlignment === 'inherit' || embedAlignment === 'none') { + embedAlignment = embed.getAttribute('align'); + } + + if (!embedAlignment) { + const centeredEmbed = CENTERED_EMBED_STYLE.every( + style => { + let styleCheck = embed.getStyle(style.name) === style.value; + + if (!styleCheck && style.vendorPrefixes) { + styleCheck = style.vendorPrefixes.some( + vendorPrefix => embed.getStyle(vendorPrefix + style.name) === style.value + ); + } + + return styleCheck; + } + ); + + embedAlignment = centeredEmbed ? EMBED_ALIGNMENT.CENTER : null; + } + + return embedAlignment; + }; + + /** + * Removes the alignment value of an embed + * + * @param {CKEDITOR.dom.element} embed The embed element + * @param {String} embedAlignment The embed alignment value to be removed + */ + + const removeEmbedAlignment = function(embed, embedAlignment) { + if (embedAlignment === EMBED_ALIGNMENT.LEFT || embedAlignment === EMBED_ALIGNMENT.RIGHT) { + embed.removeStyle('float'); + + if (embedAlignment === getEmbedAlignment(embed)) { + embed.removeAttribute('align'); + } + } + else if (embedAlignment === EMBED_ALIGNMENT.CENTER) { + CENTERED_EMBED_STYLE.forEach( + style => { + embed.removeStyle(style.name); + + if (style.vendorPrefixes) { + style.vendorPrefixes.forEach( + vendorPrefix => embed.removeStyle(vendorPrefix + style.name) + ); + } + } + ); + } + }; + + /** + * Sets the alignment value of an embed + * + * @param {CKEDITOR.dom.element} embed The embed element + * @param {String} embedAlignment The embed alignment value to be set + */ + + const setEmbedAlignment = function(embed, embedAlignment) { + removeEmbedAlignment( + embed, + getEmbedAlignment(embed) + ); + + if (embedAlignment === EMBED_ALIGNMENT.LEFT || embedAlignment === EMBED_ALIGNMENT.RIGHT) { + embed.setStyle('float', embedAlignment); + } + else if (embedAlignment === EMBED_ALIGNMENT.CENTER) { + CENTERED_EMBED_STYLE.forEach( + style => { + embed.setStyle(style.name, style.value); + + if (style.vendorPrefixes) { + style.vendorPrefixes.forEach( + vendorPrefix => embed.setStyle(vendorPrefix + style.name, style.value) + ); + } + } + ); + } + }; + + const getSelectedElement = function(editor) { + const result = { + alignment: null, + element: null + }; + + const selection = editor.getSelection(); + + if (selection) { + const selectedElement = selection.getSelectedElement(); + + if (selectedElement && selectedElement.getAttribute('data-cke-widget-wrapper')) { + result.alignment = getEmbedAlignment(selectedElement); + result.element = selectedElement; + } + } + + return result; + }; + + const resizeElement = function(el, width, height) { + const wrapperElement = el.parentElement; + + if (wrapperElement && (width > 0) && (height > 0)) { + const rect = wrapperElement.getBoundingClientRect(); + + const pwidth = width >= rect.width ? 100 : Math.floor((width / rect.width) * 100); + const style = `width:${pwidth}%;`; + + wrapperElement.setAttribute('style', style); + + const widgetElement = wrapperElement.querySelector('[data-widget="embedurl"]'); + + if (widgetElement) { + let styles = JSON.parse(widgetElement.getAttribute('data-styles')) || {}; + + styles.width = `${width}px`; + styles.height = `${height}px`; + + widgetElement.setAttribute('data-styles', JSON.stringify(styles)); + + const iframeElement = widgetElement.querySelector('iframe'); + + if (iframeElement) { + iframeElement.setAttribute('width', width); + iframeElement.setAttribute('height', height); + } + } + } + }; + + const selectWidget = function(editor) { + setTimeout( + () => { + const selection = editor.getSelection(); + + if (selection) { + const wrapperElement = selection.root.find('[data-cke-widget-wrapper]'); + + if (wrapperElement) { + const elementList = wrapperElement.$; + if (elementList.length > 0) { + const lastElement = new CKEDITOR.dom.element(elementList[elementList.length - 1]); + + const imageElement = lastElement.findOne('img'); + const widgetElement = lastElement.findOne('[data-widget="embedurl"]'); + + if (imageElement && widgetElement) { + const range = editor.createRange(); + + range.setStart(widgetElement, 0); + range.setEnd(imageElement, 1); + + selection.selectRanges([range]); + selection.selectElement(lastElement); + } + } + } + } + }, + 0 + ); + }; + + let currentAlignment = null; + let currentElement = null; + let resizer = null; + + /** + * CKEditor plugin which adds the infrastructure to embed urls as media objects + * + * This plugin adds an `embedUrl` command that can be used to easily embed a URL and transform it + * to an embedded content. + * + * @class CKEDITOR.plugins.embedurl + */ + + CKEDITOR.plugins.add( + 'embedurl', + { + requires: 'widget', + + init: editor => { + const LFR_EMBED_WIDGET_TPL = new CKEDITOR.template(editor.config.embedWidgetTpl || CKEDITOR.DEFAULT_LFR_EMBED_WIDGET_TPL); + + let providers = editor.config.embedProviders || []; + + providers = providers.map( + provider => { + return { + id: provider.id, + tpl: new CKEDITOR.template(`
    ${provider.tpl}
    `), + type: provider.type, + urlSchemes: provider.urlSchemes.map(scheme => new RegExp(scheme)) + }; + } + ); + + const generateEmbedContent = (url, content) => { + return LFR_EMBED_WIDGET_TPL.output( + { + content: content, + helpMessage: AlloyEditor.Strings.videoPlaybackDisabled, + helpMessageIcon: Liferay.Util.getLexiconIconTpl('info-circle'), + url: url + } + ); + }; + + const defaultEmbedWidgetUpcastFn = (element, data) => { + let upcastWidget = false; + + if (element.name === 'div' && element.attributes['data-embed-url']) { + data.url = element.attributes['data-embed-url']; + + upcastWidget = true; + } + else if (element.name === 'div' && element.attributes['data-embed-id']) { + const iframe = element.children[0]; + + data.url = iframe.attributes.src; + + const embedContent = generateEmbedContent(data.url, element.getOuterHtml()); + + const widgetFragment = new CKEDITOR.htmlParser.fragment.fromHtml(embedContent); + + upcastWidget = widgetFragment.children[0]; + + upcastWidget.attributes['data-styles'] = JSON.stringify(element.styles); + upcastWidget.removeClass('embed-responsive'); + upcastWidget.removeClass('embed-responsive-16by9'); + + element.replaceWith(upcastWidget); + } + + return upcastWidget; + }; + + const showError = errorMsg => { + editor.fire('error', errorMsg); + + setTimeout( + () => { + editor.getSelection().removeAllRanges(); + + editor.focus(); + + resizer.hide(); + }, + 0 + ); + }; + + editor.addCommand( + 'embedUrl', + { + exec: (editor, data) => { + const type = data.type; + const url = data.url; + let content; + + if (REGEX_HTTP.test(url)) { + const validProvider = providers.filter( + provider => { + return type ? provider.type === type : true; + } + ).some( + provider => { + const scheme = provider.urlSchemes.find( + scheme => scheme.test(url) + ); + + if (scheme) { + const embedId = scheme.exec(url)[1]; + + content = provider.tpl.output( + { + embedId: embedId + } + ); + } + + return scheme; + } + ); + + if (validProvider) { + editor._selectEmbedWidget = url; + + const embedContent = generateEmbedContent(url, content); + + editor.insertHtml(embedContent); + } + else { + showError(AlloyEditor.Strings.platformNotSupported); + } + } + else { + showError(AlloyEditor.Strings.enterValidUrl); + } + } + } + ); + + editor.widgets.add( + 'embedurl', + { + draggable: false, + mask: true, + requiredContent: 'div[data-embed-url]', + + data(event) { + const instance = this; + + // Sync dimensions and alignment with editor wrapper + + const stylesJSON = instance.element.getAttribute('data-styles'); + + let styles = stylesJSON ? JSON.parse(stylesJSON) : null; + + if (!styles) { + const iframe = instance.wrapper.findOne('iframe'); + + const bounds = instance.wrapper.$.getBoundingClientRect(); + const width = iframe.getAttribute('width'); + + const pwidth = width >= bounds.width ? 100 : Math.round((width / bounds.width) * 100); + + styles = { + width: `${pwidth}%` + }; + } + + instance.wrapper.setAttribute('style', CKEDITOR.tools.writeCssText(styles)); + + if (editor._selectEmbedWidget === event.data.url) { + selectWidget(editor); + } + }, + + downcast(widget) { + const embedContent = widget.children[0]; + + embedContent.attributes.class = 'embed-responsive embed-responsive-16by9'; + embedContent.attributes.style = CKEDITOR.tools.writeCssText(widget.parent.styles); + + return embedContent; + }, + + upcast(element, data) { + const embedWidgetUpcastFn = editor.config.embedWidgetUpcastFn || defaultEmbedWidgetUpcastFn; + + return embedWidgetUpcastFn(element, data); + } + } + ); + + window.addEventListener( + 'resize', + () => { + resizer.hide(); + selectWidget(editor); + }, + false + ); + + editor.on( + 'selectionChange', + event => { + const selection = editor.getSelection(); + + if (selection) { + const element = selection.getSelectedElement(); + + if (element) { + const widgetElement = element.findOne('[data-widget="embedurl"]'); + + if (widgetElement) { + const scrollPosition = new CKEDITOR.dom.window(window).getScrollPosition(); + + let region = element.getClientRect(); + + region.direction = CKEDITOR.SELECTION_BOTTOM_TO_TOP; + region.left -= scrollPosition.x; + region.top += scrollPosition.y; + + editor.fire( + 'editorInteraction', + { + nativeEvent: {}, + selectionData: { + element: widgetElement, + region: region + } + } + ); + } + + const imageElement = element.findOne('img.cke_widget_mask'); + + if (imageElement) { + resizer.show(imageElement.$); + } + } + else { + resizer.hide(); + } + } + } + ); + + editor.on( + 'destroy', + () => { + const resizeElement = document.getElementById('ckimgrsz'); + + if (resizeElement) { + resizeElement.remove(); + } + + document.removeEventListener('mousedown', mouseDownListener); + } + ); + + editor.on( + 'blur', + () => { + resizer.hide(); + } + ); + + editor.filter.addElementCallback( + element => { + if ('data-embed-url' in element.attributes) { + return CKEDITOR.FILTER_SKIP_TREE; + } + } + ); + + const mouseDownListener = event => { + const result = getSelectedElement(editor); + + currentAlignment = result.alignment; + currentElement = result.element; + + if (resizer.isHandle(event.target)) { + resizer.initDrag(event); + } + }; + + resizer = new Resizer( + editor, + { + onComplete(element, width, height) { + resizeElement(element, width, height); + + if (currentAlignment && currentElement) { + setEmbedAlignment(currentElement, currentAlignment); + } + selectWidget(editor); + } + } + ); + + document.addEventListener('mousedown', mouseDownListener, false); + }, + + afterInit: editor => { + ALIGN_VALUES.forEach( + alignValue => { + const command = editor.getCommand('justify' + alignValue); + + if (command) { + command.on( + 'exec', + event => { + const selectedElement = editor.getSelection().getSelectedElement(); + + if (selectedElement && selectedElement.getAttribute('data-cke-widget-wrapper')) { + const selectedEmbed = selectedElement.findOne('[data-widget="embedurl"] [data-embed-id]'); + + if (selectedEmbed) { + const embedAlignment = getEmbedAlignment(selectedElement); + + if (embedAlignment === alignValue) { + removeEmbedAlignment(selectedElement, alignValue); + } + else { + setEmbedAlignment(selectedElement, alignValue); + } + + currentElement = selectedElement; + currentAlignment = getEmbedAlignment(selectedElement); + + const imageElement = selectedElement.findOne('img'); + + if (imageElement) { + resizer.show(imageElement.$); + } + + event.cancel(); + + const elementPath = new CKEDITOR.dom.elementPath(selectedElement); + + ALIGN_VALUES.forEach( + alignValue => { + const command = editor.getCommand('justify' + alignValue); + + if (command) { + command.refresh(editor, elementPath); + } + } + ); + } + } + } + ); + + command.on( + 'refresh', + event => { + const lastElement = event.data.path.lastElement; + + if (lastElement && + lastElement.getAttribute('data-cke-widget-wrapper') && + lastElement.findOne('[data-widget] [data-embed-id]')) { + + const embedAlignment = getEmbedAlignment(lastElement); + + event.sender.setState(embedAlignment === alignValue ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF); + + event.cancel(); + } + } + ); + } + } + ); + } + } + ); +} + +export default CKEDITOR.plugins.get('embedurl'); \ No newline at end of file diff --git a/src/plugins/index.js b/src/plugins/index.js index 73bc6a5189..17fd0dde97 100644 --- a/src/plugins/index.js +++ b/src/plugins/index.js @@ -4,6 +4,7 @@ import autolist from './autolist'; import dragresize from './dragresize'; import dragresizeie from './dragresize_ie'; import embed from './embed'; +import embedurl from './embedurl'; import imagealignment from './imagealignment'; import pasteimages from './pasteimages'; import placeholder from './placeholder'; @@ -18,6 +19,7 @@ export { dragresize, dragresizeie, embed, + embedurl, imagealignment, pasteimages, placeholder, diff --git a/src/selections/selection-test.js b/src/selections/selection-test.js index bcb7178d01..bb42a3294c 100644 --- a/src/selections/selection-test.js +++ b/src/selections/selection-test.js @@ -24,6 +24,30 @@ var embedSelectionTest = function(payload) { ); }; +const embedUrlSelectionTest = function(payload) { + const selectionData = payload.data.selectionData; + + return !!( + selectionData.element && + selectionData.element.getAttribute('data-widget') === 'embedurl' + ); +}; + +const headingTextSelectionTest = function(payload) { + const headings = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; + const nativeEditor = payload.editor.get('nativeEditor'); + const selectionData = payload.data.selectionData; + const selectionEmpty = nativeEditor.isSelectionEmpty(); + + return !!( + !selectionData.element && + selectionData.region && + !selectionEmpty && + !nativeEditor.getSelection().getCommonAncestor().isReadOnly() && + nativeEditor.elementPath().contains(headings) + ); +}; + var linkSelectionTest = function(payload) { var nativeEditor = payload.editor.get('nativeEditor'); var range = nativeEditor.getSelection().getRanges()[0]; @@ -75,6 +99,8 @@ var tableSelectionTest = function(payload) { const SelectionTest = { embed: embedSelectionTest, + embedUrl: embedUrlSelectionTest, + header: headingTextSelectionTest, image: imageSelectionTest, link: linkSelectionTest, table: tableSelectionTest, diff --git a/src/selections/selections.js b/src/selections/selections.js index 1675602418..97a2d84d22 100644 --- a/src/selections/selections.js +++ b/src/selections/selections.js @@ -6,13 +6,17 @@ const Selections = [{ name: 'embed', buttons: ['embedRemove','embedEdit'], test: SelectionTest.embed +}, { + name: 'embedUrl', + buttons: ['embedVideo', 'embedVideoEdit'], + test: SelectionTest.embedUrl }, { name: 'link', buttons: ['linkEdit'], test: SelectionTest.link }, { name: 'image', - buttons: ['imageLeft', 'imageCenter', 'imageRight'], + buttons: ['imageLeft', 'imageCenter', 'imageRight', 'AccessibilityImageAlt'], setPosition: SelectionSetPosition.image, test: SelectionTest.image }, { @@ -29,7 +33,52 @@ const Selections = [{ 'TextColor', 'BGColor', 'separator', 'code', 'quote', 'separator', 'removeFormat' ] ], + simple: ['styles', 'bold', 'italic', 'underline', 'link'] + + // simple: [ + // 'backgroundColor', + // 'camera', + // 'color', + // 'embed', + // 'h1', + // 'h2', + // 'hline', + // 'image', + // 'imageCenter', + // 'imageLeft', + // 'imageRight', + // 'indentBlock', + // 'italic', + // 'link', + // 'linkBrowse', + // 'linkTargetEdit', + // 'ol', + // 'outdentBlock', + // 'paragraphAlign', + // 'paragraphCenter', + // 'paragraphJustify', + // 'paragraphLeft', + // 'paragraphRight', + // 'quote', + // 'removeFormat', + // 'spacing', + // 'spacing', + // 'strike', + // 'styles', + // 'subscript', + // 'superscript', + // 'tableCell', + // 'tableColumn', + // 'tableEdit', + // 'tableHeading', + // 'tableRemove', + // 'tableRow', + // 'table', + // 'twitter', + // 'ul', + // 'underline' + // ] }, test: SelectionTest.text }, { diff --git a/test/ui/test/button-embed-edit.jsx b/test/ui/test/button-embed-edit.jsx index c07b2213ec..7ec48a426c 100644 --- a/test/ui/test/button-embed-edit.jsx +++ b/test/ui/test/button-embed-edit.jsx @@ -86,7 +86,7 @@ import ButtonEmbedEdit from '../../../src/components/buttons/button-embed-edit.j var buttonEmbedEdit = ReactDOM.render(, this.container); - var buttonRemove = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-bin'); + var buttonRemove = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-svg-trash'); Simulate.click(buttonRemove.parentNode); @@ -119,7 +119,7 @@ import ButtonEmbedEdit from '../../../src/components/buttons/button-embed-edit.j it('should not allow to update the embed link if the link input is empty', function() { var buttonEmbedEdit = ReactDOM.render(, this.container); - var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-ok'); + var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-svg-check'); assert.isTrue(buttonOk.parentNode.hasAttribute('disabled')); }); @@ -159,7 +159,7 @@ import ButtonEmbedEdit from '../../../src/components/buttons/button-embed-edit.j } }); - var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-ok').parentNode; + var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonEmbedEdit, 'ae-icon-svg-check').parentNode; Simulate.click(buttonOk); diff --git a/test/ui/test/button-link-edit.jsx b/test/ui/test/button-link-edit.jsx index 26987ef85a..23edfd1427 100644 --- a/test/ui/test/button-link-edit.jsx +++ b/test/ui/test/button-link-edit.jsx @@ -32,7 +32,7 @@ import ButtonLinkTargetEdit from '../../../src/components/buttons/button-link-ta TestUtils.Simulate.change(inputLink, {target: {value: 'link.com'}}); - var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonLink, 'ae-icon-ok'); + var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonLink, 'ae-icon-svg-check'); Simulate.click(buttonOk.parentNode); @@ -57,7 +57,7 @@ import ButtonLinkTargetEdit from '../../../src/components/buttons/button-link-ta TestUtils.Simulate.change(inputLink, {target: {value: 'link.com'}}); - var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonLink, 'ae-icon-ok'); + var buttonOk = TestUtils.findRenderedDOMComponentWithClass(buttonLink, 'ae-icon-svg-check'); Simulate.click(buttonOk.parentNode);