├── tests
├── app.css
├── tests
│ ├── destroy.js
│ ├── events.js
│ ├── bootstrap.js
│ ├── methods.js
│ ├── init.js
│ └── options.js
├── index.html
├── input_in_container_fixed_to_top_of_viewport.html
└── input_in_container_fixed_to_bottom_of_viewport.html
├── .gitignore
├── .travis.yml
├── screen
├── 1.png
├── 2.png
├── 3.1.png
├── 3.png
├── 4.png
├── 5.png
└── 6.png
├── pull_request_template.md
├── karma.conf.js
├── MIT-LICENSE.txt
├── bower.json
├── datetimepicker.jquery.json
├── package.json
├── README.md
├── index.html
├── jquery.datetimepicker.css
├── doc.tpl
└── yarn.lock
/tests/app.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | node_modules
3 | bower_components/
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "8"
4 | services:
5 | - xvfb
--------------------------------------------------------------------------------
/screen/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/1.png
--------------------------------------------------------------------------------
/screen/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/2.png
--------------------------------------------------------------------------------
/screen/3.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/3.1.png
--------------------------------------------------------------------------------
/screen/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/3.png
--------------------------------------------------------------------------------
/screen/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/4.png
--------------------------------------------------------------------------------
/screen/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/5.png
--------------------------------------------------------------------------------
/screen/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/xdan/datetimepicker/HEAD/screen/6.png
--------------------------------------------------------------------------------
/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ## Checklist before pull request
2 | * [ ] There is an associated issue that is labelled 'Bug' or 'help wanted' or is in the Community milestone
3 | * [ ] Code is up-to-date with the `master` branch
4 | * [ ] You've successfully run `npm test` locally
5 | * [ ] There are new or updated tests validating the change
6 |
7 | ## Fixes #
8 | About your changes
9 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | config.set({
3 | basePath: '',
4 | frameworks: ['mocha', 'chai'],
5 | files: [
6 | 'jquery.datetimepicker.css',
7 | 'node_modules/php-date-formatter/js/php-date-formatter.js',
8 | 'jquery.js',
9 | 'jquery.datetimepicker.js',
10 | 'tests/bootstrap.js',
11 | 'tests/tests/*.js'
12 | ],
13 | reporters: ['progress'],
14 | port: 2002,
15 | hostname: '127.0.0.1',
16 | colors: true,
17 | logLevel: config.LOG_INFO,
18 | browsers: ['Firefox'],
19 | autoWatch: true,
20 | singleRun: false, // Karma captures browsers, runs the tests and exits
21 | concurrency: Infinity,
22 | plugins: [
23 | 'karma-firefox-launcher',
24 | 'karma-mocha',
25 | 'karma-chai'
26 | ],
27 | client: {
28 | captureConsole: true
29 | }
30 | })
31 | };
32 |
--------------------------------------------------------------------------------
/tests/tests/destroy.js:
--------------------------------------------------------------------------------
1 | describe('Check destructor', function () {
2 | describe('Init picker and after this init again with command destroy', function () {
3 | it('Should remove picker from DOM and remove all listeners from original input', function (done) {
4 | var input = getInput();
5 | $(input).datetimepicker();
6 | var dtp = $(input).data('xdsoft_datetimepicker');
7 | expect(dtp).to.be.not.equal(null);
8 | expect(dtp[0].tagName).to.be.equal('DIV');
9 | expect(dtp[0].classList.contains('xdsoft_datetimepicker')).to.be.true;
10 | expect(dtp.is(':hidden')).to.be.true;
11 |
12 | $(input).datetimepicker('destroy');
13 | expect($(input).data('xdsoft_datetimepicker')).to.be.equal(null);
14 |
15 | $(input).trigger('mousedown')
16 | setTimeout(function () {
17 | expect(dtp.is(':hidden')).to.be.true;
18 | done();
19 | }, 150)
20 | });
21 | });
22 | });
--------------------------------------------------------------------------------
/MIT-LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2013 http://xdsoft.net
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
--------------------------------------------------------------------------------
/tests/tests/events.js:
--------------------------------------------------------------------------------
1 | describe('Test events', function () {
2 | describe('onSelectDate', function () {
3 | it('Should fired after user selected day', function (done) {
4 | var input= $(getInput()).val('2011/04/15');
5 |
6 | var picker = input.datetimepicker({
7 | onSelectDate: function (time, inp, evt) {
8 | expect(picker).to.be.equal(this);
9 | expect(time.getDate()).to.be.equal(17);
10 | expect(time.getMonth()).to.be.equal(3);
11 | expect(time.getFullYear()).to.be.equal(2011);
12 | expect(inp[0]).to.be.equal(input[0]);
13 | expect(evt.type).to.be.equal('click');
14 | done();
15 | },
16 | format: 'Y/m/d'
17 | }).trigger('mousedown').data(PICKER);
18 |
19 | setTimeout(function () {
20 | var select = picker.find('td[data-date="17"][data-month="3"][data-year="2011"]');
21 | expect(select.length).to.be.equal(1);
22 | select.trigger('click');
23 | }, 100);
24 | });
25 | });
26 | });
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "datetimepicker",
3 | "version": "2.5.11",
4 | "main": [
5 | "build/jquery.datetimepicker.full.min.js",
6 | "jquery.datetimepicker.css"
7 | ],
8 | "ignore": [
9 | "**/screen",
10 | "**/datetimepicker.jquery.json",
11 | "**/*.png",
12 | "**/*.txt",
13 | "**/*.md",
14 | "**/*.html",
15 | "**/*.tpl",
16 | "**/jquery.js",
17 | "bower_components",
18 | "node_modules"
19 | ],
20 | "keywords": [
21 | "calendar",
22 | "date",
23 | "time",
24 | "form",
25 | "datetime",
26 | "datepicker",
27 | "timepicker",
28 | "datetimepicker",
29 | "validation",
30 | "ui",
31 | "scroller",
32 | "picker",
33 | "i18n",
34 | "input",
35 | "jquery",
36 | "touch"
37 | ],
38 | "authors": [
39 | {
40 | "name": "Chupurnov Valeriy",
41 | "email": "chupurnov@gmail.com",
42 | "homepage": "http://xdsoft.net/contacts.html"
43 | }
44 | ],
45 | "dependencies": {
46 | "jquery": ">= 1.7.2",
47 | "jquery-mousewheel": ">= 3.1.13",
48 | "php-date-formatter": ">= 1.3.3"
49 | },
50 | "license": "MIT",
51 | "homepage": "http://xdsoft.net/jqplugins/datetimepicker/",
52 | "repository": {
53 | "type": "git",
54 | "url": "git://github.com:xdan/datetimepicker.git"
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/datetimepicker.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "datetimepicker",
3 | "version": "2.5.4",
4 | "title": "jQuery Date and Time picker",
5 | "description": "jQuery plugin for date, time, or datetime manipulation in form",
6 | "keywords": [
7 | "calendar",
8 | "date",
9 | "time",
10 | "form",
11 | "datetime",
12 | "datepicker",
13 | "timepicker",
14 | "datetimepicker",
15 | "validation",
16 | "ui",
17 | "scroller",
18 | "picker",
19 | "i18n",
20 | "input",
21 | "jquery",
22 | "touch"
23 | ],
24 | "author": {
25 | "name": "Chupurnov Valeriy",
26 | "email": "chupurnov@gmail.com",
27 | "url": "http://xdsoft.net/contacts.html"
28 | },
29 | "maintainers": [{
30 | "name": "Chupurnov Valeriy",
31 | "email": "chupurnov@gmail.com",
32 | "url": "http://xdsoft.net"
33 | }],
34 | "licenses": [
35 | {
36 | "type": "MIT",
37 | "url": "https://github.com/xdan/datetimepicker/blob/master/MIT-LICENSE.txt"
38 | }
39 | ],
40 | "bugs": "https://github.com/xdan/datetimepicker/issues",
41 | "homepage": "http://xdsoft.net/jqplugins/datetimepicker/",
42 | "docs": "http://xdsoft.net/jqplugins/datetimepicker/",
43 | "download": "https://github.com/xdan/datetimepicker/archive/master.zip",
44 | "dependencies": {
45 | "jquery": ">=1.7"
46 | }
47 | }
--------------------------------------------------------------------------------
/tests/tests/bootstrap.js:
--------------------------------------------------------------------------------
1 | var inputs = [];
2 |
3 | var box = document.createElement('div');
4 | document.body.appendChild(box);
5 |
6 |
7 | var getInput = function () {
8 | var input = document.createElement('input');
9 | input.setAttribute('type', 'text');
10 | inputs.push(input);
11 | box.appendChild(input);
12 | return input;
13 | };
14 |
15 | var clear = function() {
16 | inputs.forEach(function (inp) {
17 | $(inp).datetimepicker('destroy');
18 | inp.parentNode && inp.parentNode.removeChild(inp)
19 | });
20 | };
21 |
22 | var PICKER = 'xdsoft_datetimepicker';
23 |
24 | var simulateEvent = function (type, element, keyCodeArg, options) {
25 | if (!keyCodeArg) {
26 | keyCodeArg = 0;
27 | }
28 |
29 | if (element instanceof jQuery) {
30 | element = element[0];
31 | }
32 |
33 | var evt = (element.ownerDocument || document).createEvent('HTMLEvents')
34 | evt.initEvent(type, true, true);
35 | evt.keyCode = keyCodeArg;
36 | evt.which = keyCodeArg;
37 |
38 | if (options) {
39 | options(evt);
40 | }
41 |
42 | if (type.match(/^mouse/)) {
43 | ['pageX', 'pageY', 'clientX', 'clientY'].forEach(function (key) {
44 | if (evt[key] === undefined) {
45 | evt[key] = 0;
46 | }
47 | })
48 | }
49 |
50 | element.dispatchEvent(evt);
51 | };
52 |
53 | afterEach(clear);
54 | var expect = chai.expect;
55 | chai.config.includeStack = true
--------------------------------------------------------------------------------
/tests/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | jQuery DateTimepicker Tests
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
44 |
45 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "jquery-datetimepicker",
3 | "version": "2.5.22",
4 | "description": "jQuery Plugin DateTimePicker it is DatePicker and TimePicker in one",
5 | "main": "build/jquery.datetimepicker.full.min.js",
6 | "scripts": {
7 | "test": "karma start --browsers Firefox karma.conf.js --single-run",
8 | "concat": "concat-cli -f node_modules/php-date-formatter/js/php-date-formatter.min.js jquery.datetimepicker.js node_modules/jquery-mousewheel/jquery.mousewheel.js -o build/jquery.datetimepicker.full.js",
9 | "minify": "uglifyjs jquery.datetimepicker.js -c -m -o build/jquery.datetimepicker.min.js && uglifycss jquery.datetimepicker.css > build/jquery.datetimepicker.min.css",
10 | "minifyconcat": "uglifyjs build/jquery.datetimepicker.full.js -c -m -o build/jquery.datetimepicker.full.min.js",
11 | "github": "git add --all && git commit -m \"New version %npm_package_version% \" && git tag %npm_package_version% && git push --tags origin HEAD:master && npm publish",
12 | "build": "npm run minify && npm run concat && npm run minifyconcat",
13 | "public": "npm run test && npm version patch --no-git-tag-version && npm run build && npm run github"
14 | },
15 | "repository": {
16 | "type": "git",
17 | "url": "https://github.com/xdan/datetimepicker.git"
18 | },
19 | "keywords": [
20 | "jquery-plugin",
21 | "calendar",
22 | "date",
23 | "time",
24 | "datetime",
25 | "datepicker",
26 | "timepicker"
27 | ],
28 | "author": "Chupurnov (https://xdsoft.net/)",
29 | "license": "MIT",
30 | "bugs": {
31 | "url": "https://github.com/xdan/datetimepicker/issues"
32 | },
33 | "homepage": "https://github.com/xdan/datetimepicker",
34 | "dependencies": {
35 | "jquery": ">= 1.7.2",
36 | "jquery-mousewheel": ">= 3.1.13",
37 | "php-date-formatter": "^1.3.6"
38 | },
39 | "devDependencies": {
40 | "chai": "^4.1.2",
41 | "concat": "azer/concat",
42 | "concat-cli": "^4.0.0",
43 | "karma": "^6.4.1",
44 | "karma-chai": "^0.1.0",
45 | "karma-firefox-launcher": "^1.1.0",
46 | "karma-mocha": "^2.0.1",
47 | "mocha": "^10.2.0",
48 | "uglify-js": "^3.4.9",
49 | "uglifycss": "^0.0.27"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/tests/tests/methods.js:
--------------------------------------------------------------------------------
1 | describe('Test methods', function () {
2 | describe('Show', function () {
3 | it('Should show picker', function () {
4 | var input= $(getInput());
5 | var picker = input
6 | .datetimepicker()
7 | .datetimepicker('show')
8 | .data(PICKER);
9 |
10 | expect(picker.is(':hidden')).to.be.false;
11 | });
12 | });
13 | describe('Hide', function () {
14 | it('Should hide picker', function () {
15 | var input= $(getInput());
16 | var picker = input
17 | .datetimepicker()
18 | .datetimepicker('show')
19 | .data(PICKER);
20 |
21 | expect(picker.is(':hidden')).to.be.false;
22 | input.datetimepicker('hide')
23 | expect(picker.is(':hidden')).to.be.true;
24 | });
25 | });
26 | describe('Toggle', function () {
27 | it('Should hide/show picker', function () {
28 | var input= $(getInput());
29 | var picker = input
30 | .datetimepicker()
31 | .datetimepicker('show')
32 | .data(PICKER);
33 |
34 | expect(picker.is(':hidden')).to.be.false;
35 | input.datetimepicker('toggle')
36 | expect(picker.is(':hidden')).to.be.true;
37 | input.datetimepicker('toggle')
38 | expect(picker.is(':hidden')).to.be.false;
39 | });
40 | });
41 | describe('Reset', function () {
42 | it('Should restore default value', function (done) {
43 | var input= $(' ').appendTo(document.body);
44 |
45 | var picker = input
46 | .datetimepicker({format: 'd.m.Y'})
47 | .datetimepicker('show')
48 | .data(PICKER);
49 |
50 | setTimeout(function () {
51 | var select = picker.find('td[data-date="16"][data-month="11"][data-year="2008"]');
52 | expect(select.length).to.be.equal(1);
53 | select.trigger('click');
54 | expect(input.val()).to.be.equal('16.12.2008');
55 | input.datetimepicker('reset');
56 | expect(input.val()).to.be.equal('15.12.2008');
57 | input.datetimepicker('destroy').remove();
58 | done();
59 | }, 100)
60 | });
61 | });
62 | });
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | > [!IMPORTANT]
3 | > **Contributing & Maintenance**
4 | >
5 | > If you would like to help maintain this plugin, please email me at [chupurnov@gmail.com](mailto:chupurnov@gmail.com). I can grant you access to the npm package and the GitHub repository.
6 |
7 | Please note that I am no longer using jQuery, so I cannot offer full support for it.
8 |
9 | # jQuery DateTimePicker
10 | [Demo and Documentation](https://xdsoft.net/jqplugins/datetimepicker/)
11 |
12 | [](https://travis-ci.org/xdan/datetimepicker)
13 | [](https://badge.fury.io/js/jquery-datetimepicker)
14 | [](https://www.npmjs.com/package/jquery-datetimepicker)
15 |
16 | PLEASE. Help me update the documentation.
17 | [Doc.tpl](https://github.com/xdan/datetimepicker/blob/master/doc.tpl)
18 | This file will be automatically displayed on the site
19 |
20 | # Installation
21 |
22 | ```bash
23 | npm install jquery-datetimepicker
24 | ```
25 | OR
26 | ```bash
27 | yarn add jquery-datetimepicker
28 | ```
29 | or download [zip](https://github.com/xdan/datetimepicker/releases)
30 | # datetimepicker
31 | ==============
32 |
33 | **!!! In the latest version the 'lang' option is obsolete. The language setting is now global. !!!**
34 |
35 | Use this:
36 | ```javascript
37 | jQuery.datetimepicker.setLocale('en');
38 | ```
39 | [Documentation][doc]
40 |
41 | jQuery Plugin Date and Time Picker
42 |
43 | DateTimePicker
44 |
45 | 
46 |
47 | DatePicker
48 |
49 | 
50 |
51 | TimePicker
52 |
53 | 
54 |
55 | Options to highlight individual dates or periods
56 |
57 | 
58 |
59 | 
60 |
61 | 
62 |
63 | [doc]: https://xdsoft.net/jqplugins/datetimepicker/
64 |
65 | ### JS Build help
66 |
67 | **Requires Node and NPM** [Download and install node.js](http://nodejs.org/download/).
68 |
69 | Install:
70 |
71 | 1. Install `bower` globally with `npm install -g bower`.
72 | 2. Run `npm install`. npm will look at `package.json` and automatically install the necessary dependencies.
73 | 3. Run `bower install`, which installs front-end packages defined in `bower.json`.
74 |
75 | Notice: If you use Bower v1.5.2, you will get the error: `The "main" field cannot contain minified files`
76 | You can regress to version 1.3.12
77 |
78 | 1. `npm uninstall bower -g`
79 | 2. `npm install -g bower@1.3.12`
80 |
81 | Build:
82 |
83 | First install npm requirements: `npm install -g uglifycss concat-cli`
84 | Then build the files: `npm run build`
85 |
86 | When the build completes, you'll have the following files:
87 | - **build/jquery.datetimepicker.full.js** - browser file
88 | - **build/jquery.datetimepicker.full.min.js** - browser minified file
89 | - **build/jquery.datetimepicker.min.js** - amd module style minified file
90 |
--------------------------------------------------------------------------------
/tests/tests/init.js:
--------------------------------------------------------------------------------
1 | describe('Init', function () {
2 | describe('jQuery.fn', function () {
3 | it('Should have datetimepicker method', function () {
4 | expect(typeof jQuery.fn.datetimepicker).to.be.equal('function');
5 | expect(typeof $.fn.datetimepicker).to.be.equal('function');
6 | });
7 | });
8 | describe('jQuery.fn.datetimepicker', function () {
9 | it('Should have `defaults` property', function () {
10 | expect(typeof jQuery.fn.datetimepicker.defaults).to.be.equal('object');
11 | expect(jQuery.fn.datetimepicker.defaults.format).to.be.equal('Y/m/d H:i');
12 | });
13 | });
14 | describe('Create datetimepicker', function () {
15 | describe('Without parameters', function () {
16 | it('Should create plugin with default options', function (done) {
17 | var input = getInput();
18 | $(input).datetimepicker();
19 | var dtp = $(input).data('xdsoft_datetimepicker');
20 | expect(dtp).to.be.not.equal(null);
21 | expect(dtp[0].tagName).to.be.equal('DIV');
22 | expect(dtp[0].classList.contains('xdsoft_datetimepicker')).to.be.true;
23 | expect(dtp.is(':hidden')).to.be.true;
24 | $(input).trigger('mousedown')
25 | setTimeout(function () {
26 | expect(dtp.is(':hidden')).to.be.false;
27 | done();
28 | }, 150)
29 | });
30 | });
31 | describe('In inline mode', function () {
32 | it('Should create picker and replace original input', function () {
33 | var input = getInput();
34 | $(input).datetimepicker({
35 | inline: true
36 | });
37 | var dtp = $(input).data('xdsoft_datetimepicker');
38 | expect(dtp.is(':hidden')).to.be.false;
39 | expect($(input).is(':hidden')).to.be.true;
40 | });
41 | });
42 | });
43 | describe('Set locale', function () {
44 | describe('Change locale', function () {
45 | it('Should create different pickers fro all locales', function (done) {
46 | $.datetimepicker.setLocale('en');
47 | var $input = $(getInput());
48 | $input.datetimepicker({inline: true});
49 | setTimeout(function () {
50 | var text = $input.data('xdsoft_datetimepicker').text();
51 | $input.datetimepicker('destroy');
52 | $.datetimepicker.setLocale('ru');
53 | $input.datetimepicker({inline: true});
54 | setTimeout(function () {
55 | expect($input.data('xdsoft_datetimepicker').text()).to.be.not.equal(text);
56 | done();
57 | }, 100)
58 | }, 100)
59 | });
60 | });
61 | });
62 | describe('Select day', function () {
63 | it('Should set selected date to input by format', function (done) {
64 | var input= $(getInput()).val('2011/04/15');
65 |
66 | var picker = input.datetimepicker({
67 | format: 'Y/m/d'
68 | }).trigger('mousedown').data(PICKER);
69 |
70 | setTimeout(function () {
71 | var start = picker.find('td[data-date="15"][data-month="3"][data-year="2011"]');
72 | expect(start.length).to.be.equal(1);
73 | expect(start.hasClass('xdsoft_disabled')).to.be.false;
74 | expect(start.hasClass('xdsoft_current')).to.be.true;
75 | var select = picker.find('td[data-date="17"][data-month="3"][data-year="2011"]');
76 | expect(start.length).to.be.equal(1);
77 | select.trigger('click');
78 | expect(input.val()).to.be.equal('2011/04/17')
79 | done();
80 | }, 100);
81 | });
82 | });
83 | });
--------------------------------------------------------------------------------
/tests/tests/options.js:
--------------------------------------------------------------------------------
1 | describe('Test options', function () {
2 | describe('dayOfWeekStart', function () {
3 | it('Should change default start of week', function (done) {
4 | $.datetimepicker.setLocale('en');
5 | var input = $(getInput());
6 | var picker = input.datetimepicker({inline: true}).trigger('mousedown').data('xdsoft_datetimepicker');
7 | setTimeout(function () {
8 | var day = picker.find('th').eq(0).text();
9 | var date = picker.find('td').eq(0).text();
10 | input.datetimepicker('destroy');
11 |
12 | var picker2 = $(getInput()).datetimepicker({
13 | inline: true,
14 | dayOfWeekStart: 2
15 | }).trigger('mousedown').data(PICKER);
16 |
17 | setTimeout(function () {
18 | expect(picker2.find('th').eq(0).text()).to.be.not.equal(day);
19 | expect(picker2.find('td').eq(0).text()).to.be.not.equal(date);
20 | done();
21 | }, 100);
22 | }, 100);
23 | });
24 | });
25 | describe('disabledDates and startDate', function () {
26 | it('Should disable some dates in picker and picker should be open on startDate', function (done) {
27 | var input= $(getInput());
28 | var picker = input.datetimepicker({
29 | disabledDates:['1986/01/08','1986/01/09','1986/01/10'],
30 | startDate: '1986/01/05'
31 | }).trigger('mousedown').data(PICKER);
32 |
33 | setTimeout(function () {
34 | var day = picker.find('td[data-date="8"][data-month="0"][data-year="1986"]');
35 | expect(day.hasClass('xdsoft_disabled')).to.be.true;
36 | var start = picker.find('td[data-date="5"][data-month="0"][data-year="1986"]');
37 | expect(start.length).to.be.equal(1);
38 | expect(start.hasClass('xdsoft_disabled')).to.be.false;
39 | done();
40 | }, 100);
41 | });
42 | });
43 | describe('defaultDate', function () {
44 | it('Should open picker on some date', function (done) {
45 | var input= $(getInput());
46 | var picker = input.datetimepicker({formatDate:'d.m.Y', defaultDate: '+03.01.1970'}).trigger('mousedown').data(PICKER);
47 |
48 | setTimeout(function () {
49 | var now = new Date();
50 | now.setDate(now.getDate() + 2)
51 | var start = picker.find('td[data-date="' + now.getDate() + '"][data-month="' + now.getMonth() + '"][data-year="' + now.getFullYear() + '"]');
52 | expect(start.length).to.be.equal(1);
53 | expect(start.hasClass('xdsoft_disabled')).to.be.false;
54 | expect(start.hasClass('xdsoft_current xdsoft_today')).to.be.true;
55 | done();
56 | }, 100);
57 | });
58 | });
59 | describe('Value', function () {
60 | it('Should set value to plugin', function (done) {
61 | var input= $(getInput());
62 | var picker = input.datetimepicker({value: '2011/04/15 05:03'}).trigger('mousedown').data(PICKER);
63 |
64 | setTimeout(function () {
65 | var start = picker.find('td[data-date="15"][data-month="3"][data-year="2011"]');
66 | expect(start.length).to.be.equal(1);
67 | expect(start.hasClass('xdsoft_disabled')).to.be.false;
68 | done();
69 | }, 100);
70 | });
71 | });
72 | describe('timepicker = false', function () {
73 | it('Should create only datepicker', function (done) {
74 | var input= $(getInput());
75 | var picker = input.datetimepicker({
76 | timepicker: false
77 | }).trigger('mousedown').data(PICKER);
78 |
79 | setTimeout(function () {
80 | var timepicker = picker.find('.xdsoft_timepicker');
81 | expect(timepicker.length).to.be.equal(1);
82 | expect(timepicker.is(':hidden')).to.be.true;
83 | done();
84 | }, 100);
85 | });
86 | });
87 | describe('datepicker = false', function () {
88 | it('Should create only timepicker', function (done) {
89 | var input= $(getInput());
90 | var picker = input.datetimepicker({
91 | datepicker: false
92 | }).trigger('mousedown').data(PICKER);
93 |
94 | setTimeout(function () {
95 | var datepicker = picker.find('.xdsoft_datepicker');
96 | expect(datepicker.length).to.be.equal(1);
97 | expect(datepicker.is(':hidden')).to.be.true;
98 | done();
99 | }, 100);
100 | });
101 | });
102 | });
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
19 |
20 |
21 |
22 | Homepage
23 | DateTimePicker
24 |
25 | DateTimePickers selected by class
26 |
27 |
28 | Mask DateTimePicker
29 |
30 | TimePicker
31 |
32 | DatePicker
33 |
34 | Inline DateTimePicker
35 |
36 |
37 | Button Trigger
38 |
39 | TimePicker allows time
40 |
41 | Destroy DateTimePicker
42 |
43 | Set options runtime DateTimePicker
44 |
45 | If select day is Saturday, the minimum set 11:00, otherwise 8:00
46 | onGenerate
47 |
48 | disable all weekend
49 |
50 | Default date and time
51 |
52 | Show inline
53 | Show/Hide
54 |
55 |
56 |
57 | Disable Specific Dates
58 | Disable the dates 2 days from now.
59 |
60 | Custom Date Styling
61 | Make the background of the date 2 days from now bright red.
62 |
63 | Dark theme
64 | thank for this https://github.com/lampslave
65 |
66 | Date time format and locale
67 |
68 |
69 | English
70 | German
71 | Russian
72 | Ukrainian
73 | French
74 | Spanish
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
225 |
226 |
--------------------------------------------------------------------------------
/tests/input_in_container_fixed_to_top_of_viewport.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Input In Container Fixed To Top Of Viewport | datetimepicker Tests
5 |
6 |
7 |
8 |
9 |
10 |
44 |
45 |
46 |
47 |
48 | Input In Container Fixed To Top Of Viewport
49 |
50 |
62 |
63 |
64 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
65 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
66 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
67 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
68 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
69 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
70 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
71 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
72 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
73 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
74 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
75 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
76 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
77 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
78 |
79 |
80 |
81 |
100 |
101 |
102 |
103 |
104 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/tests/input_in_container_fixed_to_bottom_of_viewport.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Input In Container Fixed To Bottom Of Viewport | datetimepicker Tests
5 |
6 |
7 |
8 |
9 |
10 |
44 |
45 |
46 |
47 |
48 | Input In Container Fixed To Bottom Of Viewport
49 |
50 |
62 |
63 |
64 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
65 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
66 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
67 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
68 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
69 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
70 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
71 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
72 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
73 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
74 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
75 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
76 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
77 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ornare ante at risus varius molestie. Nulla bibendum mauris tellus, vitae fringilla dolor consectetur et. Praesent in ligula condimentum lacus semper mattis. Sed lobortis iaculis ipsum, a posuere dui dictum nec. Cras condimentum tristique tincidunt. Integer nisi mauris, mollis eget gravida eu, fringilla id eros. Nam posuere aliquet velit, in fermentum augue. Phasellus sit amet enim sit amet neque sollicitudin pellentesque. Vestibulum euismod, libero at rutrum malesuada, libero elit euismod velit, ut facilisis odio libero quis quam. Cras aliquet orci quis ultrices bibendum. In at erat et purus molestie varius aliquam et neque. Duis eleifend sagittis lectus consectetur rhoncus. Suspendisse porttitor nibh a tincidunt ultricies. Morbi hendrerit consectetur felis, eu ultricies diam. Fusce eget nulla ac magna tincidunt feugiat quis vestibulum nibh.
78 |
79 |
80 |
81 |
100 |
101 |
102 |
103 |
104 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/jquery.datetimepicker.css:
--------------------------------------------------------------------------------
1 | .xdsoft_datetimepicker {
2 | box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);
3 | background: #fff;
4 | border-bottom: 1px solid #bbb;
5 | border-left: 1px solid #ccc;
6 | border-right: 1px solid #ccc;
7 | border-top: 1px solid #ccc;
8 | color: #333;
9 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
10 | padding: 8px;
11 | padding-left: 0;
12 | padding-top: 2px;
13 | position: absolute;
14 | z-index: 9999;
15 | -moz-box-sizing: border-box;
16 | box-sizing: border-box;
17 | display: none;
18 | }
19 | .xdsoft_datetimepicker.xdsoft_rtl {
20 | padding: 8px 0 8px 8px;
21 | }
22 |
23 | .xdsoft_datetimepicker iframe {
24 | position: absolute;
25 | left: 0;
26 | top: 0;
27 | width: 75px;
28 | height: 210px;
29 | background: transparent;
30 | border: none;
31 | }
32 |
33 | /*For IE8 or lower*/
34 | .xdsoft_datetimepicker button {
35 | border: none !important;
36 | }
37 |
38 | .xdsoft_noselect {
39 | -webkit-touch-callout: none;
40 | -webkit-user-select: none;
41 | -khtml-user-select: none;
42 | -moz-user-select: none;
43 | -ms-user-select: none;
44 | -o-user-select: none;
45 | user-select: none;
46 | }
47 |
48 | .xdsoft_noselect::selection { background: transparent }
49 | .xdsoft_noselect::-moz-selection { background: transparent }
50 |
51 | .xdsoft_datetimepicker.xdsoft_inline {
52 | display: inline-block;
53 | position: static;
54 | box-shadow: none;
55 | }
56 |
57 | .xdsoft_datetimepicker * {
58 | -moz-box-sizing: border-box;
59 | box-sizing: border-box;
60 | padding: 0;
61 | margin: 0;
62 | }
63 |
64 | .xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
65 | display: none;
66 | }
67 |
68 | .xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
69 | display: block;
70 | }
71 |
72 | .xdsoft_datetimepicker .xdsoft_datepicker {
73 | width: 224px;
74 | float: left;
75 | margin-left: 8px;
76 | }
77 | .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
78 | float: right;
79 | margin-right: 8px;
80 | margin-left: 0;
81 | }
82 |
83 | .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
84 | width: 256px;
85 | }
86 |
87 | .xdsoft_datetimepicker .xdsoft_timepicker {
88 | width: 58px;
89 | float: left;
90 | text-align: center;
91 | margin-left: 8px;
92 | margin-top: 0;
93 | }
94 | .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker {
95 | float: right;
96 | margin-right: 8px;
97 | margin-left: 0;
98 | }
99 |
100 | .xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
101 | margin-top: 8px;
102 | margin-bottom: 3px
103 | }
104 |
105 | .xdsoft_datetimepicker .xdsoft_monthpicker {
106 | position: relative;
107 | text-align: center;
108 | }
109 |
110 | .xdsoft_datetimepicker .xdsoft_label i,
111 | .xdsoft_datetimepicker .xdsoft_prev,
112 | .xdsoft_datetimepicker .xdsoft_next,
113 | .xdsoft_datetimepicker .xdsoft_today_button {
114 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
115 | }
116 |
117 | .xdsoft_datetimepicker .xdsoft_label i {
118 | opacity: 0.5;
119 | background-position: -92px -19px;
120 | display: inline-block;
121 | width: 9px;
122 | height: 20px;
123 | vertical-align: middle;
124 | }
125 |
126 | .xdsoft_datetimepicker .xdsoft_prev {
127 | float: left;
128 | background-position: -20px 0;
129 | }
130 | .xdsoft_datetimepicker .xdsoft_today_button {
131 | float: left;
132 | background-position: -70px 0;
133 | margin-left: 5px;
134 | }
135 |
136 | .xdsoft_datetimepicker .xdsoft_next {
137 | float: right;
138 | background-position: 0 0;
139 | }
140 |
141 | .xdsoft_datetimepicker .xdsoft_next,
142 | .xdsoft_datetimepicker .xdsoft_prev ,
143 | .xdsoft_datetimepicker .xdsoft_today_button {
144 | background-color: transparent;
145 | background-repeat: no-repeat;
146 | border: 0 none;
147 | cursor: pointer;
148 | display: block;
149 | height: 30px;
150 | opacity: 0.5;
151 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
152 | outline: medium none;
153 | overflow: hidden;
154 | padding: 0;
155 | position: relative;
156 | text-indent: 100%;
157 | white-space: nowrap;
158 | width: 20px;
159 | min-width: 0;
160 | }
161 |
162 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
163 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
164 | float: none;
165 | background-position: -40px -15px;
166 | height: 15px;
167 | width: 30px;
168 | display: block;
169 | margin-left: 14px;
170 | margin-top: 7px;
171 | }
172 | .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,
173 | .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next {
174 | float: none;
175 | margin-left: 0;
176 | margin-right: 14px;
177 | }
178 |
179 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
180 | background-position: -40px 0;
181 | margin-bottom: 7px;
182 | margin-top: 0;
183 | }
184 |
185 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
186 | height: 151px;
187 | overflow: hidden;
188 | border-bottom: 1px solid #ddd;
189 | }
190 |
191 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
192 | background: #f5f5f5;
193 | border-top: 1px solid #ddd;
194 | color: #666;
195 | font-size: 12px;
196 | text-align: center;
197 | border-collapse: collapse;
198 | cursor: pointer;
199 | border-bottom-width: 0;
200 | height: 25px;
201 | line-height: 25px;
202 | }
203 |
204 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {
205 | border-top-width: 0;
206 | }
207 |
208 | .xdsoft_datetimepicker .xdsoft_today_button:hover,
209 | .xdsoft_datetimepicker .xdsoft_next:hover,
210 | .xdsoft_datetimepicker .xdsoft_prev:hover {
211 | opacity: 1;
212 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
213 | }
214 |
215 | .xdsoft_datetimepicker .xdsoft_label {
216 | display: inline;
217 | position: relative;
218 | z-index: 9999;
219 | margin: 0;
220 | padding: 5px 3px;
221 | font-size: 14px;
222 | line-height: 20px;
223 | font-weight: bold;
224 | background-color: #fff;
225 | float: left;
226 | width: 182px;
227 | text-align: center;
228 | cursor: pointer;
229 | }
230 |
231 | .xdsoft_datetimepicker .xdsoft_label:hover>span {
232 | text-decoration: underline;
233 | }
234 |
235 | .xdsoft_datetimepicker .xdsoft_label:hover i {
236 | opacity: 1.0;
237 | }
238 |
239 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
240 | border: 1px solid #ccc;
241 | position: absolute;
242 | right: 0;
243 | top: 30px;
244 | z-index: 101;
245 | display: none;
246 | background: #fff;
247 | max-height: 160px;
248 | overflow-y: hidden;
249 | }
250 |
251 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px }
252 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px }
253 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
254 | color: #fff;
255 | background: #ff8000;
256 | }
257 |
258 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
259 | padding: 2px 10px 2px 5px;
260 | text-decoration: none !important;
261 | }
262 |
263 | .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
264 | background: #33aaff;
265 | box-shadow: #178fe5 0 1px 3px 0 inset;
266 | color: #fff;
267 | font-weight: 700;
268 | }
269 |
270 | .xdsoft_datetimepicker .xdsoft_month {
271 | width: 100px;
272 | text-align: right;
273 | }
274 |
275 | .xdsoft_datetimepicker .xdsoft_calendar {
276 | clear: both;
277 | }
278 |
279 | .xdsoft_datetimepicker .xdsoft_year{
280 | width: 48px;
281 | margin-left: 5px;
282 | }
283 |
284 | .xdsoft_datetimepicker .xdsoft_calendar table {
285 | border-collapse: collapse;
286 | width: 100%;
287 |
288 | }
289 |
290 | .xdsoft_datetimepicker .xdsoft_calendar td > div {
291 | padding-right: 5px;
292 | }
293 |
294 | .xdsoft_datetimepicker .xdsoft_calendar th {
295 | height: 25px;
296 | }
297 |
298 | .xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th {
299 | width: 14.2857142%;
300 | background: #f5f5f5;
301 | border: 1px solid #ddd;
302 | color: #666;
303 | font-size: 12px;
304 | text-align: right;
305 | vertical-align: middle;
306 | padding: 0;
307 | border-collapse: collapse;
308 | cursor: pointer;
309 | height: 25px;
310 | }
311 | .xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
312 | width: 12.5%;
313 | }
314 |
315 | .xdsoft_datetimepicker .xdsoft_calendar th {
316 | background: #f1f1f1;
317 | }
318 |
319 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
320 | color: #33aaff;
321 | }
322 |
323 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
324 | background: #ffe9d2;
325 | box-shadow: #ffb871 0 1px 4px 0 inset;
326 | color: #000;
327 | }
328 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
329 | background: #c1ffc9;
330 | box-shadow: #00dd1c 0 1px 4px 0 inset;
331 | color: #000;
332 | }
333 |
334 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
335 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
336 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
337 | background: #33aaff;
338 | box-shadow: #178fe5 0 1px 3px 0 inset;
339 | color: #fff;
340 | font-weight: 700;
341 | }
342 |
343 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
344 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
345 | .xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
346 | opacity: 0.5;
347 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
348 | cursor: default;
349 | }
350 |
351 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
352 | opacity: 0.2;
353 | -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
354 | }
355 |
356 | .xdsoft_datetimepicker .xdsoft_calendar td:hover,
357 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
358 | color: #fff !important;
359 | background: #ff8000 !important;
360 | box-shadow: none !important;
361 | }
362 |
363 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,
364 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover {
365 | background: #33aaff !important;
366 | box-shadow: #178fe5 0 1px 3px 0 inset !important;
367 | color: #fff !important;
368 | }
369 |
370 | .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
371 | .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {
372 | color: inherit !important;
373 | background: inherit !important;
374 | box-shadow: inherit !important;
375 | }
376 |
377 | .xdsoft_datetimepicker .xdsoft_calendar th {
378 | font-weight: 700;
379 | text-align: center;
380 | color: #999;
381 | cursor: default;
382 | }
383 |
384 | .xdsoft_datetimepicker .xdsoft_copyright {
385 | color: #ccc !important;
386 | font-size: 10px;
387 | clear: both;
388 | float: none;
389 | margin-left: 8px;
390 | }
391 |
392 | .xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important }
393 | .xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important }
394 |
395 | .xdsoft_time_box {
396 | position: relative;
397 | border: 1px solid #ccc;
398 | }
399 | .xdsoft_scrollbar >.xdsoft_scroller {
400 | background: #ccc !important;
401 | height: 20px;
402 | border-radius: 3px;
403 | }
404 | .xdsoft_scrollbar {
405 | position: absolute;
406 | width: 7px;
407 | right: 0;
408 | top: 0;
409 | bottom: 0;
410 | cursor: pointer;
411 | }
412 | .xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar {
413 | left: 0;
414 | right: auto;
415 | }
416 | .xdsoft_scroller_box {
417 | position: relative;
418 | }
419 |
420 | .xdsoft_datetimepicker.xdsoft_dark {
421 | box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
422 | background: #000;
423 | border-bottom: 1px solid #444;
424 | border-left: 1px solid #333;
425 | border-right: 1px solid #333;
426 | border-top: 1px solid #333;
427 | color: #ccc;
428 | }
429 |
430 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {
431 | border-bottom: 1px solid #222;
432 | }
433 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {
434 | background: #0a0a0a;
435 | border-top: 1px solid #222;
436 | color: #999;
437 | }
438 |
439 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {
440 | background-color: #000;
441 | }
442 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {
443 | border: 1px solid #333;
444 | background: #000;
445 | }
446 |
447 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
448 | color: #000;
449 | background: #007fff;
450 | }
451 |
452 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
453 | background: #cc5500;
454 | box-shadow: #b03e00 0 1px 3px 0 inset;
455 | color: #000;
456 | }
457 |
458 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
459 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
460 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
461 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {
462 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
463 | }
464 |
465 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
466 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
467 | background: #0a0a0a;
468 | border: 1px solid #222;
469 | color: #999;
470 | }
471 |
472 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
473 | background: #0e0e0e;
474 | }
475 |
476 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {
477 | color: #cc5500;
478 | }
479 |
480 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default {
481 | background: #ffe9d2;
482 | box-shadow: #ffb871 0 1px 4px 0 inset;
483 | color:#000;
484 | }
485 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint {
486 | background: #c1ffc9;
487 | box-shadow: #00dd1c 0 1px 4px 0 inset;
488 | color:#000;
489 | }
490 |
491 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
492 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
493 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
494 | background: #cc5500;
495 | box-shadow: #b03e00 0 1px 3px 0 inset;
496 | color: #000;
497 | }
498 |
499 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
500 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
501 | color: #000 !important;
502 | background: #007fff !important;
503 | }
504 |
505 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
506 | color: #666;
507 | }
508 |
509 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important }
510 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important }
511 | .xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important }
512 |
513 | .xdsoft_dark .xdsoft_time_box {
514 | border: 1px solid #333;
515 | }
516 |
517 | .xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {
518 | background: #333 !important;
519 | }
520 | .xdsoft_datetimepicker .xdsoft_save_selected {
521 | display: block;
522 | border: 1px solid #dddddd !important;
523 | margin-top: 5px;
524 | width: 100%;
525 | color: #454551;
526 | font-size: 13px;
527 | }
528 | .xdsoft_datetimepicker .blue-gradient-button {
529 | font-family: "museo-sans", "Book Antiqua", sans-serif;
530 | font-size: 12px;
531 | font-weight: 300;
532 | color: #82878c;
533 | height: 28px;
534 | position: relative;
535 | padding: 4px 17px 4px 33px;
536 | border: 1px solid #d7d8da;
537 | background: -moz-linear-gradient(top, #fff 0%, #f4f8fa 73%);
538 | /* FF3.6+ */
539 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(73%, #f4f8fa));
540 | /* Chrome,Safari4+ */
541 | background: -webkit-linear-gradient(top, #fff 0%, #f4f8fa 73%);
542 | /* Chrome10+,Safari5.1+ */
543 | background: -o-linear-gradient(top, #fff 0%, #f4f8fa 73%);
544 | /* Opera 11.10+ */
545 | background: -ms-linear-gradient(top, #fff 0%, #f4f8fa 73%);
546 | /* IE10+ */
547 | background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%);
548 | /* W3C */
549 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 );
550 | /* IE6-9 */
551 | }
552 | .xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span {
553 | color: #454551;
554 | background: -moz-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
555 | /* FF3.6+ */
556 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f8fa), color-stop(73%, #FFF));
557 | /* Chrome,Safari4+ */
558 | background: -webkit-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
559 | /* Chrome10+,Safari5.1+ */
560 | background: -o-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
561 | /* Opera 11.10+ */
562 | background: -ms-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
563 | /* IE10+ */
564 | background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%);
565 | /* W3C */
566 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 );
567 | /* IE6-9 */
568 | }
569 |
--------------------------------------------------------------------------------
/doc.tpl:
--------------------------------------------------------------------------------
1 | DateTimepicker
2 |
3 | Use mask DateTimepicker
4 |
5 | TimePicker
6 |
7 | DatePicker
8 |
9 | Inline DateTimePicker
10 |
11 | Dark theme
12 |
13 |
39 | [include scripts/pp/reklama1.php]
40 | How do I use it?
41 | First include to page css and js files
42 | <!-- this should go after your </body> -->
43 | <link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css"/ >
44 | <script src="jquery.js"></script>
45 | <script src="build/jquery.datetimepicker.full.min.js"></script>
46 | Examples
47 |
48 | Simple init DateTimePicker Example #
49 | HTML
50 | <input id="datetimepicker" type="text" >
51 | javaScript
52 | jQuery('#datetimepicker').datetimepicker();
53 | Result
54 |
55 |
58 |
59 | i18n DatePicker Example #
60 | All supported languages here
61 | javaScript
62 | jQuery.datetimepicker.setLocale('de');
63 |
64 | jQuery('#datetimepicker1').datetimepicker({
65 | i18n:{
66 | de:{
67 | months:[
68 | 'Januar','Februar','März','April',
69 | 'Mai','Juni','Juli','August',
70 | 'September','Oktober','November','Dezember',
71 | ],
72 | dayOfWeek:[
73 | "So.", "Mo", "Di", "Mi",
74 | "Do", "Fr", "Sa.",
75 | ]
76 | }
77 | },
78 | timepicker:false,
79 | format:'d.m.Y'
80 | });
81 | Result
82 |
83 |
98 |
99 | Only TimePicker Example #
100 | javaScript
101 | jQuery('#datetimepicker2').datetimepicker({
102 | datepicker:false,
103 | format:'H:i'
104 | });
105 | Result
106 |
107 |
115 | Date Time Picker start date #
116 | javaScript
117 | jQuery('#datetimepicker_start_time').datetimepicker({
118 | startDate:'+1971/05/01'//or 1986/12/08
119 | });
120 | Result
121 |
122 |
129 | Date Time Picker from unixtime #
130 | javaScript
131 | jQuery('#datetimepicker_unixtime').datetimepicker({
132 | format:'unixtime'
133 | });
134 | Result
135 |
136 |
143 |
144 | Inline DateTimePicker Example #
145 | javaScript
146 | jQuery('#datetimepicker3').datetimepicker({
147 | format:'d.m.Y H:i',
148 | inline:true,
149 | lang:'ru'
150 | });
151 | Result
152 |
153 |
162 |
163 | Icon trigger #
164 | Click the icon next to the input field to show the datetimepicker
165 | javaScript
166 | jQuery('#datetimepicker4').datetimepicker({
167 | format:'d.m.Y H:i',
168 | lang:'ru'
169 | });
170 | and handler onclick event
171 | jQuery('#image_button').click(function(){
172 | jQuery('#datetimepicker4').datetimepicker('show'); //support hide,show and destroy command
173 | });
174 | Result
175 |
180 |
181 |
192 |
193 | allowTimes options TimePicker Example #
194 | javaScript
195 | jQuery('#datetimepicker5').datetimepicker({
196 | datepicker:false,
197 | allowTimes:[
198 | '12:00', '13:00', '15:00',
199 | '17:00', '17:05', '17:20', '19:00', '20:00'
200 | ]
201 | });
202 | Result
203 |
204 |
212 |
213 | handler onChangeDateTime Example #
214 | javaScript
215 | jQuery('#datetimepicker6').datetimepicker({
216 | timepicker:false,
217 | onChangeDateTime:function(dp,$input){
218 | alert($input.val())
219 | }
220 | });
221 | Result
222 |
223 |
233 |
234 | minDate and maxDate Example #
235 | javaScript
236 | jQuery('#datetimepicker7').datetimepicker({
237 | timepicker:false,
238 | formatDate:'Y/m/d',
239 | minDate:'-1970/01/02',//yesterday is minimum date(for today use 0 or -1970/01/01)
240 | maxDate:'+1970/01/02'//tomorrow is maximum date calendar
241 | });
242 | Result
243 |
244 |
254 |
255 | Use mask input Example #
256 | javaScript
257 | jQuery('#datetimepicker_mask').datetimepicker({
258 | timepicker:false,
259 | mask:true, // '9999/19/39 29:59' - digit is the maximum possible for a cell
260 | });
261 | Result
262 |
263 |
272 |
273 | Set options runtime DateTimePicker #
274 | If select day is Saturday, the minimum set 11:00, otherwise 8:00
275 | javaScript
276 | var logic = function( currentDateTime ){
277 | // 'this' is jquery object datetimepicker
278 | if( currentDateTime.getDay()==6 ){
279 | this.setOptions({
280 | minTime:'11:00'
281 | });
282 | }else
283 | this.setOptions({
284 | minTime:'8:00'
285 | });
286 | };
287 | jQuery('#datetimepicker_rantime').datetimepicker({
288 | onChangeDateTime:logic,
289 | onShow:logic
290 | });
291 | Result
292 |
293 |
311 |
312 | After generating a calendar called the event onGenerate #
313 | Invert settings minDate and maxDate
314 | javaScript
315 | jQuery('#datetimepicker8').datetimepicker({
316 | onGenerate:function( ct ){
317 | jQuery(this).find('.xdsoft_date')
318 | .toggleClass('xdsoft_disabled');
319 | },
320 | minDate:'-1970/01/2',
321 | maxDate:'+1970/01/2',
322 | timepicker:false
323 | });
324 | Result
325 |
326 |
339 |
340 | disable all weekend #
341 | javaScript
342 | jQuery('#datetimepicker9').datetimepicker({
343 | onGenerate:function( ct ){
344 | jQuery(this).find('.xdsoft_date.xdsoft_weekend')
345 | .addClass('xdsoft_disabled');
346 | },
347 | weekends:['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014'],
348 | timepicker:false
349 | });
350 | Result
351 |
352 |
364 |
365 | Use another date parser/formatter#
366 | By default, datetimepicker uses php-date-formatter for parsing and formatting the date and time displayed. You can replace the library by setting a custom DateFormatter. Simply supply an object that implements the parseDate and formatDate methods. This example uses the popular MomentJS library:
367 | $.datetimepicker.setDateFormatter({
368 | parseDate: function (date, format) {
369 | var d = moment(date, format);
370 | return d.isValid() ? d.toDate() : false;
371 | },
372 |
373 | formatDate: function (date, format) {
374 | return moment(date).format(format);
375 | },
376 |
377 | //Optional if using mask input
378 | formatMask: function(format){
379 | return format
380 | .replace(/Y{4}/g, '9999')
381 | .replace(/Y{2}/g, '99')
382 | .replace(/M{2}/g, '19')
383 | .replace(/D{2}/g, '39')
384 | .replace(/H{2}/g, '29')
385 | .replace(/m{2}/g, '59')
386 | .replace(/s{2}/g, '59');
387 | }
388 | });
389 |
390 | After this, you can init datetimepicker with moment.js format
391 | jQuery('#datetimepicker').datetimepicker({
392 | format:'DD.MM.YYYY h:mm a',
393 | formatTime:'h:mm a',
394 | formatDate:'DD.MM.YYYY'
395 | });
396 | Because of its popularity, moment.js has a pre-defined configuration that can be enabled with:
397 | $.datetimepicker.setDateFormatter('moment');
398 |
399 | Range between date#
400 | javaScript
401 | jQuery(function(){
402 | jQuery('#date_timepicker_start').datetimepicker({
403 | format:'Y/m/d',
404 | onShow:function( ct ){
405 | this.setOptions({
406 | maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false
407 | })
408 | },
409 | timepicker:false
410 | });
411 | jQuery('#date_timepicker_end').datetimepicker({
412 | format:'Y/m/d',
413 | onShow:function( ct ){
414 | this.setOptions({
415 | minDate:jQuery('#date_timepicker_start').val()?jQuery('#date_timepicker_start').val():false
416 | })
417 | },
418 | timepicker:false
419 | });
420 | });
421 | Result
422 | Start End
423 |
445 | [include scripts/pp/reklama2.php]
446 | {module 147}
447 | Full options list
448 |
449 |
450 | Name default Descr Ex.
451 |
452 |
453 |
454 | lazyInit
455 | false
456 | Initializing plugin occurs only when the user interacts. Greatly accelerates plugin work with a large number of fields
457 |
458 |
459 |
460 | parentID
461 | 'body'
462 | Attach datetimepicker to this element, which can be either a selector or a DOM/JQuery element
463 |
464 | {parentID:'#parent'}
465 |
466 |
467 |
468 | value
469 | null
470 | Current value datetimepicker. If it is set, ignored input.value
471 |
472 | {value:'12.03.2013',
473 | format:'d.m.Y'}
474 |
475 |
476 |
477 | lang
478 | en
479 | Language i18n
480 |
481 | ar - Arabic
482 | az - Azerbaijanian (Azeri)
483 | bg - Bulgarian
484 | bs - Bosanski
485 | ca - Català
486 | ch - Simplified Chinese
487 | cs - Čeština
488 | da - Dansk
489 | de - German
490 | el - Ελληνικά
491 | en - English
492 | en-GB - English (British)
493 | es - Spanish
494 | et - "Eesti"
495 | eu - Euskara
496 | fa - Persian
497 | fi - Finnish (Suomi)
498 | fr - French
499 | gl - Galego
500 | he - Hebrew (עברית)
501 | hr - Hrvatski
502 | hu - Hungarian
503 | id - Indonesian
504 | it - Italian
505 | ja - Japanese
506 | ko - Korean (한국어)
507 | kr - Korean
508 | lt - Lithuanian (lietuvių)
509 | lv - Latvian (Latviešu)
510 | mk - Macedonian (Македонски)
511 | mn - Mongolian (Монгол)
512 | nl - Dutch
513 | no - Norwegian
514 | pl - Polish
515 | pt - Portuguese
516 | pt-BR - Português(Brasil)
517 | ro - Romanian
518 | ru - Russian
519 | se - Swedish
520 | sk - Slovenčina
521 | sl - Slovenščina
522 | sq - Albanian (Shqip)
523 | sr - Serbian Cyrillic (Српски)
524 | sr-YU - Serbian (Srpski)
525 | sv - Svenska
526 | th - Thai
527 | tr - Turkish
528 | uk - Ukrainian
529 | vi - Vietnamese
530 | zh - Simplified Chinese (简体中文)
531 | zh-TW - Traditional Chinese (繁體中文)
532 |
533 |
534 |
535 |
536 |
537 | $.datetimepicker.setLocale('ru');
538 |
539 |
540 |
541 | format
542 | Y/m/d H:i
543 | Format datetime. More Also there is a special type of «unixtime»
544 |
545 | {format:'H'}
546 | {format:'Y'}{format:'unixtime'}
547 |
548 |
549 |
550 | formatDate
551 | Y/m/d
552 | Format date for minDate and maxDate
553 |
554 | {formatDate:'d.m.Y'}
555 |
556 |
557 |
558 | formatTime
559 | H:i
560 | Similarly, formatDate . But for minTime and maxTime
561 |
562 | {formatTime:'H'}
563 |
564 |
565 |
566 | step
567 | 60
568 | Step time
569 |
570 | {step:5}
571 |
572 |
573 |
574 | closeOnDateSelect
575 | 0
576 |
577 |
578 | {closeOnDateSelect:true}
579 |
580 |
581 |
582 | closeOnWithoutClick
583 | true
584 |
585 |
586 | { closeOnWithoutClick :false}
587 |
588 |
589 |
590 | validateOnBlur
591 | true
592 | Verify datetime value from input, when losing focus. If value is not valid datetime, then to value inserts the current datetime
593 |
594 | { validateOnBlur:false}
595 |
596 |
597 |
598 | timepicker
599 | true
600 |
601 |
602 | {timepicker:false}
603 |
604 |
605 |
606 | datepicker
607 | true
608 |
609 |
610 | {datepicker:false}
611 |
612 |
613 |
614 | weeks
615 | false
616 | Show week number
617 |
618 | {weeks:true}
619 |
620 |
621 |
622 | theme
623 | 'default'
624 | Setting a color scheme. Now only supported default and dark theme
625 |
626 | {theme:'dark'}
627 |
628 |
629 |
630 | minDate
631 | false
632 |
633 |
634 | {minDate:0} // today
635 | {minDate:'2013/12/03'}
636 | {minDate:'-1970/01/02'} // yesterday
637 | {minDate:'05.12.2013',formatDate:'d.m.Y'}
638 |
639 |
640 |
641 | maxDate
642 | false
643 |
644 |
645 | {maxDate:0}
646 | {maxDate:'2013/12/03'}
647 | {maxDate:'+1970/01/02'} // tomorrow
648 | {maxDate:'05.12.2013',formatDate:'d.m.Y'}
649 |
650 |
651 |
652 | startDate
653 | false
654 | calendar set date use starDate
655 |
656 | {startDate:'1987/12/03'}
657 | {startDate:new Date()}
658 | {startDate:'+1970/01/02'} // tomorrow
659 | {startDate:'08.12.1986',formatDate:'d.m.Y'}
660 |
661 |
662 |
663 |
664 | defaultDate
665 | false
666 | if input value is empty, calendar set date use defaultDate
667 |
668 | {defaultDate:'1987/12/03'}
669 | {defaultDate:new Date()}
670 | {defaultDate:'+1970/01/02'} // tomorrow
671 | {defaultDate:'08.12.1986',formatDate:'d.m.Y'}
672 |
673 |
674 |
675 |
676 | defaultTime
677 | false
678 | if input value is empty, timepicker set time use defaultTime
679 |
680 | {defaultTime:'05:00'}
681 | {defaultTime:'33-12',formatTime:'i-H'}
682 |
683 |
684 |
685 |
686 | minTime
687 | false
688 |
689 |
690 | {minTime:0,}// now
691 | {minTime:new Date()}
692 | {minTime:'12:00'}
693 | {minTime:'13:45:34',formatTime:'H:i:s'}
694 |
695 |
696 |
697 | maxTime
698 | false
699 |
700 |
701 | {maxTime:0,}
702 | {maxTime:'12:00'}
703 | {maxTime:'13:45:34',formatTime:'H:i:s'}
704 |
705 |
706 |
707 | allowTimes
708 | []
709 |
710 |
711 | {allowTimes:[
712 | '09:00',
713 | '11:00',
714 | '12:00',
715 | '21:00'
716 | ]}
717 |
718 |
719 |
720 | mask
721 | false
722 | Use mask for input. true - automatically generates a mask on the field 'format', Digit from 0 to 9, set the highest possible digit for the value. For example: the first digit of hours can not be greater than 2, and the first digit of the minutes can not be greater than 5
723 |
724 | {mask:'9999/19/39',format:'Y/m/d'}
725 | {mask:true,format:'Y/m/d'} // automatically generate a mask 9999/99/99
726 | {mask:'29:59',format:'H:i'} //
727 | {mask:true,format:'H:i'} //automatically generate a mask 99:99
728 |
729 |
730 |
731 | opened
732 | false
733 |
734 |
735 |
736 |
737 | yearOffset
738 | 0
739 | Year offset for Buddhist era
740 |
741 |
742 |
743 | inline
744 | false
745 |
746 |
747 |
748 |
749 | todayButton
750 | true
751 | Show button "Go To Today"
752 |
753 |
754 |
755 | defaultSelect
756 | true
757 | Highlight the current date even if the input is empty
758 |
759 |
760 |
761 | allowBlank
762 | false
763 | Allow field to be empty even with the option validateOnBlur in true
764 |
765 |
766 |
767 | timepickerScrollbar
768 | true
769 |
770 |
771 |
772 |
773 | onSelectDate
774 | function(){}
775 |
776 |
777 | onSelectDate:function(ct,$i){
778 | alert(ct.dateFormat('d/m/Y'))
779 | }
780 |
781 |
782 |
783 | onSelectTime
784 | function(current_time,$input){}
785 |
786 |
787 |
788 |
789 | onChangeMonth
790 | function(current_time,$input){}
791 |
792 |
793 |
794 |
795 | onChangeYear
796 | function(current_time,$input){}
797 |
798 |
799 |
800 |
801 | onChangeDateTime
802 | function(current_time,$input){}
803 |
804 |
805 |
806 |
807 | onShow
808 | function(current_time,$input){}
809 |
810 |
811 |
812 |
813 | onClose
814 | function(current_time,$input){}
815 |
816 | onSelectDate:function(ct,$i){
817 | $i.datetimepicker('destroy');
818 | }
819 |
820 |
821 | onGenerate
822 | function(current_time,$input){}
823 | trigger after construct calendar and timepicker
824 |
825 |
826 |
827 | withoutCopyright
828 | true
829 |
830 |
831 |
832 |
833 | inverseButton
834 | false
835 |
836 |
837 |
838 |
839 | scrollMonth
840 | true
841 |
842 |
843 |
844 |
845 | scrollTime
846 | true
847 |
848 |
849 |
850 |
851 | scrollInput
852 | true
853 |
854 |
855 |
856 |
857 | hours12
858 | false
859 |
860 |
861 |
862 |
863 | yearStart
864 | 1950
865 | Start value for fast Year selector
866 |
867 |
868 |
869 | yearEnd
870 | 2050
871 | End value for fast Year selector
872 |
873 |
874 |
875 | roundTime
876 | round
877 | Round time in timepicker, possible values: round, ceil, floor
878 |
879 | {roundTime:'floor'}
880 |
881 |
882 |
883 | dayOfWeekStart
884 | 0
885 |
886 | Star week DatePicker. Default Sunday - 0.
887 | Monday - 1 ...
888 |
889 |
890 |
891 |
892 | className
893 |
894 |
895 |
896 |
897 |
898 | weekends
899 | []
900 |
901 |
902 | ['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014']
903 |
904 |
905 |
906 | disabledDates
907 | []
908 | Disbale all dates in list
909 |
910 | {disabledDates: ['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014'], formatDate:'d.m.Y'}
911 |
912 |
913 |
914 | allowDates
915 | []
916 | Allow all dates in list
917 |
918 | {allowDates: ['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014'], formatDate:'d.m.Y'}
919 |
920 |
921 |
922 | allowDateRe
923 | []
924 | Use Regex to check dates
925 |
926 | {format:'Y-m-d',allowDateRe:'\d{4}-(03-31|06-30|09-30|12-31)' }
927 |
928 |
929 |
930 | disabledWeekDays
931 | []
932 | Disable days listed by index
933 |
934 | [0, 3, 4]
935 |
936 |
937 |
938 | id
939 |
940 |
941 |
942 |
943 |
944 | style
945 |
946 |
947 |
948 |
949 |
950 | ownerDocument
951 | document
952 | The ownerDocument object for the datetimepicker to properly attach events and calc position (iframe support).
953 |
954 |
955 |
956 | contentWindow
957 | window
958 | The contentWindow object that contains the datetimepicker to properly attach events (iframe support).
959 |
960 |
961 |
962 |
963 |
964 | Methods
965 | show
966 | Show Datetimepicker
967 | $('#input').datetimepicker();
968 | $('button.somebutton').on('click', function () {
969 | $('#input').datetimepicker('show');
970 | });
971 | hide
972 | Hide Datetimepicker
973 | $('#input').datetimepicker();
974 | $(window).on('resize', function () {
975 | $('#input').datetimepicker('hide');
976 | });
977 | toggle
978 | Sgow/Hide Datetimepicker
979 | $('#input').datetimepicker();
980 | $('button.trigger').on('click', function () {
981 | $('#input').datetimepicker('toggle');
982 | });
983 | destroy
984 | Destroy datetimepicker
985 | $('#input').datetimepicker();
986 | $('#input').datetimepicker('destroy');
987 |
988 | reset
989 | Reset datetimepicker's value
990 | $('#input').datetimepicker();
991 | $('#input').val('12/01/2006');
992 | $('#input')
993 | .datetimepicker('show')
994 | .datetimepicker('reset')
995 |
996 | validate
997 | Validate datetimepicker's value
998 | $('#input').datetimepicker();
999 | $('#input').datetimepicker(validate)
1000 |
1001 | setOptions
1002 | Set datetimepicker's options
1003 | $('#input').datetimepicker({format: 'd.m.Y'});
1004 | $('#input').datetimepicker('setOptions', {format: 'd/m/Y'});
1005 | //or
1006 | $('#input').datetimepicker({format: 'd/m/Y'});
1007 |
1008 | getValue
1009 | Get current datetimepicker's value (Date object)
1010 | $('#input').datetimepicker();
1011 | $('button.somebutton').on('click', function () {
1012 | var d = $('#input').datetimepicker('getValue');
1013 | console.log(d.getFullYear());
1014 | });
1015 |
1016 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@colors/colors@1.5.0":
6 | version "1.5.0"
7 | resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
8 | integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
9 |
10 | "@socket.io/component-emitter@~3.1.0":
11 | version "3.1.0"
12 | resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
13 | integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
14 |
15 | "@types/cookie@^0.4.1":
16 | version "0.4.1"
17 | resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
18 | integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
19 |
20 | "@types/cors@^2.8.12":
21 | version "2.8.13"
22 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94"
23 | integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==
24 | dependencies:
25 | "@types/node" "*"
26 |
27 | "@types/node@*", "@types/node@>=10.0.0":
28 | version "18.14.2"
29 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.2.tgz#c076ed1d7b6095078ad3cf21dfeea951842778b1"
30 | integrity sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==
31 |
32 | accepts@~1.3.4:
33 | version "1.3.7"
34 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
35 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
36 | dependencies:
37 | mime-types "~2.1.24"
38 | negotiator "0.6.2"
39 |
40 | ansi-colors@4.1.1:
41 | version "4.1.1"
42 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
43 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
44 |
45 | ansi-regex@^2.0.0:
46 | version "2.1.1"
47 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
48 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
49 |
50 | ansi-regex@^5.0.1:
51 | version "5.0.1"
52 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
53 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
54 |
55 | ansi-styles@^2.2.1:
56 | version "2.2.1"
57 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
58 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
59 |
60 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
61 | version "4.3.0"
62 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
63 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
64 | dependencies:
65 | color-convert "^2.0.1"
66 |
67 | anymatch@~3.1.2:
68 | version "3.1.3"
69 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
70 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
71 | dependencies:
72 | normalize-path "^3.0.0"
73 | picomatch "^2.0.4"
74 |
75 | argparse@^2.0.1:
76 | version "2.0.1"
77 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
78 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
79 |
80 | assertion-error@^1.1.0:
81 | version "1.1.0"
82 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
83 | integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
84 |
85 | balanced-match@^1.0.0:
86 | version "1.0.0"
87 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
88 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
89 |
90 | base64id@2.0.0, base64id@~2.0.0:
91 | version "2.0.0"
92 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6"
93 | integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==
94 |
95 | binary-extensions@^2.0.0:
96 | version "2.2.0"
97 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
98 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
99 |
100 | body-parser@^1.19.0:
101 | version "1.20.2"
102 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
103 | integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
104 | dependencies:
105 | bytes "3.1.2"
106 | content-type "~1.0.5"
107 | debug "2.6.9"
108 | depd "2.0.0"
109 | destroy "1.2.0"
110 | http-errors "2.0.0"
111 | iconv-lite "0.4.24"
112 | on-finished "2.4.1"
113 | qs "6.11.0"
114 | raw-body "2.5.2"
115 | type-is "~1.6.18"
116 | unpipe "1.0.0"
117 |
118 | brace-expansion@^1.1.7:
119 | version "1.1.11"
120 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
121 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
122 | dependencies:
123 | balanced-match "^1.0.0"
124 | concat-map "0.0.1"
125 |
126 | brace-expansion@^2.0.1:
127 | version "2.0.1"
128 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
129 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
130 | dependencies:
131 | balanced-match "^1.0.0"
132 |
133 | braces@^3.0.2, braces@~3.0.2:
134 | version "3.0.2"
135 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
136 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
137 | dependencies:
138 | fill-range "^7.0.1"
139 |
140 | browser-stdout@1.3.1:
141 | version "1.3.1"
142 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
143 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
144 |
145 | bytes@3.1.2:
146 | version "3.1.2"
147 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
148 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
149 |
150 | call-bind@^1.0.0:
151 | version "1.0.2"
152 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
153 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
154 | dependencies:
155 | function-bind "^1.1.1"
156 | get-intrinsic "^1.0.2"
157 |
158 | camelcase@^2.0.1:
159 | version "2.1.1"
160 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
161 | integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
162 |
163 | camelcase@^6.0.0:
164 | version "6.3.0"
165 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
166 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
167 |
168 | chai@^4.1.2:
169 | version "4.2.0"
170 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5"
171 | integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==
172 | dependencies:
173 | assertion-error "^1.1.0"
174 | check-error "^1.0.2"
175 | deep-eql "^3.0.1"
176 | get-func-name "^2.0.0"
177 | pathval "^1.1.0"
178 | type-detect "^4.0.5"
179 |
180 | chalk@^1.1.1:
181 | version "1.1.3"
182 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
183 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
184 | dependencies:
185 | ansi-styles "^2.2.1"
186 | escape-string-regexp "^1.0.2"
187 | has-ansi "^2.0.0"
188 | strip-ansi "^3.0.0"
189 | supports-color "^2.0.0"
190 |
191 | chalk@^4.1.0:
192 | version "4.1.2"
193 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
194 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
195 | dependencies:
196 | ansi-styles "^4.1.0"
197 | supports-color "^7.1.0"
198 |
199 | check-error@^1.0.2:
200 | version "1.0.2"
201 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
202 | integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
203 |
204 | chokidar@3.5.3, chokidar@^3.5.1:
205 | version "3.5.3"
206 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
207 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
208 | dependencies:
209 | anymatch "~3.1.2"
210 | braces "~3.0.2"
211 | glob-parent "~5.1.2"
212 | is-binary-path "~2.1.0"
213 | is-glob "~4.0.1"
214 | normalize-path "~3.0.0"
215 | readdirp "~3.6.0"
216 | optionalDependencies:
217 | fsevents "~2.3.2"
218 |
219 | cliui@^3.0.3:
220 | version "3.2.0"
221 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
222 | integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
223 | dependencies:
224 | string-width "^1.0.1"
225 | strip-ansi "^3.0.1"
226 | wrap-ansi "^2.0.0"
227 |
228 | cliui@^7.0.2:
229 | version "7.0.4"
230 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
231 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
232 | dependencies:
233 | string-width "^4.2.0"
234 | strip-ansi "^6.0.0"
235 | wrap-ansi "^7.0.0"
236 |
237 | code-point-at@^1.0.0:
238 | version "1.1.0"
239 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
240 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
241 |
242 | color-convert@^2.0.1:
243 | version "2.0.1"
244 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
245 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
246 | dependencies:
247 | color-name "~1.1.4"
248 |
249 | color-name@~1.1.4:
250 | version "1.1.4"
251 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
252 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
253 |
254 | commander@^2.9.0:
255 | version "2.20.3"
256 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
257 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
258 |
259 | concat-cli@^4.0.0:
260 | version "4.0.0"
261 | resolved "https://registry.yarnpkg.com/concat-cli/-/concat-cli-4.0.0.tgz#a73a0fb0d18b25804ebe703bcc35922324dbf74d"
262 | integrity sha1-pzoPsNGLJYBOvnA7zDWSIyTb900=
263 | dependencies:
264 | chalk "^1.1.1"
265 | concat "^1.0.0"
266 | yargs "^3.30.0"
267 |
268 | concat-map@0.0.1:
269 | version "0.0.1"
270 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
271 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
272 |
273 | concat@^1.0.0:
274 | version "1.0.3"
275 | resolved "https://registry.yarnpkg.com/concat/-/concat-1.0.3.tgz#40f3353089d65467695cb1886b45edd637d8cca8"
276 | integrity sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=
277 | dependencies:
278 | commander "^2.9.0"
279 |
280 | concat@azer/concat:
281 | version "1.0.0"
282 | resolved "https://codeload.github.com/azer/concat/tar.gz/c64c5cbc2e60b0bc1a8f4bceafed661f66f19dcf"
283 | dependencies:
284 | parallel-loop azer/parallel-loop
285 | serial-loop azer/serial-loop
286 |
287 | connect@^3.7.0:
288 | version "3.7.0"
289 | resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8"
290 | integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
291 | dependencies:
292 | debug "2.6.9"
293 | finalhandler "1.1.2"
294 | parseurl "~1.3.3"
295 | utils-merge "1.0.1"
296 |
297 | content-type@~1.0.5:
298 | version "1.0.5"
299 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
300 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
301 |
302 | cookie@~0.4.1:
303 | version "0.4.2"
304 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
305 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
306 |
307 | cors@~2.8.5:
308 | version "2.8.5"
309 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
310 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
311 | dependencies:
312 | object-assign "^4"
313 | vary "^1"
314 |
315 | custom-event@~1.0.0:
316 | version "1.0.1"
317 | resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
318 | integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=
319 |
320 | date-format@^4.0.14:
321 | version "4.0.14"
322 | resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400"
323 | integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==
324 |
325 | debug@2.6.9:
326 | version "2.6.9"
327 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
328 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
329 | dependencies:
330 | ms "2.0.0"
331 |
332 | debug@4.3.4, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2:
333 | version "4.3.4"
334 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
335 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
336 | dependencies:
337 | ms "2.1.2"
338 |
339 | decamelize@^1.1.1:
340 | version "1.2.0"
341 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
342 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
343 |
344 | decamelize@^4.0.0:
345 | version "4.0.0"
346 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
347 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
348 |
349 | deep-eql@^3.0.1:
350 | version "3.0.1"
351 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
352 | integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
353 | dependencies:
354 | type-detect "^4.0.0"
355 |
356 | depd@2.0.0:
357 | version "2.0.0"
358 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
359 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
360 |
361 | destroy@1.2.0:
362 | version "1.2.0"
363 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
364 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
365 |
366 | di@^0.0.1:
367 | version "0.0.1"
368 | resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
369 | integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=
370 |
371 | diff@5.0.0:
372 | version "5.0.0"
373 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
374 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
375 |
376 | dom-serialize@^2.2.1:
377 | version "2.2.1"
378 | resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b"
379 | integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==
380 | dependencies:
381 | custom-event "~1.0.0"
382 | ent "~2.2.0"
383 | extend "^3.0.0"
384 | void-elements "^2.0.0"
385 |
386 | ee-first@1.1.1:
387 | version "1.1.1"
388 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
389 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
390 |
391 | emoji-regex@^8.0.0:
392 | version "8.0.0"
393 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
394 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
395 |
396 | encodeurl@~1.0.2:
397 | version "1.0.2"
398 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
399 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
400 |
401 | engine.io-parser@~5.0.3:
402 | version "5.0.6"
403 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45"
404 | integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==
405 |
406 | engine.io@~6.4.1:
407 | version "6.4.1"
408 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.1.tgz#8056b4526a88e779f9c280d820422d4e3eeaaae5"
409 | integrity sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==
410 | dependencies:
411 | "@types/cookie" "^0.4.1"
412 | "@types/cors" "^2.8.12"
413 | "@types/node" ">=10.0.0"
414 | accepts "~1.3.4"
415 | base64id "2.0.0"
416 | cookie "~0.4.1"
417 | cors "~2.8.5"
418 | debug "~4.3.1"
419 | engine.io-parser "~5.0.3"
420 | ws "~8.11.0"
421 |
422 | ent@~2.2.0:
423 | version "2.2.0"
424 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
425 | integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
426 |
427 | escalade@^3.1.1:
428 | version "3.1.1"
429 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
430 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
431 |
432 | escape-html@~1.0.3:
433 | version "1.0.3"
434 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
435 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
436 |
437 | escape-string-regexp@4.0.0:
438 | version "4.0.0"
439 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
440 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
441 |
442 | escape-string-regexp@^1.0.2:
443 | version "1.0.5"
444 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
445 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
446 |
447 | eventemitter3@^4.0.0:
448 | version "4.0.7"
449 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
450 | integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
451 |
452 | extend@^3.0.0:
453 | version "3.0.2"
454 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
455 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
456 |
457 | fill-range@^7.0.1:
458 | version "7.0.1"
459 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
460 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
461 | dependencies:
462 | to-regex-range "^5.0.1"
463 |
464 | finalhandler@1.1.2:
465 | version "1.1.2"
466 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
467 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
468 | dependencies:
469 | debug "2.6.9"
470 | encodeurl "~1.0.2"
471 | escape-html "~1.0.3"
472 | on-finished "~2.3.0"
473 | parseurl "~1.3.3"
474 | statuses "~1.5.0"
475 | unpipe "~1.0.0"
476 |
477 | find-up@5.0.0:
478 | version "5.0.0"
479 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
480 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
481 | dependencies:
482 | locate-path "^6.0.0"
483 | path-exists "^4.0.0"
484 |
485 | flat@^5.0.2:
486 | version "5.0.2"
487 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
488 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
489 |
490 | flatted@^3.2.7:
491 | version "3.2.7"
492 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
493 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
494 |
495 | follow-redirects@^1.0.0:
496 | version "1.13.0"
497 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
498 | integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
499 |
500 | fs-extra@^8.1.0:
501 | version "8.1.0"
502 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
503 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
504 | dependencies:
505 | graceful-fs "^4.2.0"
506 | jsonfile "^4.0.0"
507 | universalify "^0.1.0"
508 |
509 | fs.realpath@^1.0.0:
510 | version "1.0.0"
511 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
512 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
513 |
514 | fsevents@~2.3.2:
515 | version "2.3.2"
516 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
517 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
518 |
519 | function-bind@^1.1.1:
520 | version "1.1.1"
521 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
522 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
523 |
524 | get-caller-file@^2.0.5:
525 | version "2.0.5"
526 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
527 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
528 |
529 | get-func-name@^2.0.0:
530 | version "2.0.0"
531 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
532 | integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
533 |
534 | get-intrinsic@^1.0.2:
535 | version "1.2.0"
536 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
537 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
538 | dependencies:
539 | function-bind "^1.1.1"
540 | has "^1.0.3"
541 | has-symbols "^1.0.3"
542 |
543 | glob-parent@~5.1.2:
544 | version "5.1.2"
545 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
546 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
547 | dependencies:
548 | is-glob "^4.0.1"
549 |
550 | glob@7.2.0:
551 | version "7.2.0"
552 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
553 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
554 | dependencies:
555 | fs.realpath "^1.0.0"
556 | inflight "^1.0.4"
557 | inherits "2"
558 | minimatch "^3.0.4"
559 | once "^1.3.0"
560 | path-is-absolute "^1.0.0"
561 |
562 | glob@^7.1.3, glob@^7.1.7:
563 | version "7.2.3"
564 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
565 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
566 | dependencies:
567 | fs.realpath "^1.0.0"
568 | inflight "^1.0.4"
569 | inherits "2"
570 | minimatch "^3.1.1"
571 | once "^1.3.0"
572 | path-is-absolute "^1.0.0"
573 |
574 | graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6:
575 | version "4.2.10"
576 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
577 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
578 |
579 | has-ansi@^2.0.0:
580 | version "2.0.0"
581 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
582 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
583 | dependencies:
584 | ansi-regex "^2.0.0"
585 |
586 | has-flag@^4.0.0:
587 | version "4.0.0"
588 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
589 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
590 |
591 | has-symbols@^1.0.3:
592 | version "1.0.3"
593 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
594 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
595 |
596 | has@^1.0.3:
597 | version "1.0.3"
598 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
599 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
600 | dependencies:
601 | function-bind "^1.1.1"
602 |
603 | he@1.2.0:
604 | version "1.2.0"
605 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
606 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
607 |
608 | http-errors@2.0.0:
609 | version "2.0.0"
610 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
611 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
612 | dependencies:
613 | depd "2.0.0"
614 | inherits "2.0.4"
615 | setprototypeof "1.2.0"
616 | statuses "2.0.1"
617 | toidentifier "1.0.1"
618 |
619 | http-proxy@^1.18.1:
620 | version "1.18.1"
621 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
622 | integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
623 | dependencies:
624 | eventemitter3 "^4.0.0"
625 | follow-redirects "^1.0.0"
626 | requires-port "^1.0.0"
627 |
628 | iconv-lite@0.4.24:
629 | version "0.4.24"
630 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
631 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
632 | dependencies:
633 | safer-buffer ">= 2.1.2 < 3"
634 |
635 | inflight@^1.0.4:
636 | version "1.0.6"
637 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
638 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
639 | dependencies:
640 | once "^1.3.0"
641 | wrappy "1"
642 |
643 | inherits@2, inherits@2.0.4:
644 | version "2.0.4"
645 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
646 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
647 |
648 | invert-kv@^1.0.0:
649 | version "1.0.0"
650 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
651 | integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
652 |
653 | is-binary-path@~2.1.0:
654 | version "2.1.0"
655 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
656 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
657 | dependencies:
658 | binary-extensions "^2.0.0"
659 |
660 | is-docker@^2.0.0:
661 | version "2.1.1"
662 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
663 | integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
664 |
665 | is-extglob@^2.1.1:
666 | version "2.1.1"
667 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
668 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
669 |
670 | is-fullwidth-code-point@^1.0.0:
671 | version "1.0.0"
672 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
673 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
674 | dependencies:
675 | number-is-nan "^1.0.0"
676 |
677 | is-fullwidth-code-point@^3.0.0:
678 | version "3.0.0"
679 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
680 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
681 |
682 | is-glob@^4.0.1, is-glob@~4.0.1:
683 | version "4.0.3"
684 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
685 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
686 | dependencies:
687 | is-extglob "^2.1.1"
688 |
689 | is-number@^7.0.0:
690 | version "7.0.0"
691 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
692 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
693 |
694 | is-plain-obj@^2.1.0:
695 | version "2.1.0"
696 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
697 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
698 |
699 | is-unicode-supported@^0.1.0:
700 | version "0.1.0"
701 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
702 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
703 |
704 | is-wsl@^2.1.0:
705 | version "2.2.0"
706 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
707 | integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
708 | dependencies:
709 | is-docker "^2.0.0"
710 |
711 | isbinaryfile@^4.0.8:
712 | version "4.0.10"
713 | resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3"
714 | integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==
715 |
716 | "jquery-mousewheel@>= 3.1.13":
717 | version "3.1.13"
718 | resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz#06f0335f16e353a695e7206bf50503cb523a6ee5"
719 | integrity sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=
720 |
721 | "jquery@>= 1.7.2":
722 | version "3.5.1"
723 | resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5"
724 | integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
725 |
726 | js-yaml@4.1.0:
727 | version "4.1.0"
728 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
729 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
730 | dependencies:
731 | argparse "^2.0.1"
732 |
733 | jsonfile@^4.0.0:
734 | version "4.0.0"
735 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
736 | integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
737 | optionalDependencies:
738 | graceful-fs "^4.1.6"
739 |
740 | karma-chai@^0.1.0:
741 | version "0.1.0"
742 | resolved "https://registry.yarnpkg.com/karma-chai/-/karma-chai-0.1.0.tgz#bee5ad40400517811ae34bb945f762909108b79a"
743 | integrity sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=
744 |
745 | karma-firefox-launcher@^1.1.0:
746 | version "1.3.0"
747 | resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.3.0.tgz#ebcbb1d1ddfada6be900eb8fae25bcf2dcdc8171"
748 | integrity sha512-Fi7xPhwrRgr+94BnHX0F5dCl1miIW4RHnzjIGxF8GaIEp7rNqX7LSi7ok63VXs3PS/5MQaQMhGxw+bvD+pibBQ==
749 | dependencies:
750 | is-wsl "^2.1.0"
751 |
752 | karma-mocha@^2.0.1:
753 | version "2.0.1"
754 | resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d"
755 | integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==
756 | dependencies:
757 | minimist "^1.2.3"
758 |
759 | karma@^6.4.1:
760 | version "6.4.1"
761 | resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9"
762 | integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==
763 | dependencies:
764 | "@colors/colors" "1.5.0"
765 | body-parser "^1.19.0"
766 | braces "^3.0.2"
767 | chokidar "^3.5.1"
768 | connect "^3.7.0"
769 | di "^0.0.1"
770 | dom-serialize "^2.2.1"
771 | glob "^7.1.7"
772 | graceful-fs "^4.2.6"
773 | http-proxy "^1.18.1"
774 | isbinaryfile "^4.0.8"
775 | lodash "^4.17.21"
776 | log4js "^6.4.1"
777 | mime "^2.5.2"
778 | minimatch "^3.0.4"
779 | mkdirp "^0.5.5"
780 | qjobs "^1.2.0"
781 | range-parser "^1.2.1"
782 | rimraf "^3.0.2"
783 | socket.io "^4.4.1"
784 | source-map "^0.6.1"
785 | tmp "^0.2.1"
786 | ua-parser-js "^0.7.30"
787 | yargs "^16.1.1"
788 |
789 | lcid@^1.0.0:
790 | version "1.0.0"
791 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
792 | integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
793 | dependencies:
794 | invert-kv "^1.0.0"
795 |
796 | locate-path@^6.0.0:
797 | version "6.0.0"
798 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
799 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
800 | dependencies:
801 | p-locate "^5.0.0"
802 |
803 | lodash@^4.17.21:
804 | version "4.17.21"
805 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
806 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
807 |
808 | log-symbols@4.1.0:
809 | version "4.1.0"
810 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
811 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
812 | dependencies:
813 | chalk "^4.1.0"
814 | is-unicode-supported "^0.1.0"
815 |
816 | log4js@^6.4.1:
817 | version "6.8.0"
818 | resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.8.0.tgz#f0fe9b2b82725aaf97f20692e23381a5c5722448"
819 | integrity sha512-g+V8gZyurIexrOvWQ+AcZsIvuK/lBnx2argejZxL4gVZ4Hq02kUYH6WZOnqxgBml+zzQZYdaEoTN84B6Hzm8Fg==
820 | dependencies:
821 | date-format "^4.0.14"
822 | debug "^4.3.4"
823 | flatted "^3.2.7"
824 | rfdc "^1.3.0"
825 | streamroller "^3.1.5"
826 |
827 | media-typer@0.3.0:
828 | version "0.3.0"
829 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
830 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
831 |
832 | mime-db@1.44.0:
833 | version "1.44.0"
834 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
835 | integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
836 |
837 | mime-types@~2.1.24:
838 | version "2.1.27"
839 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
840 | integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
841 | dependencies:
842 | mime-db "1.44.0"
843 |
844 | mime@^2.5.2:
845 | version "2.6.0"
846 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
847 | integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
848 |
849 | minimatch@5.0.1:
850 | version "5.0.1"
851 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
852 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
853 | dependencies:
854 | brace-expansion "^2.0.1"
855 |
856 | minimatch@^3.0.4, minimatch@^3.1.1:
857 | version "3.1.2"
858 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
859 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
860 | dependencies:
861 | brace-expansion "^1.1.7"
862 |
863 | minimist@^1.2.3, minimist@^1.2.6:
864 | version "1.2.8"
865 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
866 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
867 |
868 | mkdirp@^0.5.5:
869 | version "0.5.6"
870 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
871 | integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
872 | dependencies:
873 | minimist "^1.2.6"
874 |
875 | mocha@^10.2.0:
876 | version "10.2.0"
877 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8"
878 | integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==
879 | dependencies:
880 | ansi-colors "4.1.1"
881 | browser-stdout "1.3.1"
882 | chokidar "3.5.3"
883 | debug "4.3.4"
884 | diff "5.0.0"
885 | escape-string-regexp "4.0.0"
886 | find-up "5.0.0"
887 | glob "7.2.0"
888 | he "1.2.0"
889 | js-yaml "4.1.0"
890 | log-symbols "4.1.0"
891 | minimatch "5.0.1"
892 | ms "2.1.3"
893 | nanoid "3.3.3"
894 | serialize-javascript "6.0.0"
895 | strip-json-comments "3.1.1"
896 | supports-color "8.1.1"
897 | workerpool "6.2.1"
898 | yargs "16.2.0"
899 | yargs-parser "20.2.4"
900 | yargs-unparser "2.0.0"
901 |
902 | ms@2.0.0:
903 | version "2.0.0"
904 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
905 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
906 |
907 | ms@2.1.2:
908 | version "2.1.2"
909 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
910 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
911 |
912 | ms@2.1.3:
913 | version "2.1.3"
914 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
915 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
916 |
917 | nanoid@3.3.3:
918 | version "3.3.3"
919 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25"
920 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==
921 |
922 | negotiator@0.6.2:
923 | version "0.6.2"
924 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
925 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
926 |
927 | normalize-path@^3.0.0, normalize-path@~3.0.0:
928 | version "3.0.0"
929 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
930 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
931 |
932 | number-is-nan@^1.0.0:
933 | version "1.0.1"
934 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
935 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
936 |
937 | object-assign@^4:
938 | version "4.1.1"
939 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
940 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
941 |
942 | object-inspect@^1.9.0:
943 | version "1.12.3"
944 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
945 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
946 |
947 | on-finished@2.4.1:
948 | version "2.4.1"
949 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
950 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
951 | dependencies:
952 | ee-first "1.1.1"
953 |
954 | on-finished@~2.3.0:
955 | version "2.3.0"
956 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
957 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
958 | dependencies:
959 | ee-first "1.1.1"
960 |
961 | once@^1.3.0:
962 | version "1.4.0"
963 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
964 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
965 | dependencies:
966 | wrappy "1"
967 |
968 | os-locale@^1.4.0:
969 | version "1.4.0"
970 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
971 | integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
972 | dependencies:
973 | lcid "^1.0.0"
974 |
975 | p-limit@^3.0.2:
976 | version "3.1.0"
977 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
978 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
979 | dependencies:
980 | yocto-queue "^0.1.0"
981 |
982 | p-locate@^5.0.0:
983 | version "5.0.0"
984 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
985 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
986 | dependencies:
987 | p-limit "^3.0.2"
988 |
989 | parallel-loop@azer/parallel-loop:
990 | version "0.0.2"
991 | resolved "https://codeload.github.com/azer/parallel-loop/tar.gz/054b0d3fe633483a3a6b94104c8343473208d5fb"
992 |
993 | parseurl@~1.3.3:
994 | version "1.3.3"
995 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
996 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
997 |
998 | path-exists@^4.0.0:
999 | version "4.0.0"
1000 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1001 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1002 |
1003 | path-is-absolute@^1.0.0:
1004 | version "1.0.1"
1005 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1006 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1007 |
1008 | pathval@^1.1.0:
1009 | version "1.1.0"
1010 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
1011 | integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
1012 |
1013 | php-date-formatter@^1.3.6:
1014 | version "1.3.6"
1015 | resolved "https://registry.yarnpkg.com/php-date-formatter/-/php-date-formatter-1.3.6.tgz#6d67359da890c742005fa89d20be3ded31cc1d2a"
1016 | integrity sha512-/CKsZYmAwXeNh8KpD/CF9hcJDZNhdb2ICN8+qgqOt5sUu9liZIxZ1R284TNj5MtPt8RjG5X0xn6WSqL0kcKMBg==
1017 |
1018 | picomatch@^2.0.4, picomatch@^2.2.1:
1019 | version "2.3.1"
1020 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1021 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1022 |
1023 | qjobs@^1.2.0:
1024 | version "1.2.0"
1025 | resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071"
1026 | integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==
1027 |
1028 | qs@6.11.0:
1029 | version "6.11.0"
1030 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
1031 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
1032 | dependencies:
1033 | side-channel "^1.0.4"
1034 |
1035 | randombytes@^2.1.0:
1036 | version "2.1.0"
1037 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
1038 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
1039 | dependencies:
1040 | safe-buffer "^5.1.0"
1041 |
1042 | range-parser@^1.2.1:
1043 | version "1.2.1"
1044 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
1045 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
1046 |
1047 | raw-body@2.5.2:
1048 | version "2.5.2"
1049 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
1050 | integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
1051 | dependencies:
1052 | bytes "3.1.2"
1053 | http-errors "2.0.0"
1054 | iconv-lite "0.4.24"
1055 | unpipe "1.0.0"
1056 |
1057 | readdirp@~3.6.0:
1058 | version "3.6.0"
1059 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1060 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1061 | dependencies:
1062 | picomatch "^2.2.1"
1063 |
1064 | require-directory@^2.1.1:
1065 | version "2.1.1"
1066 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1067 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
1068 |
1069 | requires-port@^1.0.0:
1070 | version "1.0.0"
1071 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
1072 | integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
1073 |
1074 | rfdc@^1.3.0:
1075 | version "1.3.0"
1076 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
1077 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
1078 |
1079 | rimraf@^3.0.0, rimraf@^3.0.2:
1080 | version "3.0.2"
1081 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1082 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1083 | dependencies:
1084 | glob "^7.1.3"
1085 |
1086 | safe-buffer@^5.1.0:
1087 | version "5.2.1"
1088 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1089 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1090 |
1091 | "safer-buffer@>= 2.1.2 < 3":
1092 | version "2.1.2"
1093 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1094 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1095 |
1096 | serial-loop@azer/serial-loop:
1097 | version "0.0.1"
1098 | resolved "https://codeload.github.com/azer/serial-loop/tar.gz/99c6271f80f075b7db089a1aadc7178a310a4570"
1099 |
1100 | serialize-javascript@6.0.0:
1101 | version "6.0.0"
1102 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8"
1103 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==
1104 | dependencies:
1105 | randombytes "^2.1.0"
1106 |
1107 | setprototypeof@1.2.0:
1108 | version "1.2.0"
1109 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
1110 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
1111 |
1112 | side-channel@^1.0.4:
1113 | version "1.0.4"
1114 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1115 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1116 | dependencies:
1117 | call-bind "^1.0.0"
1118 | get-intrinsic "^1.0.2"
1119 | object-inspect "^1.9.0"
1120 |
1121 | socket.io-adapter@~2.5.2:
1122 | version "2.5.2"
1123 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12"
1124 | integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==
1125 | dependencies:
1126 | ws "~8.11.0"
1127 |
1128 | socket.io-parser@~4.2.1:
1129 | version "4.2.2"
1130 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206"
1131 | integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==
1132 | dependencies:
1133 | "@socket.io/component-emitter" "~3.1.0"
1134 | debug "~4.3.1"
1135 |
1136 | socket.io@^4.4.1:
1137 | version "4.6.1"
1138 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.6.1.tgz#62ec117e5fce0692fa50498da9347cfb52c3bc70"
1139 | integrity sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==
1140 | dependencies:
1141 | accepts "~1.3.4"
1142 | base64id "~2.0.0"
1143 | debug "~4.3.2"
1144 | engine.io "~6.4.1"
1145 | socket.io-adapter "~2.5.2"
1146 | socket.io-parser "~4.2.1"
1147 |
1148 | source-map@^0.6.1:
1149 | version "0.6.1"
1150 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1151 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1152 |
1153 | statuses@2.0.1:
1154 | version "2.0.1"
1155 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
1156 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
1157 |
1158 | statuses@~1.5.0:
1159 | version "1.5.0"
1160 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
1161 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
1162 |
1163 | streamroller@^3.1.5:
1164 | version "3.1.5"
1165 | resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff"
1166 | integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==
1167 | dependencies:
1168 | date-format "^4.0.14"
1169 | debug "^4.3.4"
1170 | fs-extra "^8.1.0"
1171 |
1172 | string-width@^1.0.1:
1173 | version "1.0.2"
1174 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
1175 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
1176 | dependencies:
1177 | code-point-at "^1.0.0"
1178 | is-fullwidth-code-point "^1.0.0"
1179 | strip-ansi "^3.0.0"
1180 |
1181 | string-width@^4.1.0, string-width@^4.2.0:
1182 | version "4.2.3"
1183 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1184 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1185 | dependencies:
1186 | emoji-regex "^8.0.0"
1187 | is-fullwidth-code-point "^3.0.0"
1188 | strip-ansi "^6.0.1"
1189 |
1190 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
1191 | version "3.0.1"
1192 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
1193 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
1194 | dependencies:
1195 | ansi-regex "^2.0.0"
1196 |
1197 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1198 | version "6.0.1"
1199 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1200 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1201 | dependencies:
1202 | ansi-regex "^5.0.1"
1203 |
1204 | strip-json-comments@3.1.1:
1205 | version "3.1.1"
1206 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1207 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1208 |
1209 | supports-color@8.1.1:
1210 | version "8.1.1"
1211 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
1212 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
1213 | dependencies:
1214 | has-flag "^4.0.0"
1215 |
1216 | supports-color@^2.0.0:
1217 | version "2.0.0"
1218 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
1219 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
1220 |
1221 | supports-color@^7.1.0:
1222 | version "7.2.0"
1223 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1224 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1225 | dependencies:
1226 | has-flag "^4.0.0"
1227 |
1228 | tmp@^0.2.1:
1229 | version "0.2.1"
1230 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
1231 | integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
1232 | dependencies:
1233 | rimraf "^3.0.0"
1234 |
1235 | to-regex-range@^5.0.1:
1236 | version "5.0.1"
1237 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1238 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1239 | dependencies:
1240 | is-number "^7.0.0"
1241 |
1242 | toidentifier@1.0.1:
1243 | version "1.0.1"
1244 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
1245 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
1246 |
1247 | type-detect@^4.0.0, type-detect@^4.0.5:
1248 | version "4.0.8"
1249 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
1250 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
1251 |
1252 | type-is@~1.6.18:
1253 | version "1.6.18"
1254 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
1255 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
1256 | dependencies:
1257 | media-typer "0.3.0"
1258 | mime-types "~2.1.24"
1259 |
1260 | ua-parser-js@^0.7.30:
1261 | version "0.7.33"
1262 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532"
1263 | integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==
1264 |
1265 | uglify-js@^3.4.9:
1266 | version "3.11.2"
1267 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.2.tgz#9f50325544273c27b20e586def140e7726c525ea"
1268 | integrity sha512-G440NU6fewtnQftSgqRV1r2A5ChKbU1gqFCJ7I8S7MPpY/eZZfLGefaY6gUZYiWebMaO+txgiQ1ZyLDuNWJulg==
1269 |
1270 | uglifycss@^0.0.27:
1271 | version "0.0.27"
1272 | resolved "https://registry.yarnpkg.com/uglifycss/-/uglifycss-0.0.27.tgz#53553b8115de26dce57b42ba0b34e88dd80d0cde"
1273 | integrity sha1-U1U7gRXeJtzle0K6CzTojdgNDN4=
1274 |
1275 | universalify@^0.1.0:
1276 | version "0.1.2"
1277 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
1278 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
1279 |
1280 | unpipe@1.0.0, unpipe@~1.0.0:
1281 | version "1.0.0"
1282 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1283 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
1284 |
1285 | utils-merge@1.0.1:
1286 | version "1.0.1"
1287 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
1288 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
1289 |
1290 | vary@^1:
1291 | version "1.1.2"
1292 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
1293 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
1294 |
1295 | void-elements@^2.0.0:
1296 | version "2.0.1"
1297 | resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
1298 | integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
1299 |
1300 | window-size@^0.1.4:
1301 | version "0.1.4"
1302 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
1303 | integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=
1304 |
1305 | workerpool@6.2.1:
1306 | version "6.2.1"
1307 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343"
1308 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==
1309 |
1310 | wrap-ansi@^2.0.0:
1311 | version "2.1.0"
1312 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
1313 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
1314 | dependencies:
1315 | string-width "^1.0.1"
1316 | strip-ansi "^3.0.1"
1317 |
1318 | wrap-ansi@^7.0.0:
1319 | version "7.0.0"
1320 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
1321 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
1322 | dependencies:
1323 | ansi-styles "^4.0.0"
1324 | string-width "^4.1.0"
1325 | strip-ansi "^6.0.0"
1326 |
1327 | wrappy@1:
1328 | version "1.0.2"
1329 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1330 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
1331 |
1332 | ws@~8.11.0:
1333 | version "8.11.0"
1334 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
1335 | integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
1336 |
1337 | y18n@^3.2.0:
1338 | version "3.2.1"
1339 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
1340 | integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
1341 |
1342 | y18n@^5.0.5:
1343 | version "5.0.8"
1344 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
1345 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
1346 |
1347 | yargs-parser@20.2.4:
1348 | version "20.2.4"
1349 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
1350 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
1351 |
1352 | yargs-parser@^20.2.2:
1353 | version "20.2.9"
1354 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
1355 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
1356 |
1357 | yargs-unparser@2.0.0:
1358 | version "2.0.0"
1359 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb"
1360 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==
1361 | dependencies:
1362 | camelcase "^6.0.0"
1363 | decamelize "^4.0.0"
1364 | flat "^5.0.2"
1365 | is-plain-obj "^2.1.0"
1366 |
1367 | yargs@16.2.0, yargs@^16.1.1:
1368 | version "16.2.0"
1369 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
1370 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
1371 | dependencies:
1372 | cliui "^7.0.2"
1373 | escalade "^3.1.1"
1374 | get-caller-file "^2.0.5"
1375 | require-directory "^2.1.1"
1376 | string-width "^4.2.0"
1377 | y18n "^5.0.5"
1378 | yargs-parser "^20.2.2"
1379 |
1380 | yargs@^3.30.0:
1381 | version "3.32.0"
1382 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995"
1383 | integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=
1384 | dependencies:
1385 | camelcase "^2.0.1"
1386 | cliui "^3.0.3"
1387 | decamelize "^1.1.1"
1388 | os-locale "^1.4.0"
1389 | string-width "^1.0.1"
1390 | window-size "^0.1.4"
1391 | y18n "^3.2.0"
1392 |
1393 | yocto-queue@^0.1.0:
1394 | version "0.1.0"
1395 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
1396 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
1397 |
--------------------------------------------------------------------------------