From 2deea22af029e670a2b42cd4872556784cfebd75 Mon Sep 17 00:00:00 2001 From: volvl Date: Wed, 6 Sep 2023 12:51:04 +0400 Subject: [PATCH] Get rid of vue 2 (#25498) Co-authored-by: Alexander Bulychev --- .github/workflows/devextreme_vue_tests.yml | 4 +- package-lock.json | 3741 +-------- packages/devextreme-vue/build.config.js | 2 - packages/devextreme-vue/gulpfile.js | 15 +- packages/devextreme-vue/package.json | 6 +- packages/vue2-strategy/.gitignore | 1 - packages/vue2-strategy/LICENSE | 21 - packages/vue2-strategy/build.config.js | 16 - packages/vue2-strategy/gulpfile.js | 54 - packages/vue2-strategy/jest.config.js | 17 - packages/vue2-strategy/package.json | 41 - packages/vue2-strategy/sandbox/app.vue | 73 - .../components/accessing-instance-example.vue | 41 - .../sandbox/components/button-example.vue | 33 - .../sandbox/components/chart-example.vue | 34 - .../sandbox/components/example-block.vue | 32 - .../sandbox/components/form-example.vue | 92 - .../sandbox/components/grid-example.vue | 170 - .../sandbox/components/list-example.vue | 77 - .../sandbox/components/map-example.vue | 65 - .../sandbox/components/menu-example.vue | 58 - .../sandbox/components/number-box-example.vue | 28 - .../sandbox/components/popup-example.vue | 65 - .../sandbox/components/scheduler-example.vue | 31 - .../components/scroll-view-example.vue | 65 - .../sandbox/components/tab-panel-example.vue | 38 - .../sandbox/components/text-box-example.vue | 85 - .../sandbox/components/validation-example.vue | 114 - packages/vue2-strategy/sandbox/main.ts | 12 - .../sandbox/public/css/bootstrap.css | 7086 ----------------- .../sandbox/public/css/index.css | 4 - .../vue2-strategy/sandbox/public/index.html | 20 - packages/vue2-strategy/sandbox/tsconfig.json | 21 - packages/vue2-strategy/sandbox/vue-shim.d.ts | 4 - packages/vue2-strategy/src/accordion.ts | 179 - packages/vue2-strategy/src/action-sheet.ts | 144 - packages/vue2-strategy/src/autocomplete.ts | 735 -- packages/vue2-strategy/src/bar-gauge.ts | 709 -- packages/vue2-strategy/src/box.ts | 133 - packages/vue2-strategy/src/bullet.ts | 282 - packages/vue2-strategy/src/button-group.ts | 139 - packages/vue2-strategy/src/button.ts | 104 - packages/vue2-strategy/src/calendar.ts | 167 - packages/vue2-strategy/src/chart.ts | 2976 ------- packages/vue2-strategy/src/check-box.ts | 123 - packages/vue2-strategy/src/circular-gauge.ts | 744 -- packages/vue2-strategy/src/color-box.ts | 671 -- packages/vue2-strategy/src/common/charts.ts | 42 - .../src/common/data/custom-store.ts | 8 - packages/vue2-strategy/src/common/grids.ts | 74 - packages/vue2-strategy/src/common/index.ts | 67 - packages/vue2-strategy/src/context-menu.ts | 469 -- .../core/__mocks__/templates-discovering.ts | 1 - .../src/core/__tests__/form.test.ts | 30 - .../src/core/__tests__/helper.test.ts | 60 - .../src/core/children-processing.ts | 43 - .../vue2-strategy/src/core/component.test.ts | 2005 ----- packages/vue2-strategy/src/core/component.ts | 284 - .../vue2-strategy/src/core/config.test.ts | 55 - packages/vue2-strategy/src/core/config.ts | 18 - .../src/core/configuration-component.ts | 102 - .../src/core/configuration.test.ts | 550 -- .../vue2-strategy/src/core/configuration.ts | 288 - packages/vue2-strategy/src/core/constants.ts | 7 - packages/vue2-strategy/src/core/errors.ts | 1 - .../src/core/extension-component.ts | 36 - packages/vue2-strategy/src/core/helpers.ts | 107 - packages/vue2-strategy/src/core/index.ts | 21 - .../src/core/templates-discovering.test.ts | 96 - .../src/core/templates-discovering.ts | 105 - .../src/core/templates-manager.test.ts | 115 - .../src/core/templates-manager.ts | 96 - packages/vue2-strategy/src/data-grid.ts | 3011 ------- packages/vue2-strategy/src/date-box.ts | 848 -- packages/vue2-strategy/src/date-range-box.ts | 860 -- packages/vue2-strategy/src/defer-rendering.ts | 281 - packages/vue2-strategy/src/diagram.ts | 819 -- packages/vue2-strategy/src/draggable.ts | 117 - packages/vue2-strategy/src/drawer.ts | 101 - packages/vue2-strategy/src/drop-down-box.ts | 680 -- .../vue2-strategy/src/drop-down-button.ts | 557 -- packages/vue2-strategy/src/file-manager.ts | 497 -- packages/vue2-strategy/src/file-uploader.ts | 224 - packages/vue2-strategy/src/filter-builder.ts | 283 - packages/vue2-strategy/src/form.ts | 930 --- packages/vue2-strategy/src/funnel.ts | 830 -- packages/vue2-strategy/src/gallery.ts | 175 - packages/vue2-strategy/src/gantt.ts | 940 --- packages/vue2-strategy/src/html-editor.ts | 586 -- packages/vue2-strategy/src/index.ts | 78 - packages/vue2-strategy/src/linear-gauge.ts | 756 -- packages/vue2-strategy/src/list.ts | 598 -- packages/vue2-strategy/src/load-indicator.ts | 65 - packages/vue2-strategy/src/load-panel.ts | 365 - packages/vue2-strategy/src/lookup.ts | 693 -- packages/vue2-strategy/src/map.ts | 238 - packages/vue2-strategy/src/menu.ts | 476 -- packages/vue2-strategy/src/multi-view.ts | 153 - packages/vue2-strategy/src/number-box.ts | 303 - packages/vue2-strategy/src/pie-chart.ts | 1185 --- .../src/pivot-grid-field-chooser.ts | 235 - packages/vue2-strategy/src/pivot-grid.ts | 499 -- packages/vue2-strategy/src/polar-chart.ts | 2215 ------ packages/vue2-strategy/src/popover.ts | 451 -- packages/vue2-strategy/src/popup.ts | 448 -- packages/vue2-strategy/src/progress-bar.ts | 113 - packages/vue2-strategy/src/radio-group.ts | 158 - packages/vue2-strategy/src/range-selector.ts | 1743 ---- packages/vue2-strategy/src/range-slider.ts | 215 - .../vue2-strategy/src/recurrence-editor.ts | 111 - packages/vue2-strategy/src/resizable.ts | 83 - packages/vue2-strategy/src/responsive-box.ts | 194 - packages/vue2-strategy/src/sankey.ts | 599 -- packages/vue2-strategy/src/scheduler.ts | 445 -- packages/vue2-strategy/src/scroll-view.ts | 98 - packages/vue2-strategy/src/select-box.ts | 759 -- packages/vue2-strategy/src/slider.ts | 206 - packages/vue2-strategy/src/sortable.ts | 144 - packages/vue2-strategy/src/sparkline.ts | 321 - .../vue2-strategy/src/speed-dial-action.ts | 83 - packages/vue2-strategy/src/switch.ts | 120 - packages/vue2-strategy/src/tab-panel.ts | 191 - packages/vue2-strategy/src/tabs.ts | 174 - packages/vue2-strategy/src/tag-box.ts | 777 -- packages/vue2-strategy/src/text-area.ts | 180 - packages/vue2-strategy/src/text-box.ts | 283 - packages/vue2-strategy/src/tile-view.ts | 153 - packages/vue2-strategy/src/toast.ts | 371 - packages/vue2-strategy/src/toolbar.ts | 139 - packages/vue2-strategy/src/tooltip.ts | 392 - packages/vue2-strategy/src/tree-list.ts | 2666 ------- packages/vue2-strategy/src/tree-map.ts | 635 -- packages/vue2-strategy/src/tree-view.ts | 462 -- .../vue2-strategy/src/validation-group.ts | 50 - .../vue2-strategy/src/validation-summary.ts | 89 - packages/vue2-strategy/src/validator.ts | 344 - packages/vue2-strategy/src/vector-map.ts | 944 --- packages/vue2-strategy/tsconfig.json | 13 - packages/vue2-strategy/webpack.config.js | 58 - playgrounds/vue/webpack.config.js | 4 - tsconfig.json | 3 - 141 files changed, 342 insertions(+), 57427 deletions(-) delete mode 100644 packages/vue2-strategy/.gitignore delete mode 100644 packages/vue2-strategy/LICENSE delete mode 100644 packages/vue2-strategy/build.config.js delete mode 100644 packages/vue2-strategy/gulpfile.js delete mode 100644 packages/vue2-strategy/jest.config.js delete mode 100644 packages/vue2-strategy/package.json delete mode 100644 packages/vue2-strategy/sandbox/app.vue delete mode 100644 packages/vue2-strategy/sandbox/components/accessing-instance-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/button-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/chart-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/example-block.vue delete mode 100644 packages/vue2-strategy/sandbox/components/form-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/grid-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/list-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/map-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/menu-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/number-box-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/popup-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/scheduler-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/scroll-view-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/tab-panel-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/text-box-example.vue delete mode 100644 packages/vue2-strategy/sandbox/components/validation-example.vue delete mode 100644 packages/vue2-strategy/sandbox/main.ts delete mode 100644 packages/vue2-strategy/sandbox/public/css/bootstrap.css delete mode 100644 packages/vue2-strategy/sandbox/public/css/index.css delete mode 100644 packages/vue2-strategy/sandbox/public/index.html delete mode 100644 packages/vue2-strategy/sandbox/tsconfig.json delete mode 100644 packages/vue2-strategy/sandbox/vue-shim.d.ts delete mode 100644 packages/vue2-strategy/src/accordion.ts delete mode 100644 packages/vue2-strategy/src/action-sheet.ts delete mode 100644 packages/vue2-strategy/src/autocomplete.ts delete mode 100644 packages/vue2-strategy/src/bar-gauge.ts delete mode 100644 packages/vue2-strategy/src/box.ts delete mode 100644 packages/vue2-strategy/src/bullet.ts delete mode 100644 packages/vue2-strategy/src/button-group.ts delete mode 100644 packages/vue2-strategy/src/button.ts delete mode 100644 packages/vue2-strategy/src/calendar.ts delete mode 100644 packages/vue2-strategy/src/chart.ts delete mode 100644 packages/vue2-strategy/src/check-box.ts delete mode 100644 packages/vue2-strategy/src/circular-gauge.ts delete mode 100644 packages/vue2-strategy/src/color-box.ts delete mode 100644 packages/vue2-strategy/src/common/charts.ts delete mode 100644 packages/vue2-strategy/src/common/data/custom-store.ts delete mode 100644 packages/vue2-strategy/src/common/grids.ts delete mode 100644 packages/vue2-strategy/src/common/index.ts delete mode 100644 packages/vue2-strategy/src/context-menu.ts delete mode 100644 packages/vue2-strategy/src/core/__mocks__/templates-discovering.ts delete mode 100644 packages/vue2-strategy/src/core/__tests__/form.test.ts delete mode 100644 packages/vue2-strategy/src/core/__tests__/helper.test.ts delete mode 100644 packages/vue2-strategy/src/core/children-processing.ts delete mode 100644 packages/vue2-strategy/src/core/component.test.ts delete mode 100644 packages/vue2-strategy/src/core/component.ts delete mode 100644 packages/vue2-strategy/src/core/config.test.ts delete mode 100644 packages/vue2-strategy/src/core/config.ts delete mode 100644 packages/vue2-strategy/src/core/configuration-component.ts delete mode 100644 packages/vue2-strategy/src/core/configuration.test.ts delete mode 100644 packages/vue2-strategy/src/core/configuration.ts delete mode 100644 packages/vue2-strategy/src/core/constants.ts delete mode 100644 packages/vue2-strategy/src/core/errors.ts delete mode 100644 packages/vue2-strategy/src/core/extension-component.ts delete mode 100644 packages/vue2-strategy/src/core/helpers.ts delete mode 100644 packages/vue2-strategy/src/core/index.ts delete mode 100644 packages/vue2-strategy/src/core/templates-discovering.test.ts delete mode 100644 packages/vue2-strategy/src/core/templates-discovering.ts delete mode 100644 packages/vue2-strategy/src/core/templates-manager.test.ts delete mode 100644 packages/vue2-strategy/src/core/templates-manager.ts delete mode 100644 packages/vue2-strategy/src/data-grid.ts delete mode 100644 packages/vue2-strategy/src/date-box.ts delete mode 100644 packages/vue2-strategy/src/date-range-box.ts delete mode 100644 packages/vue2-strategy/src/defer-rendering.ts delete mode 100644 packages/vue2-strategy/src/diagram.ts delete mode 100644 packages/vue2-strategy/src/draggable.ts delete mode 100644 packages/vue2-strategy/src/drawer.ts delete mode 100644 packages/vue2-strategy/src/drop-down-box.ts delete mode 100644 packages/vue2-strategy/src/drop-down-button.ts delete mode 100644 packages/vue2-strategy/src/file-manager.ts delete mode 100644 packages/vue2-strategy/src/file-uploader.ts delete mode 100644 packages/vue2-strategy/src/filter-builder.ts delete mode 100644 packages/vue2-strategy/src/form.ts delete mode 100644 packages/vue2-strategy/src/funnel.ts delete mode 100644 packages/vue2-strategy/src/gallery.ts delete mode 100644 packages/vue2-strategy/src/gantt.ts delete mode 100644 packages/vue2-strategy/src/html-editor.ts delete mode 100644 packages/vue2-strategy/src/index.ts delete mode 100644 packages/vue2-strategy/src/linear-gauge.ts delete mode 100644 packages/vue2-strategy/src/list.ts delete mode 100644 packages/vue2-strategy/src/load-indicator.ts delete mode 100644 packages/vue2-strategy/src/load-panel.ts delete mode 100644 packages/vue2-strategy/src/lookup.ts delete mode 100644 packages/vue2-strategy/src/map.ts delete mode 100644 packages/vue2-strategy/src/menu.ts delete mode 100644 packages/vue2-strategy/src/multi-view.ts delete mode 100644 packages/vue2-strategy/src/number-box.ts delete mode 100644 packages/vue2-strategy/src/pie-chart.ts delete mode 100644 packages/vue2-strategy/src/pivot-grid-field-chooser.ts delete mode 100644 packages/vue2-strategy/src/pivot-grid.ts delete mode 100644 packages/vue2-strategy/src/polar-chart.ts delete mode 100644 packages/vue2-strategy/src/popover.ts delete mode 100644 packages/vue2-strategy/src/popup.ts delete mode 100644 packages/vue2-strategy/src/progress-bar.ts delete mode 100644 packages/vue2-strategy/src/radio-group.ts delete mode 100644 packages/vue2-strategy/src/range-selector.ts delete mode 100644 packages/vue2-strategy/src/range-slider.ts delete mode 100644 packages/vue2-strategy/src/recurrence-editor.ts delete mode 100644 packages/vue2-strategy/src/resizable.ts delete mode 100644 packages/vue2-strategy/src/responsive-box.ts delete mode 100644 packages/vue2-strategy/src/sankey.ts delete mode 100644 packages/vue2-strategy/src/scheduler.ts delete mode 100644 packages/vue2-strategy/src/scroll-view.ts delete mode 100644 packages/vue2-strategy/src/select-box.ts delete mode 100644 packages/vue2-strategy/src/slider.ts delete mode 100644 packages/vue2-strategy/src/sortable.ts delete mode 100644 packages/vue2-strategy/src/sparkline.ts delete mode 100644 packages/vue2-strategy/src/speed-dial-action.ts delete mode 100644 packages/vue2-strategy/src/switch.ts delete mode 100644 packages/vue2-strategy/src/tab-panel.ts delete mode 100644 packages/vue2-strategy/src/tabs.ts delete mode 100644 packages/vue2-strategy/src/tag-box.ts delete mode 100644 packages/vue2-strategy/src/text-area.ts delete mode 100644 packages/vue2-strategy/src/text-box.ts delete mode 100644 packages/vue2-strategy/src/tile-view.ts delete mode 100644 packages/vue2-strategy/src/toast.ts delete mode 100644 packages/vue2-strategy/src/toolbar.ts delete mode 100644 packages/vue2-strategy/src/tooltip.ts delete mode 100644 packages/vue2-strategy/src/tree-list.ts delete mode 100644 packages/vue2-strategy/src/tree-map.ts delete mode 100644 packages/vue2-strategy/src/tree-view.ts delete mode 100644 packages/vue2-strategy/src/validation-group.ts delete mode 100644 packages/vue2-strategy/src/validation-summary.ts delete mode 100644 packages/vue2-strategy/src/validator.ts delete mode 100644 packages/vue2-strategy/src/vector-map.ts delete mode 100644 packages/vue2-strategy/tsconfig.json delete mode 100644 packages/vue2-strategy/webpack.config.js diff --git a/.github/workflows/devextreme_vue_tests.yml b/.github/workflows/devextreme_vue_tests.yml index 4ecf305e5aba..197dac9e04a1 100644 --- a/.github/workflows/devextreme_vue_tests.yml +++ b/.github/workflows/devextreme_vue_tests.yml @@ -52,7 +52,7 @@ jobs: shell: bash run: | git add . -N - changes=$(git diff --name-status HEAD -- packages/devextreme-vue/src packages/vue2-strategy/src) + changes=$(git diff --name-status HEAD -- packages/devextreme-vue/src) if [ -n "$changes" ]; then echo "Generated code is outdated. The following files have uncommitted changes:" echo "$changes"; @@ -73,5 +73,5 @@ jobs: run: npm run test - name: Check packing - run: npx nx run-many -t pack -p devextreme-vue devextreme-vue2-strategy + run: npx nx run-many -t pack -p devextreme-vue diff --git a/package-lock.json b/package-lock.json index 393d559a5dc7..2042dea407ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2604,238 +2604,199 @@ "typescript": "3.8" } }, - "node_modules/@devextreme-generator/core/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "node_modules/@devextreme-generator/core/node_modules/eslint-config-devextreme": { + "version": "0.1.41", + "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.41.tgz", + "integrity": "sha512-yxJwlKx+Ey0/Vdi1RCjGDzhWWHAyOsSNyE9+O6QVxpX7xTrzmZMPUUruVB81LRT47mXzcFAt4lWpC8vnsLV/6g==", "dev": true, - "peer": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^5.32.0", + "eslint": "^7.3.1", + "eslint-config-airbnb-base": "^14.2.0", + "eslint-config-airbnb-typescript": "^12.3.1", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jest": "^23.8.2", + "eslint-plugin-jest-formatting": "^1.2.0", + "eslint-plugin-jsx-a11y": "^6.3.1", + "eslint-plugin-qunit": "^4.0.0", + "eslint-plugin-rulesdir": "^0.2.0", + "eslint-plugin-spellcheck": "^0.0.19" } }, - "node_modules/@devextreme-generator/core/node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "node_modules/@devextreme-generator/core/node_modules/typescript": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4.2.0" } }, - "node_modules/@devextreme-generator/core/node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@devextreme-generator/declarations": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme-generator/declarations/-/declarations-3.0.11.tgz", + "integrity": "sha512-52vbpRTJ0iKi0GTMpzbDHiuiuRClK4ofSNSt6j4h3PWNDLQRcCgkKk4fmvxzzbR96ll6M4FNxp8FUmBxs/BQ6A==", "dev": true, - "peer": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" + "react": "^16.12.0", + "react-dom": "^16.12.0" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "node_modules/@devextreme-generator/inferno": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme-generator/inferno/-/inferno-3.0.11.tgz", + "integrity": "sha512-o43fO5cLgPnUfqu58v35PVOpApa6E5zzrUUn9MD/hkKoy68/0EyCai2WlAcRwPDpSieYRVZE2UULNY2oi5ugCw==", "dev": true, - "peer": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "@devextreme-generator/core": "3.0.11", + "@devextreme-generator/preact": "3.0.11", + "@devextreme-generator/react": "3.0.11" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "node_modules/@devextreme-generator/preact": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme-generator/preact/-/preact-3.0.11.tgz", + "integrity": "sha512-FfBh4dQFDM1KFRDY73Q2eM8z0wx9hRypmrt2277b/MR6NEDdvP5dDgngR++/Pd4DLx2M502PrXfSlvR5LlU+eg==", "dev": true, - "peer": true, "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@devextreme-generator/core": "3.0.11", + "@devextreme-generator/react": "3.0.11" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/@devextreme-generator/react": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme-generator/react/-/react-3.0.11.tgz", + "integrity": "sha512-KWuAZ1zFvovUSDZ1hdVf5ndlfTtbV0MgRZhqvPVH16CljWYgNrnJHUKw3HdekEzet/ZOYtFLebzsqX76aGWZ4A==", "dev": true, - "peer": true, - "engines": { - "node": ">=4" + "dependencies": { + "@devextreme-generator/core": "3.0.11" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "node_modules/@devextreme-generator/vue": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme-generator/vue/-/vue-3.0.11.tgz", + "integrity": "sha512-y5jCeeDvUeThqiVlehCb2vkWVg5mbOJUcKR16L3pIoIFHqQKCUXIWZX0nibRFq2cCqAuSm8Esm5/Vqi9as2aZQ==", "dev": true, - "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - }, + "@devextreme-generator/angular": "3.0.11", + "@devextreme-generator/core": "3.0.11", + "prettier": "^2.1.0" + } + }, + "node_modules/@devextreme/runtime": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@devextreme/runtime/-/runtime-3.0.11.tgz", + "integrity": "sha512-j17t+7Uv2iji9YKSzoArw8TyYCjRBWKFRjUyQrog77Z9CVUsQnv2kI7MVNHKjmQgD/aTnHvb57dYq9UL6HesLw==", + "dependencies": { + "inferno": "^7.4.6", + "inferno-create-element": "^7.4.6", + "inferno-hydrate": "^7.4.6" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", + "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", + "dev": true, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=10.0.0" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "node_modules/@electron/asar": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.4.tgz", + "integrity": "sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g==", "dev": true, - "peer": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "bin": { + "asar": "bin/asar.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=10.12.0" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "node_modules/@electron/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true, - "peer": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 6" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "peer": true, "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@devextreme-generator/core/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "peer": true, - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@devextreme-generator/core/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=0.4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@devextreme-generator/core/node_modules/ajv": { + "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2847,766 +2808,167 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@devextreme-generator/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, - "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@devextreme-generator/core/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "node_modules/@devextreme-generator/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@devextreme-generator/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@devextreme-generator/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "node_modules/@devextreme-generator/core/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/@fast-csv/format": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", + "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isboolean": "^3.0.3", + "lodash.isequal": "^4.5.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "node_modules/@fast-csv/format/node_modules/@types/node": { + "version": "14.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", + "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==", + "dev": true + }, + "node_modules/@fast-csv/parse": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz", + "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", "dev": true, - "peer": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "@types/node": "^14.0.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.groupby": "^4.6.0", + "lodash.isfunction": "^3.0.9", + "lodash.isnil": "^4.0.0", + "lodash.isundefined": "^3.0.1", + "lodash.uniq": "^4.5.0" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-config-airbnb": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", - "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", + "node_modules/@fast-csv/parse/node_modules/@types/node": { + "version": "14.18.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", + "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==", + "dev": true + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@gulp-sourcemaps/identity-map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", + "integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==", "dev": true, - "peer": true, "dependencies": { - "eslint-config-airbnb-base": "^14.2.1", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "acorn": "^5.0.3", + "css": "^2.2.1", + "normalize-path": "^2.1.1", + "source-map": "^0.6.0", + "through2": "^2.0.3" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.21.5", - "eslint-plugin-react-hooks": "^4 || ^3 || ^2.3.0 || ^1.7.0" + "node": ">= 0.10" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "node_modules/@gulp-sourcemaps/identity-map/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true, - "peer": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" + "node": ">=0.4.0" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-config-airbnb-typescript": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-12.3.1.tgz", - "integrity": "sha512-ql/Pe6/hppYuRp4m3iPaHJqkBB7dgeEmGPQ6X0UNmrQOfTF+dXw29/ZjU2kQ6RDoLxaxOA+Xqv07Vbef6oVTWw==", + "node_modules/@gulp-sourcemaps/identity-map/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "peer": true, "dependencies": { - "@typescript-eslint/parser": "^4.4.1", - "eslint-config-airbnb": "^18.2.0", - "eslint-config-airbnb-base": "^14.2.0" + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-config-devextreme": { - "version": "0.1.41", - "resolved": "https://registry.npmjs.org/eslint-config-devextreme/-/eslint-config-devextreme-0.1.41.tgz", - "integrity": "sha512-yxJwlKx+Ey0/Vdi1RCjGDzhWWHAyOsSNyE9+O6QVxpX7xTrzmZMPUUruVB81LRT47mXzcFAt4lWpC8vnsLV/6g==", + "node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.32.0", - "eslint": "^7.3.1", - "eslint-config-airbnb-base": "^14.2.0", - "eslint-config-airbnb-typescript": "^12.3.1", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jest": "^23.8.2", - "eslint-plugin-jest-formatting": "^1.2.0", - "eslint-plugin-jsx-a11y": "^6.3.1", - "eslint-plugin-qunit": "^4.0.0", - "eslint-plugin-rulesdir": "^0.2.0", - "eslint-plugin-spellcheck": "^0.0.19" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-plugin-jest": { - "version": "23.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz", - "integrity": "sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw==", + "node_modules/@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", "dev": true, - "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "^2.5.0" + "normalize-path": "^2.0.1", + "through2": "^2.0.3" }, "engines": { - "node": ">=8" - }, - "peerDependencies": { - "eslint": ">=5" + "node": ">= 0.10" } }, - "node_modules/@devextreme-generator/core/node_modules/eslint-plugin-jest-formatting": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-1.2.0.tgz", - "integrity": "sha512-EqsbDByAtdQa5vEhJFUFMqTW7fghN0Qhb8oulM7R3j9+9xRuMsQKCPjWvCIxpWhl3SJJmlxBC25o1pUXiBHaAw==", + "node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "peer": true, - "engines": { - "node": ">=8.10.0" + "dependencies": { + "remove-trailing-separator": "^1.0.1" }, - "peerDependencies": { - "eslint": ">=0.8.0" - } - }, - "node_modules/@devextreme-generator/core/node_modules/eslint-plugin-qunit": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-4.3.0.tgz", - "integrity": "sha512-xyQtwoDHWDuIqH5cp8SV0N++gFGwxfMKwRyumsBnJ3INM6Mz/qWUhrCTastOvvAc98aoieu2X5Ht4LgaZ3a75Q==", - "dev": true, - "peer": true, "engines": { - "node": "6.x || 8.x || >=10.0.0" - } - }, - "node_modules/@devextreme-generator/core/node_modules/eslint-plugin-spellcheck": { - "version": "0.0.19", - "resolved": "https://registry.npmjs.org/eslint-plugin-spellcheck/-/eslint-plugin-spellcheck-0.0.19.tgz", - "integrity": "sha512-Vau+oCLT3IGx+inJV5rkuKlIwgka9L2is1SkztviIHN3apNnT2OrZoGy9Jt3gbcjjkfkIFMFSZjB+ijHCimbNA==", - "dev": true, - "peer": true, - "dependencies": { - "globals": "^13.0.0", - "hunspell-spellchecker": "^1.0.2", - "lodash": "^4.17.15" - }, - "peerDependencies": { - "eslint": ">=0.8.0" - } - }, - "node_modules/@devextreme-generator/core/node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "peer": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/@devextreme-generator/core/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@devextreme-generator/core/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@devextreme-generator/core/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@devextreme-generator/core/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@devextreme-generator/core/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@devextreme-generator/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@devextreme-generator/core/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@devextreme-generator/core/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@devextreme-generator/core/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/@devextreme-generator/core/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "peer": true - }, - "node_modules/@devextreme-generator/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@devextreme-generator/core/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@devextreme-generator/core/node_modules/typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@devextreme-generator/declarations": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme-generator/declarations/-/declarations-3.0.11.tgz", - "integrity": "sha512-52vbpRTJ0iKi0GTMpzbDHiuiuRClK4ofSNSt6j4h3PWNDLQRcCgkKk4fmvxzzbR96ll6M4FNxp8FUmBxs/BQ6A==", - "dev": true, - "dependencies": { - "react": "^16.12.0", - "react-dom": "^16.12.0" - } - }, - "node_modules/@devextreme-generator/inferno": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme-generator/inferno/-/inferno-3.0.11.tgz", - "integrity": "sha512-o43fO5cLgPnUfqu58v35PVOpApa6E5zzrUUn9MD/hkKoy68/0EyCai2WlAcRwPDpSieYRVZE2UULNY2oi5ugCw==", - "dev": true, - "dependencies": { - "@devextreme-generator/core": "3.0.11", - "@devextreme-generator/preact": "3.0.11", - "@devextreme-generator/react": "3.0.11" - } - }, - "node_modules/@devextreme-generator/preact": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme-generator/preact/-/preact-3.0.11.tgz", - "integrity": "sha512-FfBh4dQFDM1KFRDY73Q2eM8z0wx9hRypmrt2277b/MR6NEDdvP5dDgngR++/Pd4DLx2M502PrXfSlvR5LlU+eg==", - "dev": true, - "dependencies": { - "@devextreme-generator/core": "3.0.11", - "@devextreme-generator/react": "3.0.11" - } - }, - "node_modules/@devextreme-generator/react": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme-generator/react/-/react-3.0.11.tgz", - "integrity": "sha512-KWuAZ1zFvovUSDZ1hdVf5ndlfTtbV0MgRZhqvPVH16CljWYgNrnJHUKw3HdekEzet/ZOYtFLebzsqX76aGWZ4A==", - "dev": true, - "dependencies": { - "@devextreme-generator/core": "3.0.11" - } - }, - "node_modules/@devextreme-generator/vue": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme-generator/vue/-/vue-3.0.11.tgz", - "integrity": "sha512-y5jCeeDvUeThqiVlehCb2vkWVg5mbOJUcKR16L3pIoIFHqQKCUXIWZX0nibRFq2cCqAuSm8Esm5/Vqi9as2aZQ==", - "dev": true, - "dependencies": { - "@devextreme-generator/angular": "3.0.11", - "@devextreme-generator/core": "3.0.11", - "prettier": "^2.1.0" - } - }, - "node_modules/@devextreme/runtime": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@devextreme/runtime/-/runtime-3.0.11.tgz", - "integrity": "sha512-j17t+7Uv2iji9YKSzoArw8TyYCjRBWKFRjUyQrog77Z9CVUsQnv2kI7MVNHKjmQgD/aTnHvb57dYq9UL6HesLw==", - "dependencies": { - "inferno": "^7.4.6", - "inferno-create-element": "^7.4.6", - "inferno-hydrate": "^7.4.6" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", - "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@electron/asar": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.4.tgz", - "integrity": "sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g==", - "dev": true, - "dependencies": { - "chromium-pickle-js": "^0.2.0", - "commander": "^5.0.0", - "glob": "^7.1.6", - "minimatch": "^3.0.4" - }, - "bin": { - "asar": "bin/asar.js" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/@electron/asar/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@fast-csv/format": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", - "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", - "dev": true, - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isboolean": "^3.0.3", - "lodash.isequal": "^4.5.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0" - } - }, - "node_modules/@fast-csv/format/node_modules/@types/node": { - "version": "14.18.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", - "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==", - "dev": true - }, - "node_modules/@fast-csv/parse": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz", - "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", - "dev": true, - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.groupby": "^4.6.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0", - "lodash.isundefined": "^3.0.1", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/@fast-csv/parse/node_modules/@types/node": { - "version": "14.18.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.54.tgz", - "integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==", - "dev": true - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "node_modules/@gulp-sourcemaps/identity-map": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz", - "integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==", - "dev": true, - "dependencies": { - "acorn": "^5.0.3", - "css": "^2.2.1", - "normalize-path": "^2.1.1", - "source-map": "^0.6.0", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/@gulp-sourcemaps/identity-map/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@gulp-sourcemaps/identity-map/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@gulp-sourcemaps/map-sources": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", - "integrity": "sha512-o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==", - "dev": true, - "dependencies": { - "normalize-path": "^2.0.1", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -4875,16 +4237,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/@rollup/plugin-commonjs": { "version": "20.0.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz", @@ -5048,102 +4400,6 @@ "testcafe": "*" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/user-event": { "version": "13.5.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", @@ -6382,79 +5638,6 @@ "@vue/shared": "3.3.4" } }, - "node_modules/@vue/component-compiler-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", - "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", - "dev": true, - "dependencies": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", - "postcss-selector-parser": "^6.0.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "optionalDependencies": { - "prettier": "^1.18.2 || ^2.0.0" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true - }, - "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/@vue/component-compiler-utils/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@vue/component-compiler-utils/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", - "dev": true - }, "node_modules/@vue/devtools-api": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", @@ -10196,6 +9379,7 @@ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -11558,19 +10742,6 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, - "node_modules/consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", - "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", - "dev": true, - "dependencies": { - "bluebird": "^3.1.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -12823,12 +11994,6 @@ "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", "dev": true }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true - }, "node_modules/debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", @@ -14092,10 +13257,6 @@ "resolved": "playgrounds/vue", "link": true }, - "node_modules/devextreme-vue2-strategy": { - "resolved": "packages/vue2-strategy", - "link": true - }, "node_modules/device-specs": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/device-specs/-/device-specs-1.0.1.tgz", @@ -14218,12 +13379,6 @@ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true }, - "node_modules/dom-event-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.1.0.tgz", - "integrity": "sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==", - "dev": true - }, "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -15966,19 +15121,6 @@ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -17033,80 +16175,6 @@ "node": ">=6.0.0" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "peer": true, - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-loader/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/file-saver": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", @@ -21728,15 +20796,6 @@ "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/highlight-es": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz", @@ -32830,17 +31889,6 @@ "node": ">=12.13.0" } }, - "node_modules/popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", - "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -36171,12 +35219,6 @@ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "devOptional": true }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", - "dev": true - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -36423,21 +35465,6 @@ } } }, - "node_modules/puppeteer/node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/puppeteer/node_modules/ws": { "version": "8.13.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", @@ -41525,15 +40552,15 @@ } }, "node_modules/stylelint": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", - "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "version": "15.10.3", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz", + "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==", "dev": true, "peer": true, "dependencies": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1", - "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", @@ -41541,7 +40568,7 @@ "css-functions-list": "^3.2.0", "css-tree": "^2.3.1", "debug": "^4.3.4", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^6.0.1", "global-modules": "^2.0.0", @@ -41552,13 +40579,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.27.0", + "known-css-properties": "^0.28.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.25", + "postcss": "^8.4.27", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -41687,15 +40714,15 @@ "peer": true }, "node_modules/stylelint/node_modules/cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.4.tgz", + "integrity": "sha512-SF+2P8+o/PTV05rgsAjDzL4OFdVXAulSfC/L19VaeVT7+tpOOSscCt2QLxDZ+CLxF2WOiq6y1K5asvs8qUJT/Q==", "dev": true, "peer": true, "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -41703,6 +40730,14 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/stylelint/node_modules/debug": { @@ -41768,6 +40803,13 @@ "node": ">=0.10.0" } }, + "node_modules/stylelint/node_modules/known-css-properties": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz", + "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==", + "dev": true, + "peer": true + }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -41791,6 +40833,21 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/stylelint/node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/stylelint/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -43817,6 +42874,55 @@ "utf8-byte-length": "^1.0.1" } }, + "node_modules/ts-jest": { + "version": "26.5.6", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", + "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "jest": ">=26 <27", + "typescript": ">=3.8 <5.0" + } + }, + "node_modules/ts-jest/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ts-loader": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.4.0.tgz", @@ -45540,12 +44646,6 @@ "node": ">=6.0.0" } }, - "node_modules/vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", - "dev": true - }, "node_modules/vue-loader": { "version": "16.8.3", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", @@ -45645,64 +44745,6 @@ "vue": "^3.2.0" } }, - "node_modules/vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", - "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", - "dev": true, - "dependencies": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - } - }, - "node_modules/vue-style-loader/node_modules/hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true - }, - "node_modules/vue-style-loader/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/vue-style-loader/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", - "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, - "node_modules/vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", - "dev": true - }, "node_modules/vue/node_modules/@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", @@ -48564,14 +47606,6 @@ "typescript": "~4.2.3 || ~4.3.2" } }, - "packages/devextreme-angular/node_modules/ng-packagr/node_modules/@types/node": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz", - "integrity": "sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==", - "dev": true, - "optional": true, - "peer": true - }, "packages/devextreme-angular/node_modules/ng-packagr/node_modules/rollup-plugin-sourcemaps": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", @@ -49406,18 +48440,6 @@ "node": ">= 10" } }, - "packages/devextreme-react/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "packages/devextreme-react/node_modules/p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", @@ -49479,43 +48501,6 @@ "node": ">=8" } }, - "packages/devextreme-react/node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, - "packages/devextreme-react/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "packages/devextreme-themebuilder": { "version": "0.0.1", "license": "SEE LICENSE IN README.md", @@ -49654,18 +48639,6 @@ "node": ">= 10.14.2" } }, - "packages/devextreme-themebuilder/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "packages/devextreme-themebuilder/node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -49764,34 +48737,6 @@ "node": ">=8" } }, - "packages/devextreme-themebuilder/node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, "packages/devextreme-themebuilder/node_modules/typescript": { "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", @@ -49805,15 +48750,6 @@ "node": ">=4.2.0" } }, - "packages/devextreme-themebuilder/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "packages/devextreme-vue": { "version": "23.2.0", "license": "MIT", @@ -49823,7 +48759,6 @@ "@vue/test-utils": "2.0.0-beta.7", "del": "^3.0.0", "devextreme-vue-generator": "https://gitpkg.now.sh/DevExpress/devextreme-vue/packages/devextreme-vue-generator?master", - "devextreme-vue2-strategy": "~23.2.0", "gulp": "^4.0.2", "gulp-header": "^2.0.9", "gulp-shell": "^0.6.5", @@ -49832,12 +48767,11 @@ "ts-jest": "^26.5.6", "typescript": "^4.7.4", "vue": "3.2.47", - "vue-router": "^4.0.16", - "vue-template-compiler": "^2.6.3" + "vue-router": "^4.0.16" }, "peerDependencies": { "devextreme": "23.2.0", - "vue": "^2.5.16 || ^3.0.0" + "vue": "^3.0.0" } }, "packages/devextreme-vue/node_modules/@types/jest": { @@ -50092,18 +49026,6 @@ "node": ">=0.10.0" } }, - "packages/devextreme-vue/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "packages/devextreme-vue/node_modules/p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", @@ -50162,34 +49084,6 @@ "node": ">=8" } }, - "packages/devextreme-vue/node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, "packages/devextreme-vue/node_modules/typescript": { "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", @@ -50203,15 +49097,6 @@ "node": ">=4.2.0" } }, - "packages/devextreme-vue/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "packages/devextreme/artifacts/npm/devextreme": { "version": "23.2.0", "license": "SEE LICENSE IN README.md", @@ -50540,18 +49425,6 @@ "node": ">=10" } }, - "packages/devextreme/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "packages/devextreme/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -50646,34 +49519,6 @@ "url": "https://opencollective.com/stylelint" } }, - "packages/devextreme/node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, "packages/devextreme/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -50705,18 +49550,10 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "packages/devextreme/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "packages/vue2-strategy": { "name": "devextreme-vue2-strategy", "version": "23.2.0", + "extraneous": true, "devDependencies": { "@types/jest": "^26.0.0", "@vue/test-utils": "1.0.0-beta.29", @@ -50744,1912 +49581,6 @@ "devextreme": "23.2.0" } }, - "packages/vue2-strategy/node_modules/@types/jest": { - "version": "26.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.24.tgz", - "integrity": "sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==", - "dev": true, - "dependencies": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "packages/vue2-strategy/node_modules/@vue/compiler-sfc": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz", - "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.18.4", - "postcss": "^8.4.14", - "source-map": "^0.6.1" - } - }, - "packages/vue2-strategy/node_modules/@vue/compiler-sfc/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "packages/vue2-strategy/node_modules/@vue/compiler-sfc/node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "packages/vue2-strategy/node_modules/@vue/test-utils": { - "version": "1.0.0-beta.29", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz", - "integrity": "sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==", - "dev": true, - "dependencies": { - "dom-event-types": "^1.0.0", - "lodash": "^4.17.4" - }, - "peerDependencies": { - "vue": "2.x", - "vue-template-compiler": "^2.x" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "packages/vue2-strategy/node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "packages/vue2-strategy/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "packages/vue2-strategy/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "packages/vue2-strategy/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "packages/vue2-strategy/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/vue2-strategy/node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "optional": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "packages/vue2-strategy/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "packages/vue2-strategy/node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "packages/vue2-strategy/node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "packages/vue2-strategy/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "optional": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "packages/vue2-strategy/node_modules/chokidar/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "packages/vue2-strategy/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "packages/vue2-strategy/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/vue2-strategy/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "packages/vue2-strategy/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "packages/vue2-strategy/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "packages/vue2-strategy/node_modules/css-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", - "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", - "dev": true, - "dependencies": { - "camelcase": "^5.2.0", - "icss-utils": "^4.1.0", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.14", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.6", - "postcss-modules-scope": "^2.1.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "packages/vue2-strategy/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "packages/vue2-strategy/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==", - "dev": true, - "dependencies": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/del/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "packages/vue2-strategy/node_modules/diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } - }, - "packages/vue2-strategy/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "packages/vue2-strategy/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "packages/vue2-strategy/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "packages/vue2-strategy/node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "packages/vue2-strategy/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "packages/vue2-strategy/node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true - }, - "packages/vue2-strategy/node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "packages/vue2-strategy/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "packages/vue2-strategy/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "packages/vue2-strategy/node_modules/jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "packages/vue2-strategy/node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/vue2-strategy/node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "packages/vue2-strategy/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "packages/vue2-strategy/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "packages/vue2-strategy/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "packages/vue2-strategy/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "packages/vue2-strategy/node_modules/loader-utils/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "packages/vue2-strategy/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/make-dir/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "packages/vue2-strategy/node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "packages/vue2-strategy/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "packages/vue2-strategy/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "packages/vue2-strategy/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "packages/vue2-strategy/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "packages/vue2-strategy/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "packages/vue2-strategy/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dev": true, - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" - } - }, - "packages/vue2-strategy/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "packages/vue2-strategy/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "packages/vue2-strategy/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "optional": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "packages/vue2-strategy/node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "packages/vue2-strategy/node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "packages/vue2-strategy/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "packages/vue2-strategy/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "packages/vue2-strategy/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "packages/vue2-strategy/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "packages/vue2-strategy/node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" - } - }, - "packages/vue2-strategy/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "packages/vue2-strategy/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" - } - }, - "packages/vue2-strategy/node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "packages/vue2-strategy/node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "jest": ">=26 <27", - "typescript": ">=3.8 <5.0" - } - }, - "packages/vue2-strategy/node_modules/ts-jest/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "packages/vue2-strategy/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "packages/vue2-strategy/node_modules/tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev" - } - }, - "packages/vue2-strategy/node_modules/tslint/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "packages/vue2-strategy/node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, - "packages/vue2-strategy/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "packages/vue2-strategy/node_modules/url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "dependencies": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^3.0.0 || ^4.0.0" - } - }, - "packages/vue2-strategy/node_modules/vue": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz", - "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==", - "dev": true, - "dependencies": { - "@vue/compiler-sfc": "2.7.14", - "csstype": "^3.1.0" - } - }, - "packages/vue2-strategy/node_modules/vue-loader": { - "version": "15.10.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.1.tgz", - "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==", - "dev": true, - "dependencies": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "peerDependencies": { - "css-loader": "*", - "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" - }, - "peerDependenciesMeta": { - "cache-loader": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "packages/vue2-strategy/node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" - } - }, - "packages/vue2-strategy/node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "packages/vue2-strategy/node_modules/webpack-cli": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz", - "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.1", - "findup-sync": "^3.0.0", - "global-modules": "^2.0.0", - "import-local": "^2.0.0", - "interpret": "^1.4.0", - "loader-utils": "^1.4.0", - "supports-color": "^6.1.0", - "v8-compile-cache": "^2.1.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "peerDependencies": { - "webpack": "4.x.x" - } - }, - "packages/vue2-strategy/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "packages/vue2-strategy/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "packages/vue2-strategy/node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "packages/vue2-strategy/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "packages/vue2-strategy/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "packages/vue2-strategy/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "packages/vue2-strategy/node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "packages/vue2-strategy/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "packages/vue2-strategy/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "packages/vue2-strategy/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "packages/vue2-strategy/node_modules/yargs/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "playgrounds/angular": { "name": "devextreme-angular-sandbox", "version": "0.0.0", diff --git a/packages/devextreme-vue/build.config.js b/packages/devextreme-vue/build.config.js index 416acf3fa0e9..05c471bf6c6b 100644 --- a/packages/devextreme-vue/build.config.js +++ b/packages/devextreme-vue/build.config.js @@ -4,8 +4,6 @@ module.exports = { ignoredGlobs: ['!./src/**/*.test.ts', '!./src/**/__mocks__/*'], npm: { dist: './npm/', - strategySrc: '../vue2-strategy/npm/*', - strategyDist: './npm/core/strategy/vue2', package: 'package.json', license: './LICENSE', readme: './README.md' diff --git a/packages/devextreme-vue/gulpfile.js b/packages/devextreme-vue/gulpfile.js index 426be5b5c323..8c4664fb4916 100644 --- a/packages/devextreme-vue/gulpfile.js +++ b/packages/devextreme-vue/gulpfile.js @@ -9,8 +9,6 @@ const config = require('./build.config'); const GENERATE = 'generate'; const CLEAN = 'clean'; const OUTPUTDIR_CLEAN = 'output-dir.clean'; -const GENERATE_STRATEGY = 'generate.strategy'; -const COPY_STRATEGY = 'copy.strategy'; const NPM_CLEAN = 'npm.clean'; const NPM_PACKAGE = 'npm.package'; const NPM_LICENSE = 'npm.license'; @@ -30,10 +28,7 @@ gulp.task(NPM_CLEAN, (c) => gulp.task(CLEAN, gulp.parallel(OUTPUTDIR_CLEAN, NPM_CLEAN)); -gulp.task(GENERATE_STRATEGY, shell.task(['npm run generate -w devextreme-vue2-strategy'])); - -gulp.task(GENERATE, gulp.parallel( - GENERATE_STRATEGY, +gulp.task(GENERATE, (done) => { const generateSync = require('devextreme-vue-generator').default; generateSync( @@ -51,7 +46,7 @@ gulp.task(GENERATE, gulp.parallel( done(); } -)); +); gulp.task(NPM_PACKAGE, () => gulp.src(config.npm.package).pipe(gulp.dest(config.npm.dist)) @@ -107,15 +102,9 @@ gulp.task(ADD_HEADERS, function () { .pipe(gulp.dest(config.npm.dist)); }); -gulp.task(COPY_STRATEGY, function () { - return gulp.src(`${config.npm.strategySrc}`) - .pipe(gulp.dest(config.npm.strategyDist)); -}); - gulp.task(NPM_PACK, gulp.series( NPM_CLEAN, NPM_BUILD, - COPY_STRATEGY, ADD_HEADERS, shell.task(['npm pack'], {cwd: config.npm.dist}) )); diff --git a/packages/devextreme-vue/package.json b/packages/devextreme-vue/package.json index bb0153101635..6d15f0f1609c 100644 --- a/packages/devextreme-vue/package.json +++ b/packages/devextreme-vue/package.json @@ -24,7 +24,7 @@ "license": "MIT", "peerDependencies": { "devextreme": "23.2.0", - "vue": "^2.5.16 || ^3.0.0" + "vue": "^3.0.0" }, "devDependencies": { "@types/jest": "^26.0.24", @@ -32,7 +32,6 @@ "@vue/test-utils": "2.0.0-beta.7", "del": "^3.0.0", "devextreme-vue-generator": "https://gitpkg.now.sh/DevExpress/devextreme-vue/packages/devextreme-vue-generator?master", - "devextreme-vue2-strategy": "~23.2.0", "gulp": "^4.0.2", "gulp-header": "^2.0.9", "gulp-shell": "^0.6.5", @@ -41,7 +40,6 @@ "ts-jest": "^26.5.6", "typescript": "^4.7.4", "vue": "3.2.47", - "vue-router": "^4.0.16", - "vue-template-compiler": "^2.6.3" + "vue-router": "^4.0.16" } } diff --git a/packages/vue2-strategy/.gitignore b/packages/vue2-strategy/.gitignore deleted file mode 100644 index 409ee189ef2d..000000000000 --- a/packages/vue2-strategy/.gitignore +++ /dev/null @@ -1 +0,0 @@ -npm/ diff --git a/packages/vue2-strategy/LICENSE b/packages/vue2-strategy/LICENSE deleted file mode 100644 index c0e3cf419e39..000000000000 --- a/packages/vue2-strategy/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 Developer Express Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/vue2-strategy/build.config.js b/packages/vue2-strategy/build.config.js deleted file mode 100644 index f82b0729f81b..000000000000 --- a/packages/vue2-strategy/build.config.js +++ /dev/null @@ -1,16 +0,0 @@ - -module.exports = { - core: './src/core/**/*.ts', - ignoredGlobs: ['!./src/core/**/*.test.ts', '!./src/core/**/__mocks__/*'], - npm: { - dist: './npm/', - license: '../../LICENSE' - }, - metadataPath: '../devextreme-vue/metadata/integration-data.json', - generatedComponentsDir: './src', - coreComponentsDir: './src/core', - indexFileName: './src/index.ts', - baseComponent: './core/index', - configComponent: './core/index', - widgetsPackage: 'devextreme' -}; diff --git a/packages/vue2-strategy/gulpfile.js b/packages/vue2-strategy/gulpfile.js deleted file mode 100644 index e9c0826f8763..000000000000 --- a/packages/vue2-strategy/gulpfile.js +++ /dev/null @@ -1,54 +0,0 @@ -const del = require('del'); -const fs = require('fs'); -const gulp = require('gulp'); -const ts = require('gulp-typescript'); - - -const config = require('./build.config'); -const VUE_VERSION = 2; - -gulp.task('build.components', gulp.series( - (done) => { - const generateSync = require('devextreme-vue-generator').default; - generateSync( - JSON.parse(fs.readFileSync(config.metadataPath).toString()), - config.baseComponent, - config.configComponent, - { - componentsDir: config.generatedComponentsDir, - indexFileName: config.indexFileName - }, - config.widgetsPackage, - VUE_VERSION, - true - ); - - done(); - } -)); - -gulp.task('clean', gulp.parallel( - (c) => del([`${config.generatedComponentsDir}\\*`, `!${config.coreComponentsDir}`], c), - (c) => del(config.npm.dist, c) -)); - -gulp.task('copy-helper', () => { - return gulp.src('../devextreme-vue/src/core/helpers.ts') - .pipe(gulp.dest('./src/core')); -}); - -gulp.task('build.strategy', function () { - return gulp.src([ - config.core, - ...config.ignoredGlobs - ]) - .pipe(ts('tsconfig.json')) - .pipe(gulp.dest(config.npm.dist)) -}); - -gulp.task('build', gulp.series( - 'clean', - 'copy-helper', - 'build.strategy', - 'build.components' -)); diff --git a/packages/vue2-strategy/jest.config.js b/packages/vue2-strategy/jest.config.js deleted file mode 100644 index a503c64c6333..000000000000 --- a/packages/vue2-strategy/jest.config.js +++ /dev/null @@ -1,17 +0,0 @@ -const base = require('../../jest.config.base.js'); -const pack = require('./package'); - -const packageName = pack.name; - -module.exports = { - ...base, - name: packageName, - displayName: packageName, - roots: [ - "/src/core" - ], - moduleNameMapper: { - "^vue$": "vue/dist/vue.common.js", - "^@/(.*)$": "/src/core/$1" - } -}; diff --git a/packages/vue2-strategy/package.json b/packages/vue2-strategy/package.json deleted file mode 100644 index daa46e582b64..000000000000 --- a/packages/vue2-strategy/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "devextreme-vue2-strategy", - "private": true, - "version": "23.2.0", - "main": "npm/index", - "types": "npm/index", - "files": [ - "npm" - ], - "scripts": { - "generate": "gulp build", - "test": "jest", - "start": "webpack-dev-server" - }, - "peerDependencies": { - "devextreme": "23.2.0" - }, - "devDependencies": { - "@types/jest": "^26.0.0", - "@vue/test-utils": "1.0.0-beta.29", - "css-loader": "^2.1.1", - "del": "^3.0.0", - "devextreme-vue-generator": "https://gitpkg.now.sh/DevExpress/devextreme-vue/packages/devextreme-vue-generator?master", - "gulp": "^4.0.2", - "gulp-typescript": "^5.0.1", - "jest": "^26.0.0", - "source-map-loader": "^0.2.4", - "style-loader": "^0.20.3", - "ts-jest": "^26.0.0", - "ts-loader": "^8.0.4", - "tslint": "^5.11.0", - "typescript": "^4.7.4", - "url-loader": "^1.1.2", - "vue": "^2.6.3", - "vue-loader": "^15.0.0", - "vue-template-compiler": "^2.6.3", - "webpack": "^4.29.2", - "webpack-cli": "^3.2.3", - "webpack-dev-server": "^4.0.0" - } -} diff --git a/packages/vue2-strategy/sandbox/app.vue b/packages/vue2-strategy/sandbox/app.vue deleted file mode 100644 index 1adca8fe3032..000000000000 --- a/packages/vue2-strategy/sandbox/app.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/accessing-instance-example.vue b/packages/vue2-strategy/sandbox/components/accessing-instance-example.vue deleted file mode 100644 index 8ddb714a2abf..000000000000 --- a/packages/vue2-strategy/sandbox/components/accessing-instance-example.vue +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/button-example.vue b/packages/vue2-strategy/sandbox/components/button-example.vue deleted file mode 100644 index c7185c867363..000000000000 --- a/packages/vue2-strategy/sandbox/components/button-example.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/chart-example.vue b/packages/vue2-strategy/sandbox/components/chart-example.vue deleted file mode 100644 index 8ddb71707a9c..000000000000 --- a/packages/vue2-strategy/sandbox/components/chart-example.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/example-block.vue b/packages/vue2-strategy/sandbox/components/example-block.vue deleted file mode 100644 index 5ff28054b01c..000000000000 --- a/packages/vue2-strategy/sandbox/components/example-block.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - diff --git a/packages/vue2-strategy/sandbox/components/form-example.vue b/packages/vue2-strategy/sandbox/components/form-example.vue deleted file mode 100644 index 7262bec8cfe4..000000000000 --- a/packages/vue2-strategy/sandbox/components/form-example.vue +++ /dev/null @@ -1,92 +0,0 @@ - - diff --git a/packages/vue2-strategy/sandbox/components/grid-example.vue b/packages/vue2-strategy/sandbox/components/grid-example.vue deleted file mode 100644 index 0a6dcdd79ae6..000000000000 --- a/packages/vue2-strategy/sandbox/components/grid-example.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/packages/vue2-strategy/sandbox/components/list-example.vue b/packages/vue2-strategy/sandbox/components/list-example.vue deleted file mode 100644 index 4f7c0590fa74..000000000000 --- a/packages/vue2-strategy/sandbox/components/list-example.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/map-example.vue b/packages/vue2-strategy/sandbox/components/map-example.vue deleted file mode 100644 index 93b0b41b9326..000000000000 --- a/packages/vue2-strategy/sandbox/components/map-example.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/menu-example.vue b/packages/vue2-strategy/sandbox/components/menu-example.vue deleted file mode 100644 index a8d752baac4c..000000000000 --- a/packages/vue2-strategy/sandbox/components/menu-example.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/number-box-example.vue b/packages/vue2-strategy/sandbox/components/number-box-example.vue deleted file mode 100644 index 04021e732e58..000000000000 --- a/packages/vue2-strategy/sandbox/components/number-box-example.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/popup-example.vue b/packages/vue2-strategy/sandbox/components/popup-example.vue deleted file mode 100644 index 8ca9e09b5484..000000000000 --- a/packages/vue2-strategy/sandbox/components/popup-example.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/scheduler-example.vue b/packages/vue2-strategy/sandbox/components/scheduler-example.vue deleted file mode 100644 index 41b4ac65b613..000000000000 --- a/packages/vue2-strategy/sandbox/components/scheduler-example.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/scroll-view-example.vue b/packages/vue2-strategy/sandbox/components/scroll-view-example.vue deleted file mode 100644 index c57f4d77de11..000000000000 --- a/packages/vue2-strategy/sandbox/components/scroll-view-example.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/tab-panel-example.vue b/packages/vue2-strategy/sandbox/components/tab-panel-example.vue deleted file mode 100644 index 2466943d610c..000000000000 --- a/packages/vue2-strategy/sandbox/components/tab-panel-example.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/packages/vue2-strategy/sandbox/components/text-box-example.vue b/packages/vue2-strategy/sandbox/components/text-box-example.vue deleted file mode 100644 index 37351348f505..000000000000 --- a/packages/vue2-strategy/sandbox/components/text-box-example.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/packages/vue2-strategy/sandbox/components/validation-example.vue b/packages/vue2-strategy/sandbox/components/validation-example.vue deleted file mode 100644 index a49caec9d35c..000000000000 --- a/packages/vue2-strategy/sandbox/components/validation-example.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - diff --git a/packages/vue2-strategy/sandbox/main.ts b/packages/vue2-strategy/sandbox/main.ts deleted file mode 100644 index 1b1d4cff00db..000000000000 --- a/packages/vue2-strategy/sandbox/main.ts +++ /dev/null @@ -1,12 +0,0 @@ -import "devextreme/dist/css/dx.common.css"; -import "devextreme/dist/css/dx.light.compact.css"; - -import Vue from "vue"; -import App from "./app.vue"; - -// tslint:disable-next-line:no-unused-expression -new Vue({ - el: "#app", - template: "", - components: { App } -}); diff --git a/packages/vue2-strategy/sandbox/public/css/bootstrap.css b/packages/vue2-strategy/sandbox/public/css/bootstrap.css deleted file mode 100644 index 7bcc9cda884b..000000000000 --- a/packages/vue2-strategy/sandbox/public/css/bootstrap.css +++ /dev/null @@ -1,7086 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Lato:400,700,400italic"); -/*! - * bootswatch v3.3.5 - * Homepage: http://bootswatch.com - * Copyright 2012-2015 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*/ -/*! - * Bootstrap v3.3.5 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - height: 0; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-appearance: textfield; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ -@media print { - *, - *:before, - *:after { - background: transparent !important; - color: #000 !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - text-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -} -@font-face { - font-family: 'Glyphicons Halflings'; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} -.glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.glyphicon-asterisk:before { - content: "\2a"; -} -.glyphicon-plus:before { - content: "\2b"; -} -.glyphicon-euro:before, -.glyphicon-eur:before { - content: "\20ac"; -} -.glyphicon-minus:before { - content: "\2212"; -} -.glyphicon-cloud:before { - content: "\2601"; -} -.glyphicon-envelope:before { - content: "\2709"; -} -.glyphicon-pencil:before { - content: "\270f"; -} -.glyphicon-glass:before { - content: "\e001"; -} -.glyphicon-music:before { - content: "\e002"; -} -.glyphicon-search:before { - content: "\e003"; -} -.glyphicon-heart:before { - content: "\e005"; -} -.glyphicon-star:before { - content: "\e006"; -} -.glyphicon-star-empty:before { - content: "\e007"; -} -.glyphicon-user:before { - content: "\e008"; -} -.glyphicon-film:before { - content: "\e009"; -} -.glyphicon-th-large:before { - content: "\e010"; -} -.glyphicon-th:before { - content: "\e011"; -} -.glyphicon-th-list:before { - content: "\e012"; -} -.glyphicon-ok:before { - content: "\e013"; -} -.glyphicon-remove:before { - content: "\e014"; -} -.glyphicon-zoom-in:before { - content: "\e015"; -} -.glyphicon-zoom-out:before { - content: "\e016"; -} -.glyphicon-off:before { - content: "\e017"; -} -.glyphicon-signal:before { - content: "\e018"; -} -.glyphicon-cog:before { - content: "\e019"; -} -.glyphicon-trash:before { - content: "\e020"; -} -.glyphicon-home:before { - content: "\e021"; -} -.glyphicon-file:before { - content: "\e022"; -} -.glyphicon-time:before { - content: "\e023"; -} -.glyphicon-road:before { - content: "\e024"; -} -.glyphicon-download-alt:before { - content: "\e025"; -} -.glyphicon-download:before { - content: "\e026"; -} -.glyphicon-upload:before { - content: "\e027"; -} -.glyphicon-inbox:before { - content: "\e028"; -} -.glyphicon-play-circle:before { - content: "\e029"; -} -.glyphicon-repeat:before { - content: "\e030"; -} -.glyphicon-refresh:before { - content: "\e031"; -} -.glyphicon-list-alt:before { - content: "\e032"; -} -.glyphicon-lock:before { - content: "\e033"; -} -.glyphicon-flag:before { - content: "\e034"; -} -.glyphicon-headphones:before { - content: "\e035"; -} -.glyphicon-volume-off:before { - content: "\e036"; -} -.glyphicon-volume-down:before { - content: "\e037"; -} -.glyphicon-volume-up:before { - content: "\e038"; -} -.glyphicon-qrcode:before { - content: "\e039"; -} -.glyphicon-barcode:before { - content: "\e040"; -} -.glyphicon-tag:before { - content: "\e041"; -} -.glyphicon-tags:before { - content: "\e042"; -} -.glyphicon-book:before { - content: "\e043"; -} -.glyphicon-bookmark:before { - content: "\e044"; -} -.glyphicon-print:before { - content: "\e045"; -} -.glyphicon-camera:before { - content: "\e046"; -} -.glyphicon-font:before { - content: "\e047"; -} -.glyphicon-bold:before { - content: "\e048"; -} -.glyphicon-italic:before { - content: "\e049"; -} -.glyphicon-text-height:before { - content: "\e050"; -} -.glyphicon-text-width:before { - content: "\e051"; -} -.glyphicon-align-left:before { - content: "\e052"; -} -.glyphicon-align-center:before { - content: "\e053"; -} -.glyphicon-align-right:before { - content: "\e054"; -} -.glyphicon-align-justify:before { - content: "\e055"; -} -.glyphicon-list:before { - content: "\e056"; -} -.glyphicon-indent-left:before { - content: "\e057"; -} -.glyphicon-indent-right:before { - content: "\e058"; -} -.glyphicon-facetime-video:before { - content: "\e059"; -} -.glyphicon-picture:before { - content: "\e060"; -} -.glyphicon-map-marker:before { - content: "\e062"; -} -.glyphicon-adjust:before { - content: "\e063"; -} -.glyphicon-tint:before { - content: "\e064"; -} -.glyphicon-edit:before { - content: "\e065"; -} -.glyphicon-share:before { - content: "\e066"; -} -.glyphicon-check:before { - content: "\e067"; -} -.glyphicon-move:before { - content: "\e068"; -} -.glyphicon-step-backward:before { - content: "\e069"; -} -.glyphicon-fast-backward:before { - content: "\e070"; -} -.glyphicon-backward:before { - content: "\e071"; -} -.glyphicon-play:before { - content: "\e072"; -} -.glyphicon-pause:before { - content: "\e073"; -} -.glyphicon-stop:before { - content: "\e074"; -} -.glyphicon-forward:before { - content: "\e075"; -} -.glyphicon-fast-forward:before { - content: "\e076"; -} -.glyphicon-step-forward:before { - content: "\e077"; -} -.glyphicon-eject:before { - content: "\e078"; -} -.glyphicon-chevron-left:before { - content: "\e079"; -} -.glyphicon-chevron-right:before { - content: "\e080"; -} -.glyphicon-plus-sign:before { - content: "\e081"; -} -.glyphicon-minus-sign:before { - content: "\e082"; -} -.glyphicon-remove-sign:before { - content: "\e083"; -} -.glyphicon-ok-sign:before { - content: "\e084"; -} -.glyphicon-question-sign:before { - content: "\e085"; -} -.glyphicon-info-sign:before { - content: "\e086"; -} -.glyphicon-screenshot:before { - content: "\e087"; -} -.glyphicon-remove-circle:before { - content: "\e088"; -} -.glyphicon-ok-circle:before { - content: "\e089"; -} -.glyphicon-ban-circle:before { - content: "\e090"; -} -.glyphicon-arrow-left:before { - content: "\e091"; -} -.glyphicon-arrow-right:before { - content: "\e092"; -} -.glyphicon-arrow-up:before { - content: "\e093"; -} -.glyphicon-arrow-down:before { - content: "\e094"; -} -.glyphicon-share-alt:before { - content: "\e095"; -} -.glyphicon-resize-full:before { - content: "\e096"; -} -.glyphicon-resize-small:before { - content: "\e097"; -} -.glyphicon-exclamation-sign:before { - content: "\e101"; -} -.glyphicon-gift:before { - content: "\e102"; -} -.glyphicon-leaf:before { - content: "\e103"; -} -.glyphicon-fire:before { - content: "\e104"; -} -.glyphicon-eye-open:before { - content: "\e105"; -} -.glyphicon-eye-close:before { - content: "\e106"; -} -.glyphicon-warning-sign:before { - content: "\e107"; -} -.glyphicon-plane:before { - content: "\e108"; -} -.glyphicon-calendar:before { - content: "\e109"; -} -.glyphicon-random:before { - content: "\e110"; -} -.glyphicon-comment:before { - content: "\e111"; -} -.glyphicon-magnet:before { - content: "\e112"; -} -.glyphicon-chevron-up:before { - content: "\e113"; -} -.glyphicon-chevron-down:before { - content: "\e114"; -} -.glyphicon-retweet:before { - content: "\e115"; -} -.glyphicon-shopping-cart:before { - content: "\e116"; -} -.glyphicon-folder-close:before { - content: "\e117"; -} -.glyphicon-folder-open:before { - content: "\e118"; -} -.glyphicon-resize-vertical:before { - content: "\e119"; -} -.glyphicon-resize-horizontal:before { - content: "\e120"; -} -.glyphicon-hdd:before { - content: "\e121"; -} -.glyphicon-bullhorn:before { - content: "\e122"; -} -.glyphicon-bell:before { - content: "\e123"; -} -.glyphicon-certificate:before { - content: "\e124"; -} -.glyphicon-thumbs-up:before { - content: "\e125"; -} -.glyphicon-thumbs-down:before { - content: "\e126"; -} -.glyphicon-hand-right:before { - content: "\e127"; -} -.glyphicon-hand-left:before { - content: "\e128"; -} -.glyphicon-hand-up:before { - content: "\e129"; -} -.glyphicon-hand-down:before { - content: "\e130"; -} -.glyphicon-circle-arrow-right:before { - content: "\e131"; -} -.glyphicon-circle-arrow-left:before { - content: "\e132"; -} -.glyphicon-circle-arrow-up:before { - content: "\e133"; -} -.glyphicon-circle-arrow-down:before { - content: "\e134"; -} -.glyphicon-globe:before { - content: "\e135"; -} -.glyphicon-wrench:before { - content: "\e136"; -} -.glyphicon-tasks:before { - content: "\e137"; -} -.glyphicon-filter:before { - content: "\e138"; -} -.glyphicon-briefcase:before { - content: "\e139"; -} -.glyphicon-fullscreen:before { - content: "\e140"; -} -.glyphicon-dashboard:before { - content: "\e141"; -} -.glyphicon-paperclip:before { - content: "\e142"; -} -.glyphicon-heart-empty:before { - content: "\e143"; -} -.glyphicon-link:before { - content: "\e144"; -} -.glyphicon-phone:before { - content: "\e145"; -} -.glyphicon-pushpin:before { - content: "\e146"; -} -.glyphicon-usd:before { - content: "\e148"; -} -.glyphicon-gbp:before { - content: "\e149"; -} -.glyphicon-sort:before { - content: "\e150"; -} -.glyphicon-sort-by-alphabet:before { - content: "\e151"; -} -.glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} -.glyphicon-sort-by-order:before { - content: "\e153"; -} -.glyphicon-sort-by-order-alt:before { - content: "\e154"; -} -.glyphicon-sort-by-attributes:before { - content: "\e155"; -} -.glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} -.glyphicon-unchecked:before { - content: "\e157"; -} -.glyphicon-expand:before { - content: "\e158"; -} -.glyphicon-collapse-down:before { - content: "\e159"; -} -.glyphicon-collapse-up:before { - content: "\e160"; -} -.glyphicon-log-in:before { - content: "\e161"; -} -.glyphicon-flash:before { - content: "\e162"; -} -.glyphicon-log-out:before { - content: "\e163"; -} -.glyphicon-new-window:before { - content: "\e164"; -} -.glyphicon-record:before { - content: "\e165"; -} -.glyphicon-save:before { - content: "\e166"; -} -.glyphicon-open:before { - content: "\e167"; -} -.glyphicon-saved:before { - content: "\e168"; -} -.glyphicon-import:before { - content: "\e169"; -} -.glyphicon-export:before { - content: "\e170"; -} -.glyphicon-send:before { - content: "\e171"; -} -.glyphicon-floppy-disk:before { - content: "\e172"; -} -.glyphicon-floppy-saved:before { - content: "\e173"; -} -.glyphicon-floppy-remove:before { - content: "\e174"; -} -.glyphicon-floppy-save:before { - content: "\e175"; -} -.glyphicon-floppy-open:before { - content: "\e176"; -} -.glyphicon-credit-card:before { - content: "\e177"; -} -.glyphicon-transfer:before { - content: "\e178"; -} -.glyphicon-cutlery:before { - content: "\e179"; -} -.glyphicon-header:before { - content: "\e180"; -} -.glyphicon-compressed:before { - content: "\e181"; -} -.glyphicon-earphone:before { - content: "\e182"; -} -.glyphicon-phone-alt:before { - content: "\e183"; -} -.glyphicon-tower:before { - content: "\e184"; -} -.glyphicon-stats:before { - content: "\e185"; -} -.glyphicon-sd-video:before { - content: "\e186"; -} -.glyphicon-hd-video:before { - content: "\e187"; -} -.glyphicon-subtitles:before { - content: "\e188"; -} -.glyphicon-sound-stereo:before { - content: "\e189"; -} -.glyphicon-sound-dolby:before { - content: "\e190"; -} -.glyphicon-sound-5-1:before { - content: "\e191"; -} -.glyphicon-sound-6-1:before { - content: "\e192"; -} -.glyphicon-sound-7-1:before { - content: "\e193"; -} -.glyphicon-copyright-mark:before { - content: "\e194"; -} -.glyphicon-registration-mark:before { - content: "\e195"; -} -.glyphicon-cloud-download:before { - content: "\e197"; -} -.glyphicon-cloud-upload:before { - content: "\e198"; -} -.glyphicon-tree-conifer:before { - content: "\e199"; -} -.glyphicon-tree-deciduous:before { - content: "\e200"; -} -.glyphicon-cd:before { - content: "\e201"; -} -.glyphicon-save-file:before { - content: "\e202"; -} -.glyphicon-open-file:before { - content: "\e203"; -} -.glyphicon-level-up:before { - content: "\e204"; -} -.glyphicon-copy:before { - content: "\e205"; -} -.glyphicon-paste:before { - content: "\e206"; -} -.glyphicon-alert:before { - content: "\e209"; -} -.glyphicon-equalizer:before { - content: "\e210"; -} -.glyphicon-king:before { - content: "\e211"; -} -.glyphicon-queen:before { - content: "\e212"; -} -.glyphicon-pawn:before { - content: "\e213"; -} -.glyphicon-bishop:before { - content: "\e214"; -} -.glyphicon-knight:before { - content: "\e215"; -} -.glyphicon-baby-formula:before { - content: "\e216"; -} -.glyphicon-tent:before { - content: "\26fa"; -} -.glyphicon-blackboard:before { - content: "\e218"; -} -.glyphicon-bed:before { - content: "\e219"; -} -.glyphicon-apple:before { - content: "\f8ff"; -} -.glyphicon-erase:before { - content: "\e221"; -} -.glyphicon-hourglass:before { - content: "\231b"; -} -.glyphicon-lamp:before { - content: "\e223"; -} -.glyphicon-duplicate:before { - content: "\e224"; -} -.glyphicon-piggy-bank:before { - content: "\e225"; -} -.glyphicon-scissors:before { - content: "\e226"; -} -.glyphicon-bitcoin:before { - content: "\e227"; -} -.glyphicon-btc:before { - content: "\e227"; -} -.glyphicon-xbt:before { - content: "\e227"; -} -.glyphicon-yen:before { - content: "\00a5"; -} -.glyphicon-jpy:before { - content: "\00a5"; -} -.glyphicon-ruble:before { - content: "\20bd"; -} -.glyphicon-rub:before { - content: "\20bd"; -} -.glyphicon-scale:before { - content: "\e230"; -} -.glyphicon-ice-lolly:before { - content: "\e231"; -} -.glyphicon-ice-lolly-tasted:before { - content: "\e232"; -} -.glyphicon-education:before { - content: "\e233"; -} -.glyphicon-option-horizontal:before { - content: "\e234"; -} -.glyphicon-option-vertical:before { - content: "\e235"; -} -.glyphicon-menu-hamburger:before { - content: "\e236"; -} -.glyphicon-modal-window:before { - content: "\e237"; -} -.glyphicon-oil:before { - content: "\e238"; -} -.glyphicon-grain:before { - content: "\e239"; -} -.glyphicon-sunglasses:before { - content: "\e240"; -} -.glyphicon-text-size:before { - content: "\e241"; -} -.glyphicon-text-color:before { - content: "\e242"; -} -.glyphicon-text-background:before { - content: "\e243"; -} -.glyphicon-object-align-top:before { - content: "\e244"; -} -.glyphicon-object-align-bottom:before { - content: "\e245"; -} -.glyphicon-object-align-horizontal:before { - content: "\e246"; -} -.glyphicon-object-align-left:before { - content: "\e247"; -} -.glyphicon-object-align-vertical:before { - content: "\e248"; -} -.glyphicon-object-align-right:before { - content: "\e249"; -} -.glyphicon-triangle-right:before { - content: "\e250"; -} -.glyphicon-triangle-left:before { - content: "\e251"; -} -.glyphicon-triangle-bottom:before { - content: "\e252"; -} -.glyphicon-triangle-top:before { - content: "\e253"; -} -.glyphicon-console:before { - content: "\e254"; -} -.glyphicon-superscript:before { - content: "\e255"; -} -.glyphicon-subscript:before { - content: "\e256"; -} -.glyphicon-menu-left:before { - content: "\e257"; -} -.glyphicon-menu-right:before { - content: "\e258"; -} -.glyphicon-menu-down:before { - content: "\e259"; -} -.glyphicon-menu-up:before { - content: "\e260"; -} -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -*:before, -*:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -html { - font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -body { - font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 15px; - line-height: 1.42857143; - color: #ffffff; - background-color: #222222; -} -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; -} -a { - color: #0ce3ac; - text-decoration: none; -} -a:hover, -a:focus { - color: #0ce3ac; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -figure { - margin: 0; -} -img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - display: block; - max-width: 100%; - height: auto; -} -.img-rounded { - border-radius: 6px; -} -.img-thumbnail { - padding: 2px; - line-height: 1.42857143; - background-color: #222222; - border: 1px solid #464545; - border-radius: 4px; - -webkit-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - display: inline-block; - max-width: 100%; - height: auto; -} -.img-circle { - border-radius: 50%; -} -hr { - margin-top: 21px; - margin-bottom: 21px; - border: 0; - border-top: 1px solid #464545; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} -[role="button"] { - cursor: pointer; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: 400; - line-height: 1.1; - color: inherit; -} -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #999999; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { - margin-top: 21px; - margin-bottom: 10.5px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { - margin-top: 10.5px; - margin-bottom: 10.5px; -} -h4 small, -.h4 small, -h5 small, -.h5 small, -h6 small, -.h6 small, -h4 .small, -.h4 .small, -h5 .small, -.h5 .small, -h6 .small, -.h6 .small { - font-size: 75%; -} -h1, -.h1 { - font-size: 39px; -} -h2, -.h2 { - font-size: 32px; -} -h3, -.h3 { - font-size: 26px; -} -h4, -.h4 { - font-size: 19px; -} -h5, -.h5 { - font-size: 15px; -} -h6, -.h6 { - font-size: 13px; -} -p { - margin: 0 0 10.5px; -} -.lead { - margin-bottom: 21px; - font-size: 17px; - font-weight: 300; - line-height: 1.4; -} -@media (min-width: 768px) { - .lead { - font-size: 22.5px; - } -} -small, -.small { - font-size: 86%; -} -mark, -.mark { - background-color: #f39c12; - padding: .2em; -} -.text-left { - text-align: left; -} -.text-right { - text-align: right; -} -.text-center { - text-align: center; -} -.text-justify { - text-align: justify; -} -.text-nowrap { - white-space: nowrap; -} -.text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} -.text-capitalize { - text-transform: capitalize; -} -.text-muted { - color: #999999; -} -.text-primary { - color: #375a7f; -} -a.text-primary:hover, -a.text-primary:focus { - color: #28415b; -} -.text-success { - color: #ffffff; -} -a.text-success:hover, -a.text-success:focus { - color: #e6e6e6; -} -.text-info { - color: #ffffff; -} -a.text-info:hover, -a.text-info:focus { - color: #e6e6e6; -} -.text-warning { - color: #ffffff; -} -a.text-warning:hover, -a.text-warning:focus { - color: #e6e6e6; -} -.text-danger { - color: #ffffff; -} -a.text-danger:hover, -a.text-danger:focus { - color: #e6e6e6; -} -.bg-primary { - color: #fff; - background-color: #375a7f; -} -a.bg-primary:hover, -a.bg-primary:focus { - background-color: #28415b; -} -.bg-success { - background-color: #00bc8c; -} -a.bg-success:hover, -a.bg-success:focus { - background-color: #008966; -} -.bg-info { - background-color: #3498db; -} -a.bg-info:hover, -a.bg-info:focus { - background-color: #217dbb; -} -.bg-warning { - background-color: #f39c12; -} -a.bg-warning:hover, -a.bg-warning:focus { - background-color: #c87f0a; -} -.bg-danger { - background-color: #e74c3c; -} -a.bg-danger:hover, -a.bg-danger:focus { - background-color: #d62c1a; -} -.page-header { - padding-bottom: 9.5px; - margin: 42px 0 21px; - border-bottom: 1px solid transparent; -} -ul, -ol { - margin-top: 0; - margin-bottom: 10.5px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} -.list-unstyled { - padding-left: 0; - list-style: none; -} -.list-inline { - padding-left: 0; - list-style: none; - margin-left: -5px; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} -dl { - margin-top: 0; - margin-bottom: 21px; -} -dt, -dd { - line-height: 1.42857143; -} -dt { - font-weight: bold; -} -dd { - margin-left: 0; -} -@media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - clear: left; - text-align: right; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } -} -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999999; -} -.initialism { - font-size: 90%; - text-transform: uppercase; -} -blockquote { - padding: 10.5px 21px; - margin: 0 0 21px; - font-size: 18.75px; - border-left: 5px solid #464545; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #999999; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} -.blockquote-reverse, -blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - border-right: 5px solid #464545; - border-left: 0; - text-align: right; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} -address { - margin-bottom: 21px; - font-style: normal; - line-height: 1.42857143; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #ffffff; - background-color: #333333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - -webkit-box-shadow: none; - box-shadow: none; -} -pre { - display: block; - padding: 10px; - margin: 0 0 10.5px; - font-size: 14px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #303030; - background-color: #ebebeb; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.container { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} -.container-fluid { - margin-right: auto; - margin-left: auto; - padding-left: 15px; - padding-right: 15px; -} -.row { - margin-left: -15px; - margin-right: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-left: 15px; - padding-right: 15px; -} -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-12 { - width: 100%; -} -.col-xs-11 { - width: 91.66666667%; -} -.col-xs-10 { - width: 83.33333333%; -} -.col-xs-9 { - width: 75%; -} -.col-xs-8 { - width: 66.66666667%; -} -.col-xs-7 { - width: 58.33333333%; -} -.col-xs-6 { - width: 50%; -} -.col-xs-5 { - width: 41.66666667%; -} -.col-xs-4 { - width: 33.33333333%; -} -.col-xs-3 { - width: 25%; -} -.col-xs-2 { - width: 16.66666667%; -} -.col-xs-1 { - width: 8.33333333%; -} -.col-xs-pull-12 { - right: 100%; -} -.col-xs-pull-11 { - right: 91.66666667%; -} -.col-xs-pull-10 { - right: 83.33333333%; -} -.col-xs-pull-9 { - right: 75%; -} -.col-xs-pull-8 { - right: 66.66666667%; -} -.col-xs-pull-7 { - right: 58.33333333%; -} -.col-xs-pull-6 { - right: 50%; -} -.col-xs-pull-5 { - right: 41.66666667%; -} -.col-xs-pull-4 { - right: 33.33333333%; -} -.col-xs-pull-3 { - right: 25%; -} -.col-xs-pull-2 { - right: 16.66666667%; -} -.col-xs-pull-1 { - right: 8.33333333%; -} -.col-xs-pull-0 { - right: auto; -} -.col-xs-push-12 { - left: 100%; -} -.col-xs-push-11 { - left: 91.66666667%; -} -.col-xs-push-10 { - left: 83.33333333%; -} -.col-xs-push-9 { - left: 75%; -} -.col-xs-push-8 { - left: 66.66666667%; -} -.col-xs-push-7 { - left: 58.33333333%; -} -.col-xs-push-6 { - left: 50%; -} -.col-xs-push-5 { - left: 41.66666667%; -} -.col-xs-push-4 { - left: 33.33333333%; -} -.col-xs-push-3 { - left: 25%; -} -.col-xs-push-2 { - left: 16.66666667%; -} -.col-xs-push-1 { - left: 8.33333333%; -} -.col-xs-push-0 { - left: auto; -} -.col-xs-offset-12 { - margin-left: 100%; -} -.col-xs-offset-11 { - margin-left: 91.66666667%; -} -.col-xs-offset-10 { - margin-left: 83.33333333%; -} -.col-xs-offset-9 { - margin-left: 75%; -} -.col-xs-offset-8 { - margin-left: 66.66666667%; -} -.col-xs-offset-7 { - margin-left: 58.33333333%; -} -.col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-5 { - margin-left: 41.66666667%; -} -.col-xs-offset-4 { - margin-left: 33.33333333%; -} -.col-xs-offset-3 { - margin-left: 25%; -} -.col-xs-offset-2 { - margin-left: 16.66666667%; -} -.col-xs-offset-1 { - margin-left: 8.33333333%; -} -.col-xs-offset-0 { - margin-left: 0%; -} -@media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0%; - } -} -@media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0%; - } -} -table { - background-color: transparent; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #999999; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 21px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #464545; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #464545; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #464545; -} -.table .table { - background-color: #222222; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #464545; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #464545; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #3d3d3d; -} -.table-hover > tbody > tr:hover { - background-color: #464545; -} -table col[class*="col-"] { - position: static; - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #464545; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #393838; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #00bc8c; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #00a379; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #3498db; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #258cd1; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #f39c12; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #e08e0b; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #e74c3c; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #e43725; -} -.table-responsive { - overflow-x: auto; - min-height: 0.01%; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15.75px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #464545; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -fieldset { - padding: 0; - margin: 0; - border: 0; - min-width: 0; -} -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 21px; - font-size: 22.5px; - line-height: inherit; - color: #ffffff; - border: 0; - border-bottom: 1px solid transparent; -} -label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; -} -input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; -} -input[type="file"] { - display: block; -} -input[type="range"] { - display: block; - width: 100%; -} -select[multiple], -select[size] { - height: auto; -} -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -output { - display: block; - padding-top: 11px; - font-size: 15px; - line-height: 1.42857143; - color: #464545; -} -.form-control { - display: block; - width: 100%; - height: 45px; - padding: 10px 15px; - font-size: 15px; - line-height: 1.42857143; - color: #464545; - background-color: #ffffff; - background-image: none; - border: 1px solid #f1f1f1; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #ffffff; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 255, 255, 0.6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(255, 255, 255, 0.6); -} -.form-control::-moz-placeholder { - color: #999999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999999; -} -.form-control::-webkit-input-placeholder { - color: #999999; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - background-color: #ebebeb; - opacity: 1; -} -.form-control[disabled], -fieldset[disabled] .form-control { - cursor: not-allowed; -} -textarea.form-control { - height: auto; -} -input[type="search"] { - -webkit-appearance: none; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 45px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm, - .input-group-sm input[type="date"], - .input-group-sm input[type="time"], - .input-group-sm input[type="datetime-local"], - .input-group-sm input[type="month"] { - line-height: 35px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg, - .input-group-lg input[type="date"], - .input-group-lg input[type="time"], - .input-group-lg input[type="datetime-local"], - .input-group-lg input[type="month"] { - line-height: 66px; - } -} -.form-group { - margin-bottom: 15px; -} -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 21px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; -} -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; -} -.radio-inline, -.checkbox-inline { - position: relative; - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; -} -input[type="radio"][disabled], -input[type="checkbox"][disabled], -input[type="radio"].disabled, -input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], -fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} -.radio-inline.disabled, -.checkbox-inline.disabled, -fieldset[disabled] .radio-inline, -fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} -.radio.disabled label, -.checkbox.disabled label, -fieldset[disabled] .radio label, -fieldset[disabled] .checkbox label { - cursor: not-allowed; -} -.form-control-static { - padding-top: 11px; - padding-bottom: 11px; - margin-bottom: 0; - min-height: 36px; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-left: 0; - padding-right: 0; -} -.input-sm { - height: 35px; - padding: 6px 9px; - font-size: 13px; - line-height: 1.5; - border-radius: 3px; -} -select.input-sm { - height: 35px; - line-height: 35px; -} -textarea.input-sm, -select[multiple].input-sm { - height: auto; -} -.form-group-sm .form-control { - height: 35px; - padding: 6px 9px; - font-size: 13px; - line-height: 1.5; - border-radius: 3px; -} -.form-group-sm select.form-control { - height: 35px; - line-height: 35px; -} -.form-group-sm textarea.form-control, -.form-group-sm select[multiple].form-control { - height: auto; -} -.form-group-sm .form-control-static { - height: 35px; - min-height: 34px; - padding: 7px 9px; - font-size: 13px; - line-height: 1.5; -} -.input-lg { - height: 66px; - padding: 18px 27px; - font-size: 19px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-lg { - height: 66px; - line-height: 66px; -} -textarea.input-lg, -select[multiple].input-lg { - height: auto; -} -.form-group-lg .form-control { - height: 66px; - padding: 18px 27px; - font-size: 19px; - line-height: 1.3333333; - border-radius: 6px; -} -.form-group-lg select.form-control { - height: 66px; - line-height: 66px; -} -.form-group-lg textarea.form-control, -.form-group-lg select[multiple].form-control { - height: auto; -} -.form-group-lg .form-control-static { - height: 66px; - min-height: 40px; - padding: 19px 27px; - font-size: 19px; - line-height: 1.3333333; -} -.has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 56.25px; -} -.form-control-feedback { - position: absolute; - top: 0; - right: 0; - z-index: 2; - display: block; - width: 45px; - height: 45px; - line-height: 45px; - text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback, -.input-group-lg + .form-control-feedback, -.form-group-lg .form-control + .form-control-feedback { - width: 66px; - height: 66px; - line-height: 66px; -} -.input-sm + .form-control-feedback, -.input-group-sm + .form-control-feedback, -.form-group-sm .form-control + .form-control-feedback { - width: 35px; - height: 35px; - line-height: 35px; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label { - color: #ffffff; -} -.has-success .form-control { - border-color: #ffffff; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-success .form-control:focus { - border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; -} -.has-success .input-group-addon { - color: #ffffff; - border-color: #ffffff; - background-color: #00bc8c; -} -.has-success .form-control-feedback { - color: #ffffff; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label { - color: #ffffff; -} -.has-warning .form-control { - border-color: #ffffff; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-warning .form-control:focus { - border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; -} -.has-warning .input-group-addon { - color: #ffffff; - border-color: #ffffff; - background-color: #f39c12; -} -.has-warning .form-control-feedback { - color: #ffffff; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label { - color: #ffffff; -} -.has-error .form-control { - border-color: #ffffff; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-error .form-control:focus { - border-color: #e6e6e6; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ffffff; -} -.has-error .input-group-addon { - color: #ffffff; - border-color: #ffffff; - background-color: #e74c3c; -} -.has-error .form-control-feedback { - color: #ffffff; -} -.has-feedback label ~ .form-control-feedback { - top: 26px; -} -.has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} -.help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #ffffff; -} -@media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-static { - display: inline-block; - } - .form-inline .input-group { - display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio, - .form-inline .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - margin-top: 0; - margin-bottom: 0; - padding-top: 11px; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 32px; -} -.form-horizontal .form-group { - margin-left: -15px; - margin-right: -15px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - text-align: right; - margin-bottom: 0; - padding-top: 11px; - } -} -.form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 24.9999994px; - font-size: 19px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 7px; - font-size: 13px; - } -} -.btn { - display: inline-block; - margin-bottom: 0; - font-weight: normal; - text-align: center; - vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - background-image: none; - border: 1px solid transparent; - white-space: nowrap; - padding: 10px 15px; - font-size: 15px; - line-height: 1.42857143; - border-radius: 4px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #ffffff; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - opacity: 0.65; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; -} -a.btn.disabled, -fieldset[disabled] a.btn { - pointer-events: none; -} -.btn-default { - color: #ffffff; - background-color: #464545; - border-color: #464545; -} -.btn-default:focus, -.btn-default.focus { - color: #ffffff; - background-color: #2c2c2c; - border-color: #060606; -} -.btn-default:hover { - color: #ffffff; - background-color: #2c2c2c; - border-color: #272727; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #ffffff; - background-color: #2c2c2c; - border-color: #272727; -} -.btn-default:active:hover, -.btn-default.active:hover, -.open > .dropdown-toggle.btn-default:hover, -.btn-default:active:focus, -.btn-default.active:focus, -.open > .dropdown-toggle.btn-default:focus, -.btn-default:active.focus, -.btn-default.active.focus, -.open > .dropdown-toggle.btn-default.focus { - color: #ffffff; - background-color: #1a1a1a; - border-color: #060606; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #464545; - border-color: #464545; -} -.btn-default .badge { - color: #464545; - background-color: #ffffff; -} -.btn-primary { - color: #ffffff; - background-color: #375a7f; - border-color: #375a7f; -} -.btn-primary:focus, -.btn-primary.focus { - color: #ffffff; - background-color: #28415b; - border-color: #101b26; -} -.btn-primary:hover { - color: #ffffff; - background-color: #28415b; - border-color: #253c54; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #28415b; - border-color: #253c54; -} -.btn-primary:active:hover, -.btn-primary.active:hover, -.open > .dropdown-toggle.btn-primary:hover, -.btn-primary:active:focus, -.btn-primary.active:focus, -.open > .dropdown-toggle.btn-primary:focus, -.btn-primary:active.focus, -.btn-primary.active.focus, -.open > .dropdown-toggle.btn-primary.focus { - color: #ffffff; - background-color: #1d2f43; - border-color: #101b26; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #375a7f; - border-color: #375a7f; -} -.btn-primary .badge { - color: #375a7f; - background-color: #ffffff; -} -.btn-success { - color: #ffffff; - background-color: #00bc8c; - border-color: #00bc8c; -} -.btn-success:focus, -.btn-success.focus { - color: #ffffff; - background-color: #008966; - border-color: #003d2d; -} -.btn-success:hover { - color: #ffffff; - background-color: #008966; - border-color: #007f5e; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #008966; - border-color: #007f5e; -} -.btn-success:active:hover, -.btn-success.active:hover, -.open > .dropdown-toggle.btn-success:hover, -.btn-success:active:focus, -.btn-success.active:focus, -.open > .dropdown-toggle.btn-success:focus, -.btn-success:active.focus, -.btn-success.active.focus, -.open > .dropdown-toggle.btn-success.focus { - color: #ffffff; - background-color: #00654b; - border-color: #003d2d; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #00bc8c; - border-color: #00bc8c; -} -.btn-success .badge { - color: #00bc8c; - background-color: #ffffff; -} -.btn-info { - color: #ffffff; - background-color: #3498db; - border-color: #3498db; -} -.btn-info:focus, -.btn-info.focus { - color: #ffffff; - background-color: #217dbb; - border-color: #16527a; -} -.btn-info:hover { - color: #ffffff; - background-color: #217dbb; - border-color: #2077b2; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #217dbb; - border-color: #2077b2; -} -.btn-info:active:hover, -.btn-info.active:hover, -.open > .dropdown-toggle.btn-info:hover, -.btn-info:active:focus, -.btn-info.active:focus, -.open > .dropdown-toggle.btn-info:focus, -.btn-info:active.focus, -.btn-info.active.focus, -.open > .dropdown-toggle.btn-info.focus { - color: #ffffff; - background-color: #1c699d; - border-color: #16527a; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #3498db; - border-color: #3498db; -} -.btn-info .badge { - color: #3498db; - background-color: #ffffff; -} -.btn-warning { - color: #ffffff; - background-color: #f39c12; - border-color: #f39c12; -} -.btn-warning:focus, -.btn-warning.focus { - color: #ffffff; - background-color: #c87f0a; - border-color: #7f5006; -} -.btn-warning:hover { - color: #ffffff; - background-color: #c87f0a; - border-color: #be780a; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #c87f0a; - border-color: #be780a; -} -.btn-warning:active:hover, -.btn-warning.active:hover, -.open > .dropdown-toggle.btn-warning:hover, -.btn-warning:active:focus, -.btn-warning.active:focus, -.open > .dropdown-toggle.btn-warning:focus, -.btn-warning:active.focus, -.btn-warning.active.focus, -.open > .dropdown-toggle.btn-warning.focus { - color: #ffffff; - background-color: #a66908; - border-color: #7f5006; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f39c12; - border-color: #f39c12; -} -.btn-warning .badge { - color: #f39c12; - background-color: #ffffff; -} -.btn-danger { - color: #ffffff; - background-color: #e74c3c; - border-color: #e74c3c; -} -.btn-danger:focus, -.btn-danger.focus { - color: #ffffff; - background-color: #d62c1a; - border-color: #921e12; -} -.btn-danger:hover { - color: #ffffff; - background-color: #d62c1a; - border-color: #cd2a19; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #d62c1a; - border-color: #cd2a19; -} -.btn-danger:active:hover, -.btn-danger.active:hover, -.open > .dropdown-toggle.btn-danger:hover, -.btn-danger:active:focus, -.btn-danger.active:focus, -.open > .dropdown-toggle.btn-danger:focus, -.btn-danger:active.focus, -.btn-danger.active.focus, -.open > .dropdown-toggle.btn-danger.focus { - color: #ffffff; - background-color: #b62516; - border-color: #921e12; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #e74c3c; - border-color: #e74c3c; -} -.btn-danger .badge { - color: #e74c3c; - background-color: #ffffff; -} -.btn-link { - color: #0ce3ac; - font-weight: normal; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #0ce3ac; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #999999; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { - padding: 18px 27px; - font-size: 19px; - line-height: 1.3333333; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { - padding: 6px 9px; - font-size: 13px; - line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { - padding: 1px 5px; - font-size: 13px; - line-height: 1.5; - border-radius: 3px; -} -.btn-block { - display: block; - width: 100%; -} -.btn-block + .btn-block { - margin-top: 5px; -} -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} -.fade { - opacity: 0; - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} -.collapse { - display: none; -} -.collapse.in { - display: block; -} -tr.collapse.in { - display: table-row; -} -tbody.collapse.in { - display: table-row-group; -} -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-property: height, visibility; - -o-transition-property: height, visibility; - transition-property: height, visibility; - -webkit-transition-duration: 0.35s; - -o-transition-duration: 0.35s; - transition-duration: 0.35s; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; -} -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px dashed; - border-top: 4px solid \9; - border-right: 4px solid transparent; - border-left: 4px solid transparent; -} -.dropup, -.dropdown { - position: relative; -} -.dropdown-toggle:focus { - outline: 0; -} -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - list-style: none; - font-size: 15px; - text-align: left; - background-color: #303030; - border: 1px solid #cccccc; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - -webkit-background-clip: padding-box; - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9.5px 0; - overflow: hidden; - background-color: #464545; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #ebebeb; - white-space: nowrap; -} -.dropdown-menu > li > a:hover, -.dropdown-menu > li > a:focus { - text-decoration: none; - color: #ffffff; - background-color: #375a7f; -} -.dropdown-menu > .active > a, -.dropdown-menu > .active > a:hover, -.dropdown-menu > .active > a:focus { - color: #ffffff; - text-decoration: none; - outline: 0; - background-color: #375a7f; -} -.dropdown-menu > .disabled > a, -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - color: #999999; -} -.dropdown-menu > .disabled > a:hover, -.dropdown-menu > .disabled > a:focus { - text-decoration: none; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} -.open > .dropdown-menu { - display: block; -} -.open > a { - outline: 0; -} -.dropdown-menu-right { - left: auto; - right: 0; -} -.dropdown-menu-left { - left: 0; - right: auto; -} -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: 13px; - line-height: 1.42857143; - color: #999999; - white-space: nowrap; -} -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: 990; -} -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} -.dropup .caret, -.navbar-fixed-bottom .dropdown .caret { - border-top: 0; - border-bottom: 4px dashed; - border-bottom: 4px solid \9; - content: ""; -} -.dropup .dropdown-menu, -.navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 2px; -} -@media (min-width: 768px) { - .navbar-right .dropdown-menu { - left: auto; - right: 0; - } - .navbar-right .dropdown-menu-left { - left: 0; - right: auto; - } -} -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group .btn + .btn, -.btn-group .btn + .btn-group, -.btn-group .btn-group + .btn, -.btn-group .btn-group + .btn-group { - margin-left: -1px; -} -.btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn, -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} -.btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group > .btn-group { - float: left; -} -.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn .caret { - margin-left: 0; -} -.btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group, -.btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, -.btn-group-vertical > .btn + .btn-group, -.btn-group-vertical > .btn-group + .btn, -.btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; -} -.btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} -.btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn:last-child:not(:first-child) { - border-bottom-left-radius: 4px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, -.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} -[data-toggle="buttons"] > .btn input[type="radio"], -[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], -[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} -.input-group { - position: relative; - display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-lg > .form-control, -.input-group-lg > .input-group-addon, -.input-group-lg > .input-group-btn > .btn { - height: 66px; - padding: 18px 27px; - font-size: 19px; - line-height: 1.3333333; - border-radius: 6px; -} -select.input-group-lg > .form-control, -select.input-group-lg > .input-group-addon, -select.input-group-lg > .input-group-btn > .btn { - height: 66px; - line-height: 66px; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; -} -.input-group-sm > .form-control, -.input-group-sm > .input-group-addon, -.input-group-sm > .input-group-btn > .btn { - height: 35px; - padding: 6px 9px; - font-size: 13px; - line-height: 1.5; - border-radius: 3px; -} -select.input-group-sm > .form-control, -select.input-group-sm > .input-group-addon, -select.input-group-sm > .input-group-btn > .btn { - height: 35px; - line-height: 35px; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} -.input-group-addon, -.input-group-btn, -.input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} -.input-group-addon, -.input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; -} -.input-group-addon { - padding: 10px 15px; - font-size: 15px; - font-weight: normal; - line-height: 1; - color: #464545; - text-align: center; - background-color: #464545; - border: 1px solid transparent; - border-radius: 4px; -} -.input-group-addon.input-sm { - padding: 6px 9px; - font-size: 13px; - border-radius: 3px; -} -.input-group-addon.input-lg { - padding: 18px 27px; - font-size: 19px; - border-radius: 6px; -} -.input-group-addon input[type="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.input-group-addon:first-child { - border-right: 0; -} -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-bottom-left-radius: 0; - border-top-left-radius: 0; -} -.input-group-addon:last-child { - border-left: 0; -} -.input-group-btn { - position: relative; - font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - z-index: 2; - margin-left: -1px; -} -.nav { - margin-bottom: 0; - padding-left: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #303030; -} -.nav > li.disabled > a { - color: #605e5e; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #605e5e; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #303030; - border-color: #0ce3ac; -} -.nav .nav-divider { - height: 1px; - margin: 9.5px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} -.nav-tabs { - border-bottom: 1px solid #464545; -} -.nav-tabs > li { - float: left; - margin-bottom: -1px; -} -.nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; -} -.nav-tabs > li > a:hover { - border-color: #464545 #464545 #464545; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #00bc8c; - background-color: #222222; - border: 1px solid #464545; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs.nav-justified > .active > a, -.nav-tabs.nav-justified > .active > a:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ebebeb; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ebebeb; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #222222; - } -} -.nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #375a7f; -} -.nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } -} -.nav-tabs-justified { - border-bottom: 0; -} -.nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; -} -.nav-tabs-justified > .active > a, -.nav-tabs-justified > .active > a:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #ebebeb; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ebebeb; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #222222; - } -} -.tab-content > .tab-pane { - display: none; -} -.tab-content > .active { - display: block; -} -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar { - position: relative; - min-height: 60px; - margin-bottom: 21px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} -@media (min-width: 768px) { - .navbar-header { - float: left; - } -} -.navbar-collapse { - overflow-x: visible; - padding-right: 15px; - padding-left: 15px; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; - } -} -.navbar-fixed-top .navbar-collapse, -.navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} -.container > .navbar-header, -.container-fluid > .navbar-header, -.container > .navbar-collapse, -.container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} -.navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} -.navbar-fixed-top, -.navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} -.navbar-fixed-top { - top: 0; - border-width: 0 0 1px; -} -.navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; -} -.navbar-brand { - float: left; - padding: 19.5px 15px; - font-size: 19px; - line-height: 21px; - height: 60px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} -.navbar-toggle { - position: relative; - float: right; - margin-right: 15px; - padding: 9px 10px; - margin-top: 13px; - margin-bottom: 13px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; -} -.navbar-toggle:focus { - outline: 0; -} -.navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; -} -.navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; -} -@media (min-width: 768px) { - .navbar-toggle { - display: none; - } -} -.navbar-nav { - margin: 9.75px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 21px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 21px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 19.5px; - padding-bottom: 19.5px; - } -} -.navbar-form { - margin-left: -15px; - margin-right: -15px; - padding: 10px 15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); - margin-top: 7.5px; - margin-bottom: 7.5px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - -webkit-box-shadow: none; - box-shadow: none; - } -} -.navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - margin-bottom: 0; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} -.navbar-btn { - margin-top: 7.5px; - margin-bottom: 7.5px; -} -.navbar-btn.btn-sm { - margin-top: 12.5px; - margin-bottom: 12.5px; -} -.navbar-btn.btn-xs { - margin-top: 19px; - margin-bottom: 19px; -} -.navbar-text { - margin-top: 19.5px; - margin-bottom: 19.5px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-left: 15px; - margin-right: 15px; - } -} -@media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} -.navbar-default { - background-color: #375a7f; - border-color: transparent; -} -.navbar-default .navbar-brand { - color: #ffffff; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #00bc8c; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #ffffff; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #00bc8c; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #28415b; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #28415b; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #28415b; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: transparent; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #28415b; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #ffffff; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #00bc8c; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #28415b; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #ffffff; -} -.navbar-default .navbar-link:hover { - color: #00bc8c; -} -.navbar-default .btn-link { - color: #ffffff; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #00bc8c; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #cccccc; -} -.navbar-inverse { - background-color: #00bc8c; - border-color: transparent; -} -.navbar-inverse .navbar-brand { - color: #ffffff; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #375a7f; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #ffffff; -} -.navbar-inverse .navbar-nav > li > a { - color: #ffffff; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #375a7f; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #00a379; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #aaaaaa; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #008966; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #008966; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #009871; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - background-color: #00a379; - color: #ffffff; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #ffffff; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #375a7f; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #00a379; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #aaaaaa; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #ffffff; -} -.navbar-inverse .navbar-link:hover { - color: #375a7f; -} -.navbar-inverse .btn-link { - color: #ffffff; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #375a7f; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #aaaaaa; -} -.breadcrumb { - padding: 8px 15px; - margin-bottom: 21px; - list-style: none; - background-color: #464545; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #ffffff; -} -.breadcrumb > .active { - color: #999999; -} -.pagination { - display: inline-block; - padding-left: 0; - margin: 21px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 10px 15px; - line-height: 1.42857143; - text-decoration: none; - color: #ffffff; - background-color: #00bc8c; - border: 1px solid transparent; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - z-index: 3; - color: #ffffff; - background-color: #00dba3; - border-color: transparent; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #00dba3; - border-color: transparent; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #ffffff; - background-color: #007053; - border-color: transparent; - cursor: not-allowed; -} -.pagination-lg > li > a, -.pagination-lg > li > span { - padding: 18px 27px; - font-size: 19px; - line-height: 1.3333333; -} -.pagination-lg > li:first-child > a, -.pagination-lg > li:first-child > span { - border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} -.pagination-lg > li:last-child > a, -.pagination-lg > li:last-child > span { - border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} -.pagination-sm > li > a, -.pagination-sm > li > span { - padding: 6px 9px; - font-size: 13px; - line-height: 1.5; -} -.pagination-sm > li:first-child > a, -.pagination-sm > li:first-child > span { - border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} -.pagination-sm > li:last-child > a, -.pagination-sm > li:last-child > span { - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} -.pager { - padding-left: 0; - margin: 21px 0; - list-style: none; - text-align: center; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #00bc8c; - border: 1px solid transparent; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #00dba3; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #dddddd; - background-color: #00bc8c; - cursor: not-allowed; -} -.label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} -a.label:hover, -a.label:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} -.label-default { - background-color: #464545; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #2c2c2c; -} -.label-primary { - background-color: #375a7f; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #28415b; -} -.label-success { - background-color: #00bc8c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #008966; -} -.label-info { - background-color: #3498db; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #217dbb; -} -.label-warning { - background-color: #f39c12; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #c87f0a; -} -.label-danger { - background-color: #e74c3c; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #d62c1a; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 13px; - font-weight: bold; - color: #ffffff; - line-height: 1; - vertical-align: middle; - white-space: nowrap; - text-align: center; - background-color: #464545; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge, -.btn-group-xs > .btn .badge { - top: 0; - padding: 1px 5px; -} -a.badge:hover, -a.badge:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #375a7f; - background-color: #ffffff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} -.jumbotron { - padding-top: 30px; - padding-bottom: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #303030; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 23px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #161616; -} -.container .jumbotron, -.container-fluid .jumbotron { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron, - .container-fluid .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 68px; - } -} -.thumbnail { - display: block; - padding: 2px; - margin-bottom: 21px; - line-height: 1.42857143; - background-color: #222222; - border: 1px solid #464545; - border-radius: 4px; - -webkit-transition: border 0.2s ease-in-out; - -o-transition: border 0.2s ease-in-out; - transition: border 0.2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-left: auto; - margin-right: auto; -} -a.thumbnail:hover, -a.thumbnail:focus, -a.thumbnail.active { - border-color: #0ce3ac; -} -.thumbnail .caption { - padding: 9px; - color: #ffffff; -} -.alert { - padding: 15px; - margin-bottom: 21px; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - background-color: #00bc8c; - border-color: #00bc8c; - color: #ffffff; -} -.alert-success hr { - border-top-color: #00a379; -} -.alert-success .alert-link { - color: #e6e6e6; -} -.alert-info { - background-color: #3498db; - border-color: #3498db; - color: #ffffff; -} -.alert-info hr { - border-top-color: #258cd1; -} -.alert-info .alert-link { - color: #e6e6e6; -} -.alert-warning { - background-color: #f39c12; - border-color: #f39c12; - color: #ffffff; -} -.alert-warning hr { - border-top-color: #e08e0b; -} -.alert-warning .alert-link { - color: #e6e6e6; -} -.alert-danger { - background-color: #e74c3c; - border-color: #e74c3c; - color: #ffffff; -} -.alert-danger hr { - border-top-color: #e43725; -} -.alert-danger .alert-link { - color: #e6e6e6; -} -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -@keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } -} -.progress { - overflow: hidden; - height: 21px; - margin-bottom: 21px; - background-color: #ebebeb; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} -.progress-bar { - float: left; - width: 0%; - height: 100%; - font-size: 13px; - line-height: 21px; - color: #ffffff; - text-align: center; - background-color: #375a7f; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; -} -.progress-striped .progress-bar, -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - -webkit-background-size: 40px 40px; - background-size: 40px 40px; -} -.progress.active .progress-bar, -.progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} -.progress-bar-success { - background-color: #00bc8c; -} -.progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-info { - background-color: #3498db; -} -.progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-warning { - background-color: #f39c12; -} -.progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.progress-bar-danger { - background-color: #e74c3c; -} -.progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} -.media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} -.media, -.media-body { - zoom: 1; - overflow: hidden; -} -.media-body { - width: 10000px; -} -.media-object { - display: block; -} -.media-object.img-thumbnail { - max-width: none; -} -.media-right, -.media > .pull-right { - padding-left: 10px; -} -.media-left, -.media > .pull-left { - padding-right: 10px; -} -.media-left, -.media-right, -.media-body { - display: table-cell; - vertical-align: top; -} -.media-middle { - vertical-align: middle; -} -.media-bottom { - vertical-align: bottom; -} -.media-heading { - margin-top: 0; - margin-bottom: 5px; -} -.media-list { - padding-left: 0; - list-style: none; -} -.list-group { - margin-bottom: 20px; - padding-left: 0; -} -.list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #303030; - border: 1px solid #464545; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item, -button.list-group-item { - color: #0ce3ac; -} -a.list-group-item .list-group-item-heading, -button.list-group-item .list-group-item-heading { - color: #0bcb9a; -} -a.list-group-item:hover, -button.list-group-item:hover, -a.list-group-item:focus, -button.list-group-item:focus { - text-decoration: none; - color: #0ce3ac; - background-color: transparent; -} -button.list-group-item { - width: 100%; - text-align: left; -} -.list-group-item.disabled, -.list-group-item.disabled:hover, -.list-group-item.disabled:focus { - background-color: #ebebeb; - color: #999999; - cursor: not-allowed; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #999999; -} -.list-group-item.active, -.list-group-item.active:hover, -.list-group-item.active:focus { - z-index: 2; - color: #ffffff; - background-color: #375a7f; - border-color: #375a7f; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #a8c0da; -} -.list-group-item-success { - color: #ffffff; - background-color: #00bc8c; -} -a.list-group-item-success, -button.list-group-item-success { - color: #ffffff; -} -a.list-group-item-success .list-group-item-heading, -button.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -button.list-group-item-success:hover, -a.list-group-item-success:focus, -button.list-group-item-success:focus { - color: #ffffff; - background-color: #00a379; -} -a.list-group-item-success.active, -button.list-group-item-success.active, -a.list-group-item-success.active:hover, -button.list-group-item-success.active:hover, -a.list-group-item-success.active:focus, -button.list-group-item-success.active:focus { - color: #fff; - background-color: #ffffff; - border-color: #ffffff; -} -.list-group-item-info { - color: #ffffff; - background-color: #3498db; -} -a.list-group-item-info, -button.list-group-item-info { - color: #ffffff; -} -a.list-group-item-info .list-group-item-heading, -button.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -button.list-group-item-info:hover, -a.list-group-item-info:focus, -button.list-group-item-info:focus { - color: #ffffff; - background-color: #258cd1; -} -a.list-group-item-info.active, -button.list-group-item-info.active, -a.list-group-item-info.active:hover, -button.list-group-item-info.active:hover, -a.list-group-item-info.active:focus, -button.list-group-item-info.active:focus { - color: #fff; - background-color: #ffffff; - border-color: #ffffff; -} -.list-group-item-warning { - color: #ffffff; - background-color: #f39c12; -} -a.list-group-item-warning, -button.list-group-item-warning { - color: #ffffff; -} -a.list-group-item-warning .list-group-item-heading, -button.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -button.list-group-item-warning:hover, -a.list-group-item-warning:focus, -button.list-group-item-warning:focus { - color: #ffffff; - background-color: #e08e0b; -} -a.list-group-item-warning.active, -button.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -button.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus, -button.list-group-item-warning.active:focus { - color: #fff; - background-color: #ffffff; - border-color: #ffffff; -} -.list-group-item-danger { - color: #ffffff; - background-color: #e74c3c; -} -a.list-group-item-danger, -button.list-group-item-danger { - color: #ffffff; -} -a.list-group-item-danger .list-group-item-heading, -button.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -button.list-group-item-danger:hover, -a.list-group-item-danger:focus, -button.list-group-item-danger:focus { - color: #ffffff; - background-color: #e43725; -} -a.list-group-item-danger.active, -button.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -button.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus, -button.list-group-item-danger.active:focus { - color: #fff; - background-color: #ffffff; - border-color: #ffffff; -} -.list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; -} -.list-group-item-text { - margin-bottom: 0; - line-height: 1.3; -} -.panel { - margin-bottom: 21px; - background-color: #303030; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} -.panel-body { - padding: 15px; -} -.panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} -.panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 17px; - color: inherit; -} -.panel-title > a, -.panel-title > small, -.panel-title > .small, -.panel-title > small > a, -.panel-title > .small > a { - color: inherit; -} -.panel-footer { - padding: 10px 15px; - background-color: #464545; - border-top: 1px solid #464545; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .list-group, -.panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { - border-top-right-radius: 0; - border-top-left-radius: 0; -} -.panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} -.list-group + .panel-footer { - border-top-width: 0; -} -.panel > .table, -.panel > .table-responsive > .table, -.panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-left: 15px; - padding-right: 15px; -} -.panel > .table:first-child, -.panel > .table-responsive:first-child > .table:first-child { - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} -.panel > .table:last-child, -.panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} -.panel > .panel-body + .table, -.panel > .panel-body + .table-responsive, -.panel > .table + .panel-body, -.panel > .table-responsive + .panel-body { - border-top: 1px solid #464545; -} -.panel > .table > tbody:first-child > tr:first-child th, -.panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} -.panel > .table-bordered, -.panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} -.panel > .table-responsive { - border: 0; - margin-bottom: 0; -} -.panel-group { - margin-bottom: 21px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #464545; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #464545; -} -.panel-default { - border-color: #464545; -} -.panel-default > .panel-heading { - color: #ffffff; - background-color: #303030; - border-color: #464545; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #464545; -} -.panel-default > .panel-heading .badge { - color: #303030; - background-color: #ffffff; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #464545; -} -.panel-primary { - border-color: #375a7f; -} -.panel-primary > .panel-heading { - color: #ffffff; - background-color: #375a7f; - border-color: #375a7f; -} -.panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #375a7f; -} -.panel-primary > .panel-heading .badge { - color: #375a7f; - background-color: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #375a7f; -} -.panel-success { - border-color: #00bc8c; -} -.panel-success > .panel-heading { - color: #ffffff; - background-color: #00bc8c; - border-color: #00bc8c; -} -.panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #00bc8c; -} -.panel-success > .panel-heading .badge { - color: #00bc8c; - background-color: #ffffff; -} -.panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #00bc8c; -} -.panel-info { - border-color: #3498db; -} -.panel-info > .panel-heading { - color: #ffffff; - background-color: #3498db; - border-color: #3498db; -} -.panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #3498db; -} -.panel-info > .panel-heading .badge { - color: #3498db; - background-color: #ffffff; -} -.panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #3498db; -} -.panel-warning { - border-color: #f39c12; -} -.panel-warning > .panel-heading { - color: #ffffff; - background-color: #f39c12; - border-color: #f39c12; -} -.panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #f39c12; -} -.panel-warning > .panel-heading .badge { - color: #f39c12; - background-color: #ffffff; -} -.panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #f39c12; -} -.panel-danger { - border-color: #e74c3c; -} -.panel-danger > .panel-heading { - color: #ffffff; - background-color: #e74c3c; - border-color: #e74c3c; -} -.panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #e74c3c; -} -.panel-danger > .panel-heading .badge { - color: #e74c3c; - background-color: #ffffff; -} -.panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #e74c3c; -} -.embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; -} -.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive-4by3 { - padding-bottom: 75%; -} -.well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #303030; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} -.well-lg { - padding: 24px; - border-radius: 6px; -} -.well-sm { - padding: 9px; - border-radius: 3px; -} -.close { - float: right; - font-size: 22.5px; - font-weight: bold; - line-height: 1; - color: #ffffff; - text-shadow: none; - opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #ffffff; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} -button.close { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} -.modal-open { - overflow: hidden; -} -.modal { - display: none; - overflow: hidden; - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - -o-transform: translate(0, -25%); - transform: translate(0, -25%); - -webkit-transition: -webkit-transform 0.3s ease-out; - -o-transition: -o-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); -} -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} -.modal-dialog { - position: relative; - width: auto; - margin: 10px; -} -.modal-content { - position: relative; - background-color: #303030; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); - -webkit-background-clip: padding-box; - background-clip: padding-box; - outline: 0; -} -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.7; - filter: alpha(opacity=70); -} -.modal-header { - padding: 15px; - border-bottom: 1px solid #464545; - min-height: 16.42857143px; -} -.modal-header .close { - margin-top: -2px; -} -.modal-title { - margin: 0; - line-height: 1.42857143; -} -.modal-body { - position: relative; - padding: 20px; -} -.modal-footer { - padding: 20px; - text-align: right; - border-top: 1px solid #464545; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} -@media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } - .modal-sm { - width: 300px; - } -} -@media (min-width: 992px) { - .modal-lg { - width: 900px; - } -} -.tooltip { - position: absolute; - z-index: 1070; - display: block; - font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - font-size: 13px; - opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} -.tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #ffffff; - text-align: center; - background-color: #000000; - border-radius: 4px; -} -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.tooltip.top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-left .tooltip-arrow { - bottom: 0; - right: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.top-right .tooltip-arrow { - bottom: 0; - left: 5px; - margin-bottom: -5px; - border-width: 5px 5px 0; - border-top-color: #000000; -} -.tooltip.right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000000; -} -.tooltip.left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000000; -} -.tooltip.bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-left .tooltip-arrow { - top: 0; - right: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.tooltip.bottom-right .tooltip-arrow { - top: 0; - left: 5px; - margin-top: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000000; -} -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - line-break: auto; - line-height: 1.42857143; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - white-space: normal; - word-break: normal; - word-spacing: normal; - word-wrap: normal; - font-size: 15px; - background-color: #303030; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999999; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} -.popover-title { - margin: 0; - padding: 8px 14px; - font-size: 15px; - background-color: #282828; - border-bottom: 1px solid #1c1c1c; - border-radius: 5px 5px 0 0; -} -.popover-content { - padding: 9px 14px; -} -.popover > .arrow, -.popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} -.popover > .arrow { - border-width: 11px; -} -.popover > .arrow:after { - border-width: 10px; - content: ""; -} -.popover.top > .arrow { - left: 50%; - margin-left: -11px; - border-bottom-width: 0; - border-top-color: #666666; - border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; -} -.popover.top > .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #303030; -} -.popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-left-width: 0; - border-right-color: #666666; - border-right-color: rgba(0, 0, 0, 0.25); -} -.popover.right > .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #303030; -} -.popover.bottom > .arrow { - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #666666; - border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; -} -.popover.bottom > .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #303030; -} -.popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #666666; - border-left-color: rgba(0, 0, 0, 0.25); -} -.popover.left > .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #303030; - bottom: -10px; -} -.carousel { - position: relative; -} -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - -webkit-transition: 0.6s ease-in-out left; - -o-transition: 0.6s ease-in-out left; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { - .carousel-inner > .item { - -webkit-transition: -webkit-transform 0.6s ease-in-out; - -o-transition: -o-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - left: 0; - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - left: 0; - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - left: 0; - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: 15%; - opacity: 0.5; - filter: alpha(opacity=50); - font-size: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - outline: 0; - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - margin-top: -10px; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - line-height: 1; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #ffffff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} -@media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } -} -.clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { - content: " "; - display: table; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} -.pull-right { - float: right !important; -} -.pull-left { - float: left !important; -} -.hide { - display: none !important; -} -.show { - display: block !important; -} -.invisible { - visibility: hidden; -} -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} -.hidden { - display: none !important; -} -.affix { - position: fixed; -} -@-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, -.visible-lg { - display: none !important; -} -.visible-xs-block, -.visible-xs-inline, -.visible-xs-inline-block, -.visible-sm-block, -.visible-sm-inline, -.visible-sm-inline-block, -.visible-md-block, -.visible-md-inline, -.visible-md-inline-block, -.visible-lg-block, -.visible-lg-inline, -.visible-lg-inline-block { - display: none !important; -} -@media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table !important; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } -} -@media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } -} -@media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table !important; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table !important; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } -} -@media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table !important; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } -} -@media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } -} -@media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } -} -@media (max-width: 767px) { - .hidden-xs { - display: none !important; - } -} -@media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } -} -@media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } -} -@media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } -} -.visible-print { - display: none !important; -} -@media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table !important; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } -} -.visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} -.visible-print-inline { - display: none !important; -} -@media print { - .visible-print-inline { - display: inline !important; - } -} -.visible-print-inline-block { - display: none !important; -} -@media print { - .visible-print-inline-block { - display: inline-block !important; - } -} -@media print { - .hidden-print { - display: none !important; - } -} -.navbar { - border-width: 0; -} -.navbar-default .badge { - background-color: #fff; - color: #375a7f; -} -.navbar-inverse .badge { - background-color: #fff; - color: #00bc8c; -} -.navbar-brand { - line-height: 1; -} -.navbar-form .form-control { - background-color: white; -} -.navbar-form .form-control:focus { - border-color: white; -} -.btn { - border-width: 2px; -} -.btn:active { - -webkit-box-shadow: none; - box-shadow: none; -} -.btn-group.open .dropdown-toggle { - -webkit-box-shadow: none; - box-shadow: none; -} -.text-primary, -.text-primary:hover { - color: #4673a3; -} -.text-success, -.text-success:hover { - color: #00bc8c; -} -.text-danger, -.text-danger:hover { - color: #e74c3c; -} -.text-warning, -.text-warning:hover { - color: #f39c12; -} -.text-info, -.text-info:hover { - color: #3498db; -} -table a:not(.btn), -.table a:not(.btn) { - text-decoration: underline; -} -table .dropdown-menu a, -.table .dropdown-menu a { - text-decoration: none; -} -table .success, -.table .success, -table .warning, -.table .warning, -table .danger, -.table .danger, -table .info, -.table .info { - color: #fff; -} -table .success > th > a, -.table .success > th > a, -table .warning > th > a, -.table .warning > th > a, -table .danger > th > a, -.table .danger > th > a, -table .info > th > a, -.table .info > th > a, -table .success > td > a, -.table .success > td > a, -table .warning > td > a, -.table .warning > td > a, -table .danger > td > a, -.table .danger > td > a, -table .info > td > a, -.table .info > td > a, -table .success > a, -.table .success > a, -table .warning > a, -.table .warning > a, -table .danger > a, -.table .danger > a, -table .info > a, -.table .info > a { - color: #fff; -} -table > thead > tr > th, -.table > thead > tr > th, -table > tbody > tr > th, -.table > tbody > tr > th, -table > tfoot > tr > th, -.table > tfoot > tr > th, -table > thead > tr > td, -.table > thead > tr > td, -table > tbody > tr > td, -.table > tbody > tr > td, -table > tfoot > tr > td, -.table > tfoot > tr > td { - border: none; -} -table-bordered > thead > tr > th, -.table-bordered > thead > tr > th, -table-bordered > tbody > tr > th, -.table-bordered > tbody > tr > th, -table-bordered > tfoot > tr > th, -.table-bordered > tfoot > tr > th, -table-bordered > thead > tr > td, -.table-bordered > thead > tr > td, -table-bordered > tbody > tr > td, -.table-bordered > tbody > tr > td, -table-bordered > tfoot > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #464545; -} -input, -textarea { - color: #464545; -} -.form-control, -input, -textarea { - border: 2px hidden transparent; - -webkit-box-shadow: none; - box-shadow: none; -} -.form-control:focus, -input:focus, -textarea:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -.has-warning .help-block, -.has-warning .control-label, -.has-warning .radio, -.has-warning .checkbox, -.has-warning .radio-inline, -.has-warning .checkbox-inline, -.has-warning.radio label, -.has-warning.checkbox label, -.has-warning.radio-inline label, -.has-warning.checkbox-inline label, -.has-warning .form-control-feedback { - color: #f39c12; -} -.has-warning .form-control, -.has-warning .form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -.has-warning .input-group-addon { - border-color: #f39c12; -} -.has-error .help-block, -.has-error .control-label, -.has-error .radio, -.has-error .checkbox, -.has-error .radio-inline, -.has-error .checkbox-inline, -.has-error.radio label, -.has-error.checkbox label, -.has-error.radio-inline label, -.has-error.checkbox-inline label, -.has-error .form-control-feedback { - color: #e74c3c; -} -.has-error .form-control, -.has-error .form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -.has-error .input-group-addon { - border-color: #e74c3c; -} -.has-success .help-block, -.has-success .control-label, -.has-success .radio, -.has-success .checkbox, -.has-success .radio-inline, -.has-success .checkbox-inline, -.has-success.radio label, -.has-success.checkbox label, -.has-success.radio-inline label, -.has-success.checkbox-inline label, -.has-success .form-control-feedback { - color: #00bc8c; -} -.has-success .form-control, -.has-success .form-control:focus { - -webkit-box-shadow: none; - box-shadow: none; -} -.has-success .input-group-addon { - border-color: #00bc8c; -} -.input-group-addon { - color: #ffffff; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - border-color: #464545; -} -.nav-tabs > li > a, -.nav-pills > li > a { - color: #fff; -} -.pager a, -.pager a:hover { - color: #fff; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - background-color: #007053; -} -.breadcrumb a { - color: #fff; -} -.close { - text-decoration: none; - text-shadow: none; - opacity: 0.4; -} -.close:hover, -.close:focus { - opacity: 1; -} -.alert .alert-link { - color: #fff; - text-decoration: underline; -} -.progress { - height: 10px; - -webkit-box-shadow: none; - box-shadow: none; -} -.progress .progress-bar { - font-size: 10px; - line-height: 10px; -} -.well { - -webkit-box-shadow: none; - box-shadow: none; -} -a.list-group-item.active, -a.list-group-item.active:hover, -a.list-group-item.active:focus { - border-color: #464545; -} -a.list-group-item-success.active { - background-color: #00bc8c; -} -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - background-color: #00a379; -} -a.list-group-item-warning.active { - background-color: #f39c12; -} -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - background-color: #e08e0b; -} -a.list-group-item-danger.active { - background-color: #e74c3c; -} -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - background-color: #e43725; -} -.popover { - color: #ffffff; -} -.panel-default > .panel-heading { - background-color: #464545; -} diff --git a/packages/vue2-strategy/sandbox/public/css/index.css b/packages/vue2-strategy/sandbox/public/css/index.css deleted file mode 100644 index f2e9ceba0149..000000000000 --- a/packages/vue2-strategy/sandbox/public/css/index.css +++ /dev/null @@ -1,4 +0,0 @@ -body { - color: #222222; - background-color: #ffffff; -} diff --git a/packages/vue2-strategy/sandbox/public/index.html b/packages/vue2-strategy/sandbox/public/index.html deleted file mode 100644 index c972828bca89..000000000000 --- a/packages/vue2-strategy/sandbox/public/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - DevExtreme Vue Components - - - - - -
-

DevExtreme Vue Components

-
-
- - - - - diff --git a/packages/vue2-strategy/sandbox/tsconfig.json b/packages/vue2-strategy/sandbox/tsconfig.json deleted file mode 100644 index 00183db5c2d3..000000000000 --- a/packages/vue2-strategy/sandbox/tsconfig.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "baseUrl": ".", - "outDir": "./temp", - "noEmitOnError": true, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "strictNullChecks": true - }, - "include": [ - "*.ts" - ] -} diff --git a/packages/vue2-strategy/sandbox/vue-shim.d.ts b/packages/vue2-strategy/sandbox/vue-shim.d.ts deleted file mode 100644 index d6e6b864e503..000000000000 --- a/packages/vue2-strategy/sandbox/vue-shim.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module "*.vue" { - import Vue from "vue"; - export default Vue; -} diff --git a/packages/vue2-strategy/src/accordion.ts b/packages/vue2-strategy/src/accordion.ts deleted file mode 100644 index a3856422bac4..000000000000 --- a/packages/vue2-strategy/src/accordion.ts +++ /dev/null @@ -1,179 +0,0 @@ -export { ExplicitTypes } from "devextreme/ui/accordion"; -import Accordion, { Properties } from "devextreme/ui/accordion"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxAccordion extends AccessibleOptions { - readonly instance?: Accordion; -} -const DxAccordion = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - animationDuration: Number, - collapsible: Boolean, - dataSource: {}, - deferRendering: Boolean, - disabled: Boolean, - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - itemHoldTimeout: Number, - items: Array, - itemTemplate: {}, - itemTitleTemplate: {}, - keyExpr: [Function, String], - multiple: Boolean, - noDataText: String, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onItemClick: Function, - onItemContextMenu: Function, - onItemHold: Function, - onItemRendered: Function, - onItemTitleClick: Function, - onOptionChanged: Function, - onSelectionChanged: Function, - repaintChangesOnly: Boolean, - rtlEnabled: Boolean, - selectedIndex: Number, - selectedItem: {}, - selectedItemKeys: Array, - selectedItems: Array, - tabIndex: Number, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:animationDuration": null, - "update:collapsible": null, - "update:dataSource": null, - "update:deferRendering": null, - "update:disabled": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:itemHoldTimeout": null, - "update:items": null, - "update:itemTemplate": null, - "update:itemTitleTemplate": null, - "update:keyExpr": null, - "update:multiple": null, - "update:noDataText": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onItemClick": null, - "update:onItemContextMenu": null, - "update:onItemHold": null, - "update:onItemRendered": null, - "update:onItemTitleClick": null, - "update:onOptionChanged": null, - "update:onSelectionChanged": null, - "update:repaintChangesOnly": null, - "update:rtlEnabled": null, - "update:selectedIndex": null, - "update:selectedItem": null, - "update:selectedItemKeys": null, - "update:selectedItems": null, - "update:tabIndex": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): Accordion { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Accordion; - (this as any).$_expectedChildren = { - item: { isCollectionItem: true, optionName: "items" } - }; - } -}); - -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:disabled": null, - "update:html": null, - "update:icon": null, - "update:template": null, - "update:text": null, - "update:title": null, - "update:titleTemplate": null, - "update:visible": null, - }, - props: { - disabled: Boolean, - html: String, - icon: String, - template: {}, - text: String, - title: String, - titleTemplate: {}, - visible: Boolean - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; - -export default DxAccordion; -export { - DxAccordion, - DxItem -}; -import type * as DxAccordionTypes from "devextreme/ui/accordion_types"; -export { DxAccordionTypes }; diff --git a/packages/vue2-strategy/src/action-sheet.ts b/packages/vue2-strategy/src/action-sheet.ts deleted file mode 100644 index e6ead6a297e6..000000000000 --- a/packages/vue2-strategy/src/action-sheet.ts +++ /dev/null @@ -1,144 +0,0 @@ -export { ExplicitTypes } from "devextreme/ui/action_sheet"; -import ActionSheet, { Properties } from "devextreme/ui/action_sheet"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxActionSheet extends AccessibleOptions { - readonly instance?: ActionSheet; -} -const DxActionSheet = createComponent({ - props: { - cancelText: String, - dataSource: {}, - disabled: Boolean, - elementAttr: Object, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - itemHoldTimeout: Number, - items: Array, - itemTemplate: {}, - onCancelClick: Function, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onItemClick: Function, - onItemContextMenu: Function, - onItemHold: Function, - onItemRendered: Function, - onOptionChanged: Function, - rtlEnabled: Boolean, - showCancelButton: Boolean, - showTitle: Boolean, - target: {}, - title: String, - usePopover: Boolean, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:cancelText": null, - "update:dataSource": null, - "update:disabled": null, - "update:elementAttr": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:itemHoldTimeout": null, - "update:items": null, - "update:itemTemplate": null, - "update:onCancelClick": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onItemClick": null, - "update:onItemContextMenu": null, - "update:onItemHold": null, - "update:onItemRendered": null, - "update:onOptionChanged": null, - "update:rtlEnabled": null, - "update:showCancelButton": null, - "update:showTitle": null, - "update:target": null, - "update:title": null, - "update:usePopover": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): ActionSheet { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = ActionSheet; - (this as any).$_expectedChildren = { - item: { isCollectionItem: true, optionName: "items" } - }; - } -}); - -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:disabled": null, - "update:icon": null, - "update:onClick": null, - "update:stylingMode": null, - "update:template": null, - "update:text": null, - "update:type": null, - }, - props: { - disabled: Boolean, - icon: String, - onClick: Function, - stylingMode: String, - template: {}, - text: String, - type: String - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; - -export default DxActionSheet; -export { - DxActionSheet, - DxItem -}; -import type * as DxActionSheetTypes from "devextreme/ui/action_sheet_types"; -export { DxActionSheetTypes }; diff --git a/packages/vue2-strategy/src/autocomplete.ts b/packages/vue2-strategy/src/autocomplete.ts deleted file mode 100644 index 616e7bfef45d..000000000000 --- a/packages/vue2-strategy/src/autocomplete.ts +++ /dev/null @@ -1,735 +0,0 @@ -import Autocomplete, { Properties } from "devextreme/ui/autocomplete"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxAutocomplete extends AccessibleOptions { - readonly instance?: Autocomplete; -} -const DxAutocomplete = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - buttons: Array, - dataSource: {}, - deferRendering: Boolean, - disabled: Boolean, - displayValue: String, - dropDownButtonTemplate: {}, - dropDownOptions: Object, - elementAttr: Object, - focusStateEnabled: Boolean, - grouped: Boolean, - groupTemplate: {}, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - inputAttr: {}, - isDirty: Boolean, - isValid: Boolean, - items: Array, - itemTemplate: {}, - label: String, - labelMode: String, - maxItemCount: Number, - maxLength: [Number, String], - minSearchLength: Number, - name: String, - onChange: Function, - onClosed: Function, - onContentReady: Function, - onCopy: Function, - onCut: Function, - onDisposing: Function, - onEnterKey: Function, - onFocusIn: Function, - onFocusOut: Function, - onInitialized: Function, - onInput: Function, - onItemClick: Function, - onKeyDown: Function, - onKeyUp: Function, - onOpened: Function, - onOptionChanged: Function, - onPaste: Function, - onSelectionChanged: Function, - onValueChanged: Function, - opened: Boolean, - openOnFieldClick: Boolean, - placeholder: String, - readOnly: Boolean, - rtlEnabled: Boolean, - searchExpr: [Array, Function, String], - searchMode: String, - searchTimeout: Number, - selectedItem: {}, - showClearButton: Boolean, - showDropDownButton: Boolean, - spellcheck: Boolean, - stylingMode: String, - tabIndex: Number, - text: String, - useItemTextAsTitle: Boolean, - validationError: {}, - validationErrors: Array, - validationMessageMode: String, - validationMessagePosition: String, - validationStatus: String, - value: String, - valueChangeEvent: String, - valueExpr: [Function, String], - visible: Boolean, - width: [Function, Number, String], - wrapItemText: Boolean - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:buttons": null, - "update:dataSource": null, - "update:deferRendering": null, - "update:disabled": null, - "update:displayValue": null, - "update:dropDownButtonTemplate": null, - "update:dropDownOptions": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:grouped": null, - "update:groupTemplate": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:inputAttr": null, - "update:isDirty": null, - "update:isValid": null, - "update:items": null, - "update:itemTemplate": null, - "update:label": null, - "update:labelMode": null, - "update:maxItemCount": null, - "update:maxLength": null, - "update:minSearchLength": null, - "update:name": null, - "update:onChange": null, - "update:onClosed": null, - "update:onContentReady": null, - "update:onCopy": null, - "update:onCut": null, - "update:onDisposing": null, - "update:onEnterKey": null, - "update:onFocusIn": null, - "update:onFocusOut": null, - "update:onInitialized": null, - "update:onInput": null, - "update:onItemClick": null, - "update:onKeyDown": null, - "update:onKeyUp": null, - "update:onOpened": null, - "update:onOptionChanged": null, - "update:onPaste": null, - "update:onSelectionChanged": null, - "update:onValueChanged": null, - "update:opened": null, - "update:openOnFieldClick": null, - "update:placeholder": null, - "update:readOnly": null, - "update:rtlEnabled": null, - "update:searchExpr": null, - "update:searchMode": null, - "update:searchTimeout": null, - "update:selectedItem": null, - "update:showClearButton": null, - "update:showDropDownButton": null, - "update:spellcheck": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:text": null, - "update:useItemTextAsTitle": null, - "update:validationError": null, - "update:validationErrors": null, - "update:validationMessageMode": null, - "update:validationMessagePosition": null, - "update:validationStatus": null, - "update:value": null, - "update:valueChangeEvent": null, - "update:valueExpr": null, - "update:visible": null, - "update:width": null, - "update:wrapItemText": null, - }, - model: { prop: "value", event: "update:value" }, - computed: { - instance(): Autocomplete { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Autocomplete; - (this as any).$_expectedChildren = { - button: { isCollectionItem: true, optionName: "buttons" }, - dropDownOptions: { isCollectionItem: false, optionName: "dropDownOptions" }, - item: { isCollectionItem: true, optionName: "items" } - }; - } -}); - -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:hide": null, - "update:show": null, - }, - props: { - hide: [Object, Number, String], - show: [Object, Number, String] - } -}); -(DxAnimation as any).$_optionName = "animation"; -(DxAnimation as any).$_expectedChildren = { - hide: { isCollectionItem: false, optionName: "hide" }, - show: { isCollectionItem: false, optionName: "show" } -}; -const DxAt = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxAt as any).$_optionName = "at"; -const DxBoundaryOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxBoundaryOffset as any).$_optionName = "boundaryOffset"; -const DxButton = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:location": null, - "update:name": null, - "update:options": null, - }, - props: { - location: String, - name: String, - options: Object - } -}); -(DxButton as any).$_optionName = "buttons"; -(DxButton as any).$_isCollectionItem = true; -(DxButton as any).$_expectedChildren = { - options: { isCollectionItem: false, optionName: "options" } -}; -const DxCollision = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxCollision as any).$_optionName = "collision"; -const DxDropDownOptions = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:animation": null, - "update:bindingOptions": null, - "update:closeOnOutsideClick": null, - "update:container": null, - "update:contentTemplate": null, - "update:copyRootClassesToWrapper": null, - "update:deferRendering": null, - "update:disabled": null, - "update:dragAndResizeArea": null, - "update:dragEnabled": null, - "update:dragOutsideBoundary": null, - "update:elementAttr": null, - "update:enableBodyScroll": null, - "update:focusStateEnabled": null, - "update:fullScreen": null, - "update:height": null, - "update:hideOnOutsideClick": null, - "update:hideOnParentScroll": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:maxHeight": null, - "update:maxWidth": null, - "update:minHeight": null, - "update:minWidth": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onHidden": null, - "update:onHiding": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onResize": null, - "update:onResizeEnd": null, - "update:onResizeStart": null, - "update:onShowing": null, - "update:onShown": null, - "update:onTitleRendered": null, - "update:position": null, - "update:resizeEnabled": null, - "update:restorePosition": null, - "update:rtlEnabled": null, - "update:shading": null, - "update:shadingColor": null, - "update:showCloseButton": null, - "update:showTitle": null, - "update:tabIndex": null, - "update:title": null, - "update:titleTemplate": null, - "update:toolbarItems": null, - "update:visible": null, - "update:width": null, - "update:wrapperAttr": null, - }, - props: { - accessKey: String, - animation: Object, - bindingOptions: Object, - closeOnOutsideClick: [Boolean, Function], - container: {}, - contentTemplate: {}, - copyRootClassesToWrapper: Boolean, - deferRendering: Boolean, - disabled: Boolean, - dragAndResizeArea: {}, - dragEnabled: Boolean, - dragOutsideBoundary: Boolean, - elementAttr: {}, - enableBodyScroll: Boolean, - focusStateEnabled: Boolean, - fullScreen: Boolean, - height: [Function, Number, String], - hideOnOutsideClick: [Boolean, Function], - hideOnParentScroll: Boolean, - hint: String, - hoverStateEnabled: Boolean, - maxHeight: [Function, Number, String], - maxWidth: [Function, Number, String], - minHeight: [Function, Number, String], - minWidth: [Function, Number, String], - onContentReady: Function, - onDisposing: Function, - onHidden: Function, - onHiding: Function, - onInitialized: Function, - onOptionChanged: Function, - onResize: Function, - onResizeEnd: Function, - onResizeStart: Function, - onShowing: Function, - onShown: Function, - onTitleRendered: Function, - position: [Function, Object, String], - resizeEnabled: Boolean, - restorePosition: Boolean, - rtlEnabled: Boolean, - shading: Boolean, - shadingColor: String, - showCloseButton: Boolean, - showTitle: Boolean, - tabIndex: Number, - title: String, - titleTemplate: {}, - toolbarItems: Array, - visible: Boolean, - width: [Function, Number, String], - wrapperAttr: {} - } -}); -(DxDropDownOptions as any).$_optionName = "dropDownOptions"; -(DxDropDownOptions as any).$_expectedChildren = { - animation: { isCollectionItem: false, optionName: "animation" }, - position: { isCollectionItem: false, optionName: "position" }, - toolbarItem: { isCollectionItem: true, optionName: "toolbarItems" } -}; -const DxFrom = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxFrom as any).$_optionName = "from"; -(DxFrom as any).$_expectedChildren = { - position: { isCollectionItem: false, optionName: "position" } -}; -const DxHide = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxHide as any).$_optionName = "hide"; -(DxHide as any).$_expectedChildren = { - from: { isCollectionItem: false, optionName: "from" }, - to: { isCollectionItem: false, optionName: "to" } -}; -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:disabled": null, - "update:html": null, - "update:template": null, - "update:text": null, - "update:visible": null, - }, - props: { - disabled: Boolean, - html: String, - template: {}, - text: String, - visible: Boolean - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; -const DxMy = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxMy as any).$_optionName = "my"; -const DxOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxOffset as any).$_optionName = "offset"; -const DxOptions = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:bindingOptions": null, - "update:disabled": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:icon": null, - "update:onClick": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:rtlEnabled": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:template": null, - "update:text": null, - "update:type": null, - "update:useSubmitBehavior": null, - "update:validationGroup": null, - "update:visible": null, - "update:width": null, - }, - props: { - accessKey: String, - activeStateEnabled: Boolean, - bindingOptions: Object, - disabled: Boolean, - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - icon: String, - onClick: Function, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onOptionChanged: Function, - rtlEnabled: Boolean, - stylingMode: String, - tabIndex: Number, - template: {}, - text: String, - type: String, - useSubmitBehavior: Boolean, - validationGroup: String, - visible: Boolean, - width: [Function, Number, String] - } -}); -(DxOptions as any).$_optionName = "options"; -const DxPosition = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:at": null, - "update:boundary": null, - "update:boundaryOffset": null, - "update:collision": null, - "update:my": null, - "update:of": null, - "update:offset": null, - }, - props: { - at: [Object, String], - boundary: {}, - boundaryOffset: [Object, String], - collision: [Object, String], - my: [Object, String], - of: {}, - offset: [Object, String] - } -}); -(DxPosition as any).$_optionName = "position"; -const DxShow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxShow as any).$_optionName = "show"; -const DxTo = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxTo as any).$_optionName = "to"; -const DxToolbarItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:cssClass": null, - "update:disabled": null, - "update:html": null, - "update:locateInMenu": null, - "update:location": null, - "update:menuItemTemplate": null, - "update:options": null, - "update:showText": null, - "update:template": null, - "update:text": null, - "update:toolbar": null, - "update:visible": null, - "update:widget": null, - }, - props: { - cssClass: String, - disabled: Boolean, - html: String, - locateInMenu: String, - location: String, - menuItemTemplate: {}, - options: {}, - showText: String, - template: {}, - text: String, - toolbar: String, - visible: Boolean, - widget: String - } -}); -(DxToolbarItem as any).$_optionName = "toolbarItems"; -(DxToolbarItem as any).$_isCollectionItem = true; - -export default DxAutocomplete; -export { - DxAutocomplete, - DxAnimation, - DxAt, - DxBoundaryOffset, - DxButton, - DxCollision, - DxDropDownOptions, - DxFrom, - DxHide, - DxItem, - DxMy, - DxOffset, - DxOptions, - DxPosition, - DxShow, - DxTo, - DxToolbarItem -}; -import type * as DxAutocompleteTypes from "devextreme/ui/autocomplete_types"; -export { DxAutocompleteTypes }; diff --git a/packages/vue2-strategy/src/bar-gauge.ts b/packages/vue2-strategy/src/bar-gauge.ts deleted file mode 100644 index b6b1730f1ccd..000000000000 --- a/packages/vue2-strategy/src/bar-gauge.ts +++ /dev/null @@ -1,709 +0,0 @@ -import BarGauge, { Properties } from "devextreme/viz/bar_gauge"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxBarGauge extends AccessibleOptions { - readonly instance?: BarGauge; -} -const DxBarGauge = createComponent({ - props: { - animation: {}, - backgroundColor: String, - barSpacing: Number, - baseValue: Number, - centerTemplate: {}, - disabled: Boolean, - elementAttr: Object, - endValue: Number, - export: Object, - geometry: Object, - label: Object, - legend: Object, - loadingIndicator: Object, - margin: Object, - onDisposing: Function, - onDrawn: Function, - onExported: Function, - onExporting: Function, - onFileSaving: Function, - onIncidentOccurred: Function, - onInitialized: Function, - onOptionChanged: Function, - onTooltipHidden: Function, - onTooltipShown: Function, - palette: [Array, String], - paletteExtensionMode: String, - pathModified: Boolean, - redrawOnResize: Boolean, - relativeInnerRadius: Number, - resolveLabelOverlapping: String, - rtlEnabled: Boolean, - size: Object, - startValue: Number, - theme: String, - title: [Object, String], - tooltip: Object, - values: Array - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:animation": null, - "update:backgroundColor": null, - "update:barSpacing": null, - "update:baseValue": null, - "update:centerTemplate": null, - "update:disabled": null, - "update:elementAttr": null, - "update:endValue": null, - "update:export": null, - "update:geometry": null, - "update:label": null, - "update:legend": null, - "update:loadingIndicator": null, - "update:margin": null, - "update:onDisposing": null, - "update:onDrawn": null, - "update:onExported": null, - "update:onExporting": null, - "update:onFileSaving": null, - "update:onIncidentOccurred": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onTooltipHidden": null, - "update:onTooltipShown": null, - "update:palette": null, - "update:paletteExtensionMode": null, - "update:pathModified": null, - "update:redrawOnResize": null, - "update:relativeInnerRadius": null, - "update:resolveLabelOverlapping": null, - "update:rtlEnabled": null, - "update:size": null, - "update:startValue": null, - "update:theme": null, - "update:title": null, - "update:tooltip": null, - "update:values": null, - }, - computed: { - instance(): BarGauge { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = BarGauge; - (this as any).$_expectedChildren = { - animation: { isCollectionItem: false, optionName: "animation" }, - barGaugeTitle: { isCollectionItem: false, optionName: "title" }, - export: { isCollectionItem: false, optionName: "export" }, - geometry: { isCollectionItem: false, optionName: "geometry" }, - label: { isCollectionItem: false, optionName: "label" }, - legend: { isCollectionItem: false, optionName: "legend" }, - loadingIndicator: { isCollectionItem: false, optionName: "loadingIndicator" }, - margin: { isCollectionItem: false, optionName: "margin" }, - size: { isCollectionItem: false, optionName: "size" }, - title: { isCollectionItem: false, optionName: "title" }, - tooltip: { isCollectionItem: false, optionName: "tooltip" } - }; - } -}); - -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:duration": null, - "update:easing": null, - "update:enabled": null, - }, - props: { - duration: Number, - easing: String, - enabled: Boolean - } -}); -(DxAnimation as any).$_optionName = "animation"; -const DxBarGaugeTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:wordWrap": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: [Number, Object], - placeholderSize: Number, - subtitle: [Object, String], - text: String, - textOverflow: String, - verticalAlignment: String, - wordWrap: String - } -}); -(DxBarGaugeTitle as any).$_optionName = "title"; -(DxBarGaugeTitle as any).$_expectedChildren = { - barGaugeTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, - font: { isCollectionItem: false, optionName: "font" }, - margin: { isCollectionItem: false, optionName: "margin" }, - subtitle: { isCollectionItem: false, optionName: "subtitle" } -}; -const DxBarGaugeTitleSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - font: Object, - offset: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxBarGaugeTitleSubtitle as any).$_optionName = "subtitle"; -(DxBarGaugeTitleSubtitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - cornerRadius: Number, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxBorder as any).$_optionName = "border"; -const DxExport = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:enabled": null, - "update:fileName": null, - "update:formats": null, - "update:margin": null, - "update:printingEnabled": null, - "update:svgToCanvas": null, - }, - props: { - backgroundColor: String, - enabled: Boolean, - fileName: String, - formats: Array, - margin: Number, - printingEnabled: Boolean, - svgToCanvas: Function - } -}); -(DxExport as any).$_optionName = "export"; -const DxFont = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:family": null, - "update:opacity": null, - "update:size": null, - "update:weight": null, - }, - props: { - color: String, - family: String, - opacity: Number, - size: [Number, String], - weight: Number - } -}); -(DxFont as any).$_optionName = "font"; -const DxFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxFormat as any).$_optionName = "format"; -const DxGeometry = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:endAngle": null, - "update:startAngle": null, - }, - props: { - endAngle: Number, - startAngle: Number - } -}); -(DxGeometry as any).$_optionName = "geometry"; -const DxItemTextFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxItemTextFormat as any).$_optionName = "itemTextFormat"; -const DxLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:connectorColor": null, - "update:connectorWidth": null, - "update:customizeText": null, - "update:font": null, - "update:format": null, - "update:indent": null, - "update:visible": null, - }, - props: { - connectorColor: String, - connectorWidth: Number, - customizeText: Function, - font: Object, - format: [Object, Function, String], - indent: Number, - visible: Boolean - } -}); -(DxLabel as any).$_optionName = "label"; -(DxLabel as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" } -}; -const DxLegend = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:border": null, - "update:columnCount": null, - "update:columnItemSpacing": null, - "update:customizeHint": null, - "update:customizeItems": null, - "update:customizeText": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:itemsAlignment": null, - "update:itemTextFormat": null, - "update:itemTextPosition": null, - "update:margin": null, - "update:markerSize": null, - "update:markerTemplate": null, - "update:orientation": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:rowCount": null, - "update:rowItemSpacing": null, - "update:title": null, - "update:verticalAlignment": null, - "update:visible": null, - }, - props: { - backgroundColor: String, - border: Object, - columnCount: Number, - columnItemSpacing: Number, - customizeHint: Function, - customizeItems: Function, - customizeText: Function, - font: Object, - horizontalAlignment: String, - itemsAlignment: String, - itemTextFormat: [Object, Function, String], - itemTextPosition: String, - margin: [Number, Object], - markerSize: Number, - markerTemplate: {}, - orientation: String, - paddingLeftRight: Number, - paddingTopBottom: Number, - rowCount: Number, - rowItemSpacing: Number, - title: [Object, String], - verticalAlignment: String, - visible: Boolean - } -}); -(DxLegend as any).$_optionName = "legend"; -(DxLegend as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - itemTextFormat: { isCollectionItem: false, optionName: "itemTextFormat" }, - legendBorder: { isCollectionItem: false, optionName: "border" }, - legendTitle: { isCollectionItem: false, optionName: "title" }, - margin: { isCollectionItem: false, optionName: "margin" }, - title: { isCollectionItem: false, optionName: "title" } -}; -const DxLegendBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - cornerRadius: Number, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxLegendBorder as any).$_optionName = "border"; -const DxLegendTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:verticalAlignment": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: Object, - placeholderSize: Number, - subtitle: [Object, String], - text: String, - verticalAlignment: String - } -}); -(DxLegendTitle as any).$_optionName = "title"; -(DxLegendTitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - legendTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, - margin: { isCollectionItem: false, optionName: "margin" }, - subtitle: { isCollectionItem: false, optionName: "subtitle" } -}; -const DxLegendTitleSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - }, - props: { - font: Object, - offset: Number, - text: String - } -}); -(DxLegendTitleSubtitle as any).$_optionName = "subtitle"; -(DxLegendTitleSubtitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxLoadingIndicator = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:font": null, - "update:show": null, - "update:text": null, - }, - props: { - backgroundColor: String, - font: Object, - show: Boolean, - text: String - } -}); -(DxLoadingIndicator as any).$_optionName = "loadingIndicator"; -(DxLoadingIndicator as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxMargin = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:left": null, - "update:right": null, - "update:top": null, - }, - props: { - bottom: Number, - left: Number, - right: Number, - top: Number - } -}); -(DxMargin as any).$_optionName = "margin"; -const DxShadow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:blur": null, - "update:color": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - }, - props: { - blur: Number, - color: String, - offsetX: Number, - offsetY: Number, - opacity: Number - } -}); -(DxShadow as any).$_optionName = "shadow"; -const DxSize = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:width": null, - }, - props: { - height: Number, - width: Number - } -}); -(DxSize as any).$_optionName = "size"; -const DxSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - font: Object, - offset: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxSubtitle as any).$_optionName = "subtitle"; -const DxTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:wordWrap": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: [Object, Number], - placeholderSize: Number, - subtitle: [Object, String], - text: String, - textOverflow: String, - verticalAlignment: String, - wordWrap: String - } -}); -(DxTitle as any).$_optionName = "title"; -const DxTooltip = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:arrowLength": null, - "update:border": null, - "update:color": null, - "update:container": null, - "update:contentTemplate": null, - "update:cornerRadius": null, - "update:customizeTooltip": null, - "update:enabled": null, - "update:font": null, - "update:format": null, - "update:interactive": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:shadow": null, - "update:zIndex": null, - }, - props: { - arrowLength: Number, - border: Object, - color: String, - container: {}, - contentTemplate: {}, - cornerRadius: Number, - customizeTooltip: Function, - enabled: Boolean, - font: Object, - format: [Object, Function, String], - interactive: Boolean, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - shadow: Object, - zIndex: Number - } -}); -(DxTooltip as any).$_optionName = "tooltip"; -(DxTooltip as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" }, - shadow: { isCollectionItem: false, optionName: "shadow" }, - tooltipBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxTooltipBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxTooltipBorder as any).$_optionName = "border"; - -export default DxBarGauge; -export { - DxBarGauge, - DxAnimation, - DxBarGaugeTitle, - DxBarGaugeTitleSubtitle, - DxBorder, - DxExport, - DxFont, - DxFormat, - DxGeometry, - DxItemTextFormat, - DxLabel, - DxLegend, - DxLegendBorder, - DxLegendTitle, - DxLegendTitleSubtitle, - DxLoadingIndicator, - DxMargin, - DxShadow, - DxSize, - DxSubtitle, - DxTitle, - DxTooltip, - DxTooltipBorder -}; -import type * as DxBarGaugeTypes from "devextreme/viz/bar_gauge_types"; -export { DxBarGaugeTypes }; diff --git a/packages/vue2-strategy/src/box.ts b/packages/vue2-strategy/src/box.ts deleted file mode 100644 index a92c889a8014..000000000000 --- a/packages/vue2-strategy/src/box.ts +++ /dev/null @@ -1,133 +0,0 @@ -export { ExplicitTypes } from "devextreme/ui/box"; -import Box, { Properties } from "devextreme/ui/box"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxBox extends AccessibleOptions { - readonly instance?: Box; -} -const DxBox = createComponent({ - props: { - align: String, - crossAlign: String, - dataSource: {}, - direction: String, - disabled: Boolean, - elementAttr: Object, - height: [Function, Number, String], - hoverStateEnabled: Boolean, - itemHoldTimeout: Number, - items: Array, - itemTemplate: {}, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onItemClick: Function, - onItemContextMenu: Function, - onItemHold: Function, - onItemRendered: Function, - onOptionChanged: Function, - rtlEnabled: Boolean, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:align": null, - "update:crossAlign": null, - "update:dataSource": null, - "update:direction": null, - "update:disabled": null, - "update:elementAttr": null, - "update:height": null, - "update:hoverStateEnabled": null, - "update:itemHoldTimeout": null, - "update:items": null, - "update:itemTemplate": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onItemClick": null, - "update:onItemContextMenu": null, - "update:onItemHold": null, - "update:onItemRendered": null, - "update:onOptionChanged": null, - "update:rtlEnabled": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): Box { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Box; - (this as any).$_expectedChildren = { - item: { isCollectionItem: true, optionName: "items" } - }; - } -}); - -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:baseSize": null, - "update:box": null, - "update:disabled": null, - "update:html": null, - "update:ratio": null, - "update:shrink": null, - "update:template": null, - "update:text": null, - "update:visible": null, - }, - props: { - baseSize: [Number, String], - box: Object, - disabled: Boolean, - html: String, - ratio: Number, - shrink: Number, - template: {}, - text: String, - visible: Boolean - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; - -export default DxBox; -export { - DxBox, - DxItem -}; -import type * as DxBoxTypes from "devextreme/ui/box_types"; -export { DxBoxTypes }; diff --git a/packages/vue2-strategy/src/bullet.ts b/packages/vue2-strategy/src/bullet.ts deleted file mode 100644 index 65a5a03e04cc..000000000000 --- a/packages/vue2-strategy/src/bullet.ts +++ /dev/null @@ -1,282 +0,0 @@ -import Bullet, { Properties } from "devextreme/viz/bullet"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxBullet extends AccessibleOptions { - readonly instance?: Bullet; -} -const DxBullet = createComponent({ - props: { - color: String, - disabled: Boolean, - elementAttr: Object, - endScaleValue: Number, - margin: Object, - onDisposing: Function, - onDrawn: Function, - onExported: Function, - onExporting: Function, - onFileSaving: Function, - onIncidentOccurred: Function, - onInitialized: Function, - onOptionChanged: Function, - onTooltipHidden: Function, - onTooltipShown: Function, - pathModified: Boolean, - rtlEnabled: Boolean, - showTarget: Boolean, - showZeroLevel: Boolean, - size: Object, - startScaleValue: Number, - target: Number, - targetColor: String, - targetWidth: Number, - theme: String, - tooltip: Object, - value: Number - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:disabled": null, - "update:elementAttr": null, - "update:endScaleValue": null, - "update:margin": null, - "update:onDisposing": null, - "update:onDrawn": null, - "update:onExported": null, - "update:onExporting": null, - "update:onFileSaving": null, - "update:onIncidentOccurred": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onTooltipHidden": null, - "update:onTooltipShown": null, - "update:pathModified": null, - "update:rtlEnabled": null, - "update:showTarget": null, - "update:showZeroLevel": null, - "update:size": null, - "update:startScaleValue": null, - "update:target": null, - "update:targetColor": null, - "update:targetWidth": null, - "update:theme": null, - "update:tooltip": null, - "update:value": null, - }, - computed: { - instance(): Bullet { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Bullet; - (this as any).$_expectedChildren = { - margin: { isCollectionItem: false, optionName: "margin" }, - size: { isCollectionItem: false, optionName: "size" }, - tooltip: { isCollectionItem: false, optionName: "tooltip" } - }; - } -}); - -const DxBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxBorder as any).$_optionName = "border"; -const DxFont = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:family": null, - "update:opacity": null, - "update:size": null, - "update:weight": null, - }, - props: { - color: String, - family: String, - opacity: Number, - size: [Number, String], - weight: Number - } -}); -(DxFont as any).$_optionName = "font"; -const DxFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxFormat as any).$_optionName = "format"; -const DxMargin = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:left": null, - "update:right": null, - "update:top": null, - }, - props: { - bottom: Number, - left: Number, - right: Number, - top: Number - } -}); -(DxMargin as any).$_optionName = "margin"; -const DxShadow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:blur": null, - "update:color": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - }, - props: { - blur: Number, - color: String, - offsetX: Number, - offsetY: Number, - opacity: Number - } -}); -(DxShadow as any).$_optionName = "shadow"; -const DxSize = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:width": null, - }, - props: { - height: Number, - width: Number - } -}); -(DxSize as any).$_optionName = "size"; -const DxTooltip = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:arrowLength": null, - "update:border": null, - "update:color": null, - "update:container": null, - "update:contentTemplate": null, - "update:cornerRadius": null, - "update:customizeTooltip": null, - "update:enabled": null, - "update:font": null, - "update:format": null, - "update:interactive": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:shadow": null, - "update:zIndex": null, - }, - props: { - arrowLength: Number, - border: Object, - color: String, - container: {}, - contentTemplate: {}, - cornerRadius: Number, - customizeTooltip: Function, - enabled: Boolean, - font: Object, - format: [Object, Function, String], - interactive: Boolean, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - shadow: Object, - zIndex: Number - } -}); -(DxTooltip as any).$_optionName = "tooltip"; -(DxTooltip as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" }, - shadow: { isCollectionItem: false, optionName: "shadow" } -}; - -export default DxBullet; -export { - DxBullet, - DxBorder, - DxFont, - DxFormat, - DxMargin, - DxShadow, - DxSize, - DxTooltip -}; -import type * as DxBulletTypes from "devextreme/viz/bullet_types"; -export { DxBulletTypes }; diff --git a/packages/vue2-strategy/src/button-group.ts b/packages/vue2-strategy/src/button-group.ts deleted file mode 100644 index 6940301c3f03..000000000000 --- a/packages/vue2-strategy/src/button-group.ts +++ /dev/null @@ -1,139 +0,0 @@ -import ButtonGroup, { Properties } from "devextreme/ui/button_group"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxButtonGroup extends AccessibleOptions { - readonly instance?: ButtonGroup; -} -const DxButtonGroup = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - buttonTemplate: {}, - disabled: Boolean, - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - items: Array, - keyExpr: [Function, String], - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onItemClick: Function, - onOptionChanged: Function, - onSelectionChanged: Function, - rtlEnabled: Boolean, - selectedItemKeys: Array, - selectedItems: Array, - selectionMode: String, - stylingMode: String, - tabIndex: Number, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:buttonTemplate": null, - "update:disabled": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:items": null, - "update:keyExpr": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onItemClick": null, - "update:onOptionChanged": null, - "update:onSelectionChanged": null, - "update:rtlEnabled": null, - "update:selectedItemKeys": null, - "update:selectedItems": null, - "update:selectionMode": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): ButtonGroup { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = ButtonGroup; - (this as any).$_expectedChildren = { - item: { isCollectionItem: true, optionName: "items" } - }; - } -}); - -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:disabled": null, - "update:elementAttr": null, - "update:hint": null, - "update:icon": null, - "update:template": null, - "update:text": null, - "update:type": null, - "update:visible": null, - }, - props: { - disabled: Boolean, - elementAttr: Object, - hint: String, - icon: String, - template: {}, - text: String, - type: String, - visible: Boolean - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; - -export default DxButtonGroup; -export { - DxButtonGroup, - DxItem -}; -import type * as DxButtonGroupTypes from "devextreme/ui/button_group_types"; -export { DxButtonGroupTypes }; diff --git a/packages/vue2-strategy/src/button.ts b/packages/vue2-strategy/src/button.ts deleted file mode 100644 index 30216c3d47e8..000000000000 --- a/packages/vue2-strategy/src/button.ts +++ /dev/null @@ -1,104 +0,0 @@ -import Button, { Properties } from "devextreme/ui/button"; -import { createComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxButton extends AccessibleOptions { - readonly instance?: Button; -} -const DxButton = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - disabled: Boolean, - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - icon: String, - onClick: Function, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onOptionChanged: Function, - rtlEnabled: Boolean, - stylingMode: String, - tabIndex: Number, - template: {}, - text: String, - type: String, - useSubmitBehavior: Boolean, - validationGroup: String, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:disabled": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:icon": null, - "update:onClick": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:rtlEnabled": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:template": null, - "update:text": null, - "update:type": null, - "update:useSubmitBehavior": null, - "update:validationGroup": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): Button { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Button; - } -}); - -export default DxButton; -export { - DxButton -}; -import type * as DxButtonTypes from "devextreme/ui/button_types"; -export { DxButtonTypes }; diff --git a/packages/vue2-strategy/src/calendar.ts b/packages/vue2-strategy/src/calendar.ts deleted file mode 100644 index d8c402795e45..000000000000 --- a/packages/vue2-strategy/src/calendar.ts +++ /dev/null @@ -1,167 +0,0 @@ -import Calendar, { Properties } from "devextreme/ui/calendar"; -import { createComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxCalendar extends AccessibleOptions { - readonly instance?: Calendar; -} -const DxCalendar = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - cellTemplate: {}, - dateSerializationFormat: String, - disabled: Boolean, - disabledDates: [Array, Function], - elementAttr: Object, - firstDayOfWeek: { - type: Number, - validator: (v) => typeof(v) !== "number" || [ - 0, - 1, - 2, - 3, - 4, - 5, - 6 - ].indexOf(v) !== -1 - }, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - isDirty: Boolean, - isValid: Boolean, - max: {}, - maxZoomLevel: String, - min: {}, - minZoomLevel: String, - name: String, - onDisposing: Function, - onInitialized: Function, - onOptionChanged: Function, - onValueChanged: Function, - readOnly: Boolean, - rtlEnabled: Boolean, - selectionMode: String, - selectWeekOnClick: Boolean, - showTodayButton: Boolean, - showWeekNumbers: Boolean, - tabIndex: Number, - validationError: {}, - validationErrors: Array, - validationMessageMode: String, - validationMessagePosition: String, - validationStatus: String, - value: {}, - values: Array, - visible: Boolean, - weekNumberRule: String, - width: [Function, Number, String], - zoomLevel: String - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:cellTemplate": null, - "update:dateSerializationFormat": null, - "update:disabled": null, - "update:disabledDates": null, - "update:elementAttr": null, - "update:firstDayOfWeek": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:isDirty": null, - "update:isValid": null, - "update:max": null, - "update:maxZoomLevel": null, - "update:min": null, - "update:minZoomLevel": null, - "update:name": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onValueChanged": null, - "update:readOnly": null, - "update:rtlEnabled": null, - "update:selectionMode": null, - "update:selectWeekOnClick": null, - "update:showTodayButton": null, - "update:showWeekNumbers": null, - "update:tabIndex": null, - "update:validationError": null, - "update:validationErrors": null, - "update:validationMessageMode": null, - "update:validationMessagePosition": null, - "update:validationStatus": null, - "update:value": null, - "update:values": null, - "update:visible": null, - "update:weekNumberRule": null, - "update:width": null, - "update:zoomLevel": null, - }, - model: { prop: "value", event: "update:value" }, - computed: { - instance(): Calendar { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Calendar; - } -}); - -export default DxCalendar; -export { - DxCalendar -}; -import type * as DxCalendarTypes from "devextreme/ui/calendar_types"; -export { DxCalendarTypes }; diff --git a/packages/vue2-strategy/src/chart.ts b/packages/vue2-strategy/src/chart.ts deleted file mode 100644 index b05c691a517f..000000000000 --- a/packages/vue2-strategy/src/chart.ts +++ /dev/null @@ -1,2976 +0,0 @@ -import Chart, { Properties } from "devextreme/viz/chart"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxChart extends AccessibleOptions { - readonly instance?: Chart; -} -const DxChart = createComponent({ - props: { - adaptiveLayout: Object, - adjustOnZoom: Boolean, - animation: [Boolean, Object], - annotations: Array, - argumentAxis: Object, - autoHidePointMarkers: Boolean, - barGroupPadding: Number, - barGroupWidth: Number, - commonAnnotationSettings: Object, - commonAxisSettings: Object, - commonPaneSettings: Object, - commonSeriesSettings: Object, - containerBackgroundColor: String, - crosshair: Object, - customizeAnnotation: Function, - customizeLabel: Function, - customizePoint: Function, - dataPrepareSettings: Object, - dataSource: {}, - defaultPane: String, - disabled: Boolean, - elementAttr: Object, - export: Object, - legend: Object, - loadingIndicator: Object, - margin: Object, - maxBubbleSize: Number, - minBubbleSize: Number, - negativesAsZeroes: Boolean, - onArgumentAxisClick: Function, - onDisposing: Function, - onDone: Function, - onDrawn: Function, - onExported: Function, - onExporting: Function, - onFileSaving: Function, - onIncidentOccurred: Function, - onInitialized: Function, - onLegendClick: Function, - onOptionChanged: Function, - onPointClick: Function, - onPointHoverChanged: Function, - onPointSelectionChanged: Function, - onSeriesClick: Function, - onSeriesHoverChanged: Function, - onSeriesSelectionChanged: Function, - onTooltipHidden: Function, - onTooltipShown: Function, - onZoomEnd: Function, - onZoomStart: Function, - palette: [Array, String], - paletteExtensionMode: String, - panes: [Array, Object], - pathModified: Boolean, - pointSelectionMode: String, - redrawOnResize: Boolean, - resizePanesOnZoom: Boolean, - resolveLabelOverlapping: String, - rotated: Boolean, - rtlEnabled: Boolean, - scrollBar: Object, - series: [Array, Object], - seriesSelectionMode: String, - seriesTemplate: Object, - size: Object, - stickyHovering: Boolean, - synchronizeMultiAxes: Boolean, - theme: String, - title: [Object, String], - tooltip: Object, - valueAxis: [Array, Object], - zoomAndPan: Object - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:adaptiveLayout": null, - "update:adjustOnZoom": null, - "update:animation": null, - "update:annotations": null, - "update:argumentAxis": null, - "update:autoHidePointMarkers": null, - "update:barGroupPadding": null, - "update:barGroupWidth": null, - "update:commonAnnotationSettings": null, - "update:commonAxisSettings": null, - "update:commonPaneSettings": null, - "update:commonSeriesSettings": null, - "update:containerBackgroundColor": null, - "update:crosshair": null, - "update:customizeAnnotation": null, - "update:customizeLabel": null, - "update:customizePoint": null, - "update:dataPrepareSettings": null, - "update:dataSource": null, - "update:defaultPane": null, - "update:disabled": null, - "update:elementAttr": null, - "update:export": null, - "update:legend": null, - "update:loadingIndicator": null, - "update:margin": null, - "update:maxBubbleSize": null, - "update:minBubbleSize": null, - "update:negativesAsZeroes": null, - "update:onArgumentAxisClick": null, - "update:onDisposing": null, - "update:onDone": null, - "update:onDrawn": null, - "update:onExported": null, - "update:onExporting": null, - "update:onFileSaving": null, - "update:onIncidentOccurred": null, - "update:onInitialized": null, - "update:onLegendClick": null, - "update:onOptionChanged": null, - "update:onPointClick": null, - "update:onPointHoverChanged": null, - "update:onPointSelectionChanged": null, - "update:onSeriesClick": null, - "update:onSeriesHoverChanged": null, - "update:onSeriesSelectionChanged": null, - "update:onTooltipHidden": null, - "update:onTooltipShown": null, - "update:onZoomEnd": null, - "update:onZoomStart": null, - "update:palette": null, - "update:paletteExtensionMode": null, - "update:panes": null, - "update:pathModified": null, - "update:pointSelectionMode": null, - "update:redrawOnResize": null, - "update:resizePanesOnZoom": null, - "update:resolveLabelOverlapping": null, - "update:rotated": null, - "update:rtlEnabled": null, - "update:scrollBar": null, - "update:series": null, - "update:seriesSelectionMode": null, - "update:seriesTemplate": null, - "update:size": null, - "update:stickyHovering": null, - "update:synchronizeMultiAxes": null, - "update:theme": null, - "update:title": null, - "update:tooltip": null, - "update:valueAxis": null, - "update:zoomAndPan": null, - }, - computed: { - instance(): Chart { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = Chart; - (this as any).$_expectedChildren = { - adaptiveLayout: { isCollectionItem: false, optionName: "adaptiveLayout" }, - animation: { isCollectionItem: false, optionName: "animation" }, - annotation: { isCollectionItem: true, optionName: "annotations" }, - argumentAxis: { isCollectionItem: false, optionName: "argumentAxis" }, - chartTitle: { isCollectionItem: false, optionName: "title" }, - commonAnnotationSettings: { isCollectionItem: false, optionName: "commonAnnotationSettings" }, - commonAxisSettings: { isCollectionItem: false, optionName: "commonAxisSettings" }, - commonPaneSettings: { isCollectionItem: false, optionName: "commonPaneSettings" }, - commonSeriesSettings: { isCollectionItem: false, optionName: "commonSeriesSettings" }, - crosshair: { isCollectionItem: false, optionName: "crosshair" }, - dataPrepareSettings: { isCollectionItem: false, optionName: "dataPrepareSettings" }, - export: { isCollectionItem: false, optionName: "export" }, - legend: { isCollectionItem: false, optionName: "legend" }, - loadingIndicator: { isCollectionItem: false, optionName: "loadingIndicator" }, - margin: { isCollectionItem: false, optionName: "margin" }, - pane: { isCollectionItem: true, optionName: "panes" }, - scrollBar: { isCollectionItem: false, optionName: "scrollBar" }, - series: { isCollectionItem: true, optionName: "series" }, - seriesTemplate: { isCollectionItem: false, optionName: "seriesTemplate" }, - size: { isCollectionItem: false, optionName: "size" }, - title: { isCollectionItem: false, optionName: "title" }, - tooltip: { isCollectionItem: false, optionName: "tooltip" }, - valueAxis: { isCollectionItem: true, optionName: "valueAxis" }, - zoomAndPan: { isCollectionItem: false, optionName: "zoomAndPan" } - }; - } -}); - -const DxAdaptiveLayout = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:keepLabels": null, - "update:width": null, - }, - props: { - height: Number, - keepLabels: Boolean, - width: Number - } -}); -(DxAdaptiveLayout as any).$_optionName = "adaptiveLayout"; -const DxAggregation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:calculate": null, - "update:enabled": null, - "update:method": null, - }, - props: { - calculate: Function, - enabled: Boolean, - method: String - } -}); -(DxAggregation as any).$_optionName = "aggregation"; -const DxAggregationInterval = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:days": null, - "update:hours": null, - "update:milliseconds": null, - "update:minutes": null, - "update:months": null, - "update:quarters": null, - "update:seconds": null, - "update:weeks": null, - "update:years": null, - }, - props: { - days: Number, - hours: Number, - milliseconds: Number, - minutes: Number, - months: Number, - quarters: Number, - seconds: Number, - weeks: Number, - years: Number - } -}); -(DxAggregationInterval as any).$_optionName = "aggregationInterval"; -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:duration": null, - "update:easing": null, - "update:enabled": null, - "update:maxPointCountSupported": null, - }, - props: { - duration: Number, - easing: String, - enabled: Boolean, - maxPointCountSupported: Number - } -}); -(DxAnimation as any).$_optionName = "animation"; -const DxAnnotation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:allowDragging": null, - "update:argument": null, - "update:arrowLength": null, - "update:arrowWidth": null, - "update:axis": null, - "update:border": null, - "update:color": null, - "update:customizeTooltip": null, - "update:data": null, - "update:description": null, - "update:font": null, - "update:height": null, - "update:image": null, - "update:name": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:series": null, - "update:shadow": null, - "update:template": null, - "update:text": null, - "update:textOverflow": null, - "update:tooltipEnabled": null, - "update:tooltipTemplate": null, - "update:type": null, - "update:value": null, - "update:width": null, - "update:wordWrap": null, - "update:x": null, - "update:y": null, - }, - props: { - allowDragging: Boolean, - argument: {}, - arrowLength: Number, - arrowWidth: Number, - axis: String, - border: Object, - color: String, - customizeTooltip: Function, - data: {}, - description: String, - font: Object, - height: Number, - image: [Object, String], - name: String, - offsetX: Number, - offsetY: Number, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - series: String, - shadow: Object, - template: {}, - text: String, - textOverflow: String, - tooltipEnabled: Boolean, - tooltipTemplate: {}, - type: String, - value: {}, - width: Number, - wordWrap: String, - x: Number, - y: Number - } -}); -(DxAnnotation as any).$_optionName = "annotations"; -(DxAnnotation as any).$_isCollectionItem = true; -(DxAnnotation as any).$_expectedChildren = { - annotationBorder: { isCollectionItem: false, optionName: "border" }, - annotationImage: { isCollectionItem: false, optionName: "image" }, - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - image: { isCollectionItem: false, optionName: "image" }, - shadow: { isCollectionItem: false, optionName: "shadow" } -}; -const DxAnnotationBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - cornerRadius: Number, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxAnnotationBorder as any).$_optionName = "border"; -const DxAnnotationImage = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:url": null, - "update:width": null, - }, - props: { - height: Number, - url: String, - width: Number - } -}); -(DxAnnotationImage as any).$_optionName = "image"; -const DxArgumentAxis = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:aggregateByCategory": null, - "update:aggregatedPointsPosition": null, - "update:aggregationGroupWidth": null, - "update:aggregationInterval": null, - "update:allowDecimals": null, - "update:argumentType": null, - "update:axisDivisionFactor": null, - "update:breaks": null, - "update:breakStyle": null, - "update:categories": null, - "update:color": null, - "update:constantLines": null, - "update:constantLineStyle": null, - "update:customPosition": null, - "update:customPositionAxis": null, - "update:discreteAxisDivisionMode": null, - "update:endOnTick": null, - "update:grid": null, - "update:holidays": null, - "update:hoverMode": null, - "update:inverted": null, - "update:label": null, - "update:linearThreshold": null, - "update:logarithmBase": null, - "update:maxValueMargin": null, - "update:minorGrid": null, - "update:minorTick": null, - "update:minorTickCount": null, - "update:minorTickInterval": null, - "update:minValueMargin": null, - "update:minVisualRangeLength": null, - "update:offset": null, - "update:opacity": null, - "update:placeholderSize": null, - "update:position": null, - "update:singleWorkdays": null, - "update:strips": null, - "update:stripStyle": null, - "update:tick": null, - "update:tickInterval": null, - "update:title": null, - "update:type": null, - "update:valueMarginsEnabled": null, - "update:visible": null, - "update:visualRange": null, - "update:visualRangeUpdateMode": null, - "update:wholeRange": null, - "update:width": null, - "update:workdaysOnly": null, - "update:workWeek": null, - }, - props: { - aggregateByCategory: Boolean, - aggregatedPointsPosition: String, - aggregationGroupWidth: Number, - aggregationInterval: [Number, Object, String], - allowDecimals: Boolean, - argumentType: String, - axisDivisionFactor: Number, - breaks: Array, - breakStyle: Object, - categories: Array, - color: String, - constantLines: Array, - constantLineStyle: Object, - customPosition: {}, - customPositionAxis: String, - discreteAxisDivisionMode: String, - endOnTick: Boolean, - grid: Object, - holidays: Array, - hoverMode: String, - inverted: Boolean, - label: Object, - linearThreshold: Number, - logarithmBase: Number, - maxValueMargin: Number, - minorGrid: Object, - minorTick: Object, - minorTickCount: Number, - minorTickInterval: [Number, Object, String], - minValueMargin: Number, - minVisualRangeLength: [Number, Object, String], - offset: Number, - opacity: Number, - placeholderSize: Number, - position: String, - singleWorkdays: Array, - strips: Array, - stripStyle: Object, - tick: Object, - tickInterval: [Number, Object, String], - title: [Object, String], - type: String, - valueMarginsEnabled: Boolean, - visible: Boolean, - visualRange: [Array, Object], - visualRangeUpdateMode: String, - wholeRange: [Array, Object], - width: Number, - workdaysOnly: Boolean, - workWeek: Array - } -}); -(DxArgumentAxis as any).$_optionName = "argumentAxis"; -(DxArgumentAxis as any).$_expectedChildren = { - aggregationInterval: { isCollectionItem: false, optionName: "aggregationInterval" }, - axisConstantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - axisLabel: { isCollectionItem: false, optionName: "label" }, - axisTitle: { isCollectionItem: false, optionName: "title" }, - break: { isCollectionItem: true, optionName: "breaks" }, - breakStyle: { isCollectionItem: false, optionName: "breakStyle" }, - constantLine: { isCollectionItem: true, optionName: "constantLines" }, - constantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - grid: { isCollectionItem: false, optionName: "grid" }, - label: { isCollectionItem: false, optionName: "label" }, - minorGrid: { isCollectionItem: false, optionName: "minorGrid" }, - minorTick: { isCollectionItem: false, optionName: "minorTick" }, - minorTickInterval: { isCollectionItem: false, optionName: "minorTickInterval" }, - minVisualRangeLength: { isCollectionItem: false, optionName: "minVisualRangeLength" }, - strip: { isCollectionItem: true, optionName: "strips" }, - stripStyle: { isCollectionItem: false, optionName: "stripStyle" }, - tick: { isCollectionItem: false, optionName: "tick" }, - tickInterval: { isCollectionItem: false, optionName: "tickInterval" }, - title: { isCollectionItem: false, optionName: "title" }, - visualRange: { isCollectionItem: false, optionName: "visualRange" }, - wholeRange: { isCollectionItem: false, optionName: "wholeRange" } -}; -const DxArgumentFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxArgumentFormat as any).$_optionName = "argumentFormat"; -const DxAxisConstantLineStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number, - width: Number - } -}); -(DxAxisConstantLineStyle as any).$_optionName = "constantLineStyle"; -const DxAxisConstantLineStyleLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:position": null, - "update:verticalAlignment": null, - "update:visible": null, - }, - props: { - font: Object, - horizontalAlignment: String, - position: String, - verticalAlignment: String, - visible: Boolean - } -}); -(DxAxisConstantLineStyleLabel as any).$_optionName = "label"; -const DxAxisLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:customizeHint": null, - "update:customizeText": null, - "update:displayMode": null, - "update:font": null, - "update:format": null, - "update:indentFromAxis": null, - "update:overlappingBehavior": null, - "update:position": null, - "update:rotationAngle": null, - "update:staggeringSpacing": null, - "update:template": null, - "update:textOverflow": null, - "update:visible": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - customizeHint: Function, - customizeText: Function, - displayMode: String, - font: Object, - format: [Object, Function, String], - indentFromAxis: Number, - overlappingBehavior: String, - position: String, - rotationAngle: Number, - staggeringSpacing: Number, - template: {}, - textOverflow: String, - visible: Boolean, - wordWrap: String - } -}); -(DxAxisLabel as any).$_optionName = "label"; -const DxAxisTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:font": null, - "update:margin": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - font: Object, - margin: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxAxisTitle as any).$_optionName = "title"; -const DxBackgroundColor = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:base": null, - "update:fillId": null, - }, - props: { - base: String, - fillId: String - } -}); -(DxBackgroundColor as any).$_optionName = "backgroundColor"; -const DxBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:left": null, - "update:opacity": null, - "update:right": null, - "update:top": null, - "update:visible": null, - "update:width": null, - }, - props: { - bottom: Boolean, - color: String, - cornerRadius: Number, - dashStyle: String, - left: Boolean, - opacity: Number, - right: Boolean, - top: Boolean, - visible: Boolean, - width: Number - } -}); -(DxBorder as any).$_optionName = "border"; -const DxBreak = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:endValue": null, - "update:startValue": null, - }, - props: { - endValue: {}, - startValue: {} - } -}); -(DxBreak as any).$_optionName = "breaks"; -(DxBreak as any).$_isCollectionItem = true; -const DxBreakStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:line": null, - "update:width": null, - }, - props: { - color: String, - line: String, - width: Number - } -}); -(DxBreakStyle as any).$_optionName = "breakStyle"; -const DxChartTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:wordWrap": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: [Number, Object], - placeholderSize: Number, - subtitle: [Object, String], - text: String, - textOverflow: String, - verticalAlignment: String, - wordWrap: String - } -}); -(DxChartTitle as any).$_optionName = "title"; -(DxChartTitle as any).$_expectedChildren = { - chartTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, - font: { isCollectionItem: false, optionName: "font" }, - margin: { isCollectionItem: false, optionName: "margin" }, - subtitle: { isCollectionItem: false, optionName: "subtitle" } -}; -const DxChartTitleSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - font: Object, - offset: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxChartTitleSubtitle as any).$_optionName = "subtitle"; -(DxChartTitleSubtitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxColor = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:base": null, - "update:fillId": null, - }, - props: { - base: String, - fillId: String - } -}); -(DxColor as any).$_optionName = "color"; -const DxCommonAnnotationSettings = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:allowDragging": null, - "update:argument": null, - "update:arrowLength": null, - "update:arrowWidth": null, - "update:axis": null, - "update:border": null, - "update:color": null, - "update:customizeTooltip": null, - "update:data": null, - "update:description": null, - "update:font": null, - "update:height": null, - "update:image": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:series": null, - "update:shadow": null, - "update:template": null, - "update:text": null, - "update:textOverflow": null, - "update:tooltipEnabled": null, - "update:tooltipTemplate": null, - "update:type": null, - "update:value": null, - "update:width": null, - "update:wordWrap": null, - "update:x": null, - "update:y": null, - }, - props: { - allowDragging: Boolean, - argument: {}, - arrowLength: Number, - arrowWidth: Number, - axis: String, - border: Object, - color: String, - customizeTooltip: Function, - data: {}, - description: String, - font: Object, - height: Number, - image: [Object, String], - offsetX: Number, - offsetY: Number, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - series: String, - shadow: Object, - template: {}, - text: String, - textOverflow: String, - tooltipEnabled: Boolean, - tooltipTemplate: {}, - type: String, - value: {}, - width: Number, - wordWrap: String, - x: Number, - y: Number - } -}); -(DxCommonAnnotationSettings as any).$_optionName = "commonAnnotationSettings"; -const DxCommonAxisSettings = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:aggregatedPointsPosition": null, - "update:allowDecimals": null, - "update:breakStyle": null, - "update:color": null, - "update:constantLineStyle": null, - "update:discreteAxisDivisionMode": null, - "update:endOnTick": null, - "update:grid": null, - "update:inverted": null, - "update:label": null, - "update:maxValueMargin": null, - "update:minorGrid": null, - "update:minorTick": null, - "update:minValueMargin": null, - "update:opacity": null, - "update:placeholderSize": null, - "update:stripStyle": null, - "update:tick": null, - "update:title": null, - "update:valueMarginsEnabled": null, - "update:visible": null, - "update:width": null, - }, - props: { - aggregatedPointsPosition: String, - allowDecimals: Boolean, - breakStyle: Object, - color: String, - constantLineStyle: Object, - discreteAxisDivisionMode: String, - endOnTick: Boolean, - grid: Object, - inverted: Boolean, - label: Object, - maxValueMargin: Number, - minorGrid: Object, - minorTick: Object, - minValueMargin: Number, - opacity: Number, - placeholderSize: Number, - stripStyle: Object, - tick: Object, - title: Object, - valueMarginsEnabled: Boolean, - visible: Boolean, - width: Number - } -}); -(DxCommonAxisSettings as any).$_optionName = "commonAxisSettings"; -(DxCommonAxisSettings as any).$_expectedChildren = { - commonAxisSettingsConstantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - commonAxisSettingsLabel: { isCollectionItem: false, optionName: "label" }, - commonAxisSettingsTitle: { isCollectionItem: false, optionName: "title" }, - constantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - label: { isCollectionItem: false, optionName: "label" }, - title: { isCollectionItem: false, optionName: "title" } -}; -const DxCommonAxisSettingsConstantLineStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number, - width: Number - } -}); -(DxCommonAxisSettingsConstantLineStyle as any).$_optionName = "constantLineStyle"; -(DxCommonAxisSettingsConstantLineStyle as any).$_expectedChildren = { - commonAxisSettingsConstantLineStyleLabel: { isCollectionItem: false, optionName: "label" }, - label: { isCollectionItem: false, optionName: "label" } -}; -const DxCommonAxisSettingsConstantLineStyleLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:position": null, - "update:visible": null, - }, - props: { - font: Object, - position: String, - visible: Boolean - } -}); -(DxCommonAxisSettingsConstantLineStyleLabel as any).$_optionName = "label"; -const DxCommonAxisSettingsLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:displayMode": null, - "update:font": null, - "update:indentFromAxis": null, - "update:overlappingBehavior": null, - "update:position": null, - "update:rotationAngle": null, - "update:staggeringSpacing": null, - "update:template": null, - "update:textOverflow": null, - "update:visible": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - displayMode: String, - font: Object, - indentFromAxis: Number, - overlappingBehavior: String, - position: String, - rotationAngle: Number, - staggeringSpacing: Number, - template: {}, - textOverflow: String, - visible: Boolean, - wordWrap: String - } -}); -(DxCommonAxisSettingsLabel as any).$_optionName = "label"; -const DxCommonAxisSettingsTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:font": null, - "update:margin": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - font: Object, - margin: Number, - textOverflow: String, - wordWrap: String - } -}); -(DxCommonAxisSettingsTitle as any).$_optionName = "title"; -const DxCommonPaneSettings = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:border": null, - }, - props: { - backgroundColor: [Object, String], - border: Object - } -}); -(DxCommonPaneSettings as any).$_optionName = "commonPaneSettings"; -(DxCommonPaneSettings as any).$_expectedChildren = { - backgroundColor: { isCollectionItem: false, optionName: "backgroundColor" }, - border: { isCollectionItem: false, optionName: "border" }, - paneBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxCommonSeriesSettings = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:aggregation": null, - "update:area": null, - "update:argumentField": null, - "update:axis": null, - "update:bar": null, - "update:barOverlapGroup": null, - "update:barPadding": null, - "update:barWidth": null, - "update:border": null, - "update:bubble": null, - "update:candlestick": null, - "update:closeValueField": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:fullstackedarea": null, - "update:fullstackedbar": null, - "update:fullstackedline": null, - "update:fullstackedspline": null, - "update:fullstackedsplinearea": null, - "update:highValueField": null, - "update:hoverMode": null, - "update:hoverStyle": null, - "update:ignoreEmptyPoints": null, - "update:innerColor": null, - "update:label": null, - "update:line": null, - "update:lowValueField": null, - "update:maxLabelCount": null, - "update:minBarSize": null, - "update:opacity": null, - "update:openValueField": null, - "update:pane": null, - "update:point": null, - "update:rangearea": null, - "update:rangebar": null, - "update:rangeValue1Field": null, - "update:rangeValue2Field": null, - "update:reduction": null, - "update:scatter": null, - "update:selectionMode": null, - "update:selectionStyle": null, - "update:showInLegend": null, - "update:sizeField": null, - "update:spline": null, - "update:splinearea": null, - "update:stack": null, - "update:stackedarea": null, - "update:stackedbar": null, - "update:stackedline": null, - "update:stackedspline": null, - "update:stackedsplinearea": null, - "update:steparea": null, - "update:stepline": null, - "update:stock": null, - "update:tagField": null, - "update:type": null, - "update:valueErrorBar": null, - "update:valueField": null, - "update:visible": null, - "update:width": null, - }, - props: { - aggregation: Object, - area: {}, - argumentField: String, - axis: String, - bar: {}, - barOverlapGroup: String, - barPadding: Number, - barWidth: Number, - border: Object, - bubble: {}, - candlestick: {}, - closeValueField: String, - color: [Object, String], - cornerRadius: Number, - dashStyle: String, - fullstackedarea: {}, - fullstackedbar: {}, - fullstackedline: {}, - fullstackedspline: {}, - fullstackedsplinearea: {}, - highValueField: String, - hoverMode: String, - hoverStyle: Object, - ignoreEmptyPoints: Boolean, - innerColor: String, - label: Object, - line: {}, - lowValueField: String, - maxLabelCount: Number, - minBarSize: Number, - opacity: Number, - openValueField: String, - pane: String, - point: Object, - rangearea: {}, - rangebar: {}, - rangeValue1Field: String, - rangeValue2Field: String, - reduction: Object, - scatter: {}, - selectionMode: String, - selectionStyle: Object, - showInLegend: Boolean, - sizeField: String, - spline: {}, - splinearea: {}, - stack: String, - stackedarea: {}, - stackedbar: {}, - stackedline: {}, - stackedspline: {}, - stackedsplinearea: {}, - steparea: {}, - stepline: {}, - stock: {}, - tagField: String, - type: String, - valueErrorBar: Object, - valueField: String, - visible: Boolean, - width: Number - } -}); -(DxCommonSeriesSettings as any).$_optionName = "commonSeriesSettings"; -(DxCommonSeriesSettings as any).$_expectedChildren = { - aggregation: { isCollectionItem: false, optionName: "aggregation" }, - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - commonSeriesSettingsHoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, - commonSeriesSettingsLabel: { isCollectionItem: false, optionName: "label" }, - commonSeriesSettingsSelectionStyle: { isCollectionItem: false, optionName: "selectionStyle" }, - hoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, - label: { isCollectionItem: false, optionName: "label" }, - point: { isCollectionItem: false, optionName: "point" }, - reduction: { isCollectionItem: false, optionName: "reduction" }, - selectionStyle: { isCollectionItem: false, optionName: "selectionStyle" }, - seriesBorder: { isCollectionItem: false, optionName: "border" }, - valueErrorBar: { isCollectionItem: false, optionName: "valueErrorBar" } -}; -const DxCommonSeriesSettingsHoverStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:dashStyle": null, - "update:hatching": null, - "update:highlight": null, - "update:width": null, - }, - props: { - border: Object, - color: [Object, String], - dashStyle: String, - hatching: Object, - highlight: Boolean, - width: Number - } -}); -(DxCommonSeriesSettingsHoverStyle as any).$_optionName = "hoverStyle"; -(DxCommonSeriesSettingsHoverStyle as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - hatching: { isCollectionItem: false, optionName: "hatching" }, - seriesBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxCommonSeriesSettingsLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:argumentFormat": null, - "update:backgroundColor": null, - "update:border": null, - "update:connector": null, - "update:customizeText": null, - "update:displayFormat": null, - "update:font": null, - "update:format": null, - "update:horizontalOffset": null, - "update:position": null, - "update:rotationAngle": null, - "update:showForZeroValues": null, - "update:verticalOffset": null, - "update:visible": null, - }, - props: { - alignment: String, - argumentFormat: [Object, Function, String], - backgroundColor: String, - border: Object, - connector: Object, - customizeText: Function, - displayFormat: String, - font: Object, - format: [Object, Function, String], - horizontalOffset: Number, - position: String, - rotationAngle: Number, - showForZeroValues: Boolean, - verticalOffset: Number, - visible: Boolean - } -}); -(DxCommonSeriesSettingsLabel as any).$_optionName = "label"; -(DxCommonSeriesSettingsLabel as any).$_expectedChildren = { - argumentFormat: { isCollectionItem: false, optionName: "argumentFormat" }, - border: { isCollectionItem: false, optionName: "border" }, - connector: { isCollectionItem: false, optionName: "connector" }, - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" }, - seriesBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxCommonSeriesSettingsSelectionStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:dashStyle": null, - "update:hatching": null, - "update:highlight": null, - "update:width": null, - }, - props: { - border: Object, - color: [Object, String], - dashStyle: String, - hatching: Object, - highlight: Boolean, - width: Number - } -}); -(DxCommonSeriesSettingsSelectionStyle as any).$_optionName = "selectionStyle"; -(DxCommonSeriesSettingsSelectionStyle as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - hatching: { isCollectionItem: false, optionName: "hatching" }, - seriesBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxConnector = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - visible: Boolean, - width: Number - } -}); -(DxConnector as any).$_optionName = "connector"; -const DxConstantLine = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:displayBehindSeries": null, - "update:extendAxis": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:value": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - displayBehindSeries: Boolean, - extendAxis: Boolean, - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number, - value: {}, - width: Number - } -}); -(DxConstantLine as any).$_optionName = "constantLines"; -(DxConstantLine as any).$_isCollectionItem = true; -const DxConstantLineLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:position": null, - "update:text": null, - "update:verticalAlignment": null, - "update:visible": null, - }, - props: { - font: Object, - horizontalAlignment: String, - position: String, - text: String, - verticalAlignment: String, - visible: Boolean - } -}); -(DxConstantLineLabel as any).$_optionName = "label"; -const DxConstantLineStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number, - width: Number - } -}); -(DxConstantLineStyle as any).$_optionName = "constantLineStyle"; -const DxCrosshair = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:enabled": null, - "update:horizontalLine": null, - "update:label": null, - "update:opacity": null, - "update:verticalLine": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - enabled: Boolean, - horizontalLine: [Boolean, Object], - label: Object, - opacity: Number, - verticalLine: [Boolean, Object], - width: Number - } -}); -(DxCrosshair as any).$_optionName = "crosshair"; -(DxCrosshair as any).$_expectedChildren = { - horizontalLine: { isCollectionItem: false, optionName: "horizontalLine" }, - horizontalLineLabel: { isCollectionItem: false, optionName: "label" }, - label: { isCollectionItem: false, optionName: "label" }, - verticalLine: { isCollectionItem: false, optionName: "verticalLine" } -}; -const DxDataPrepareSettings = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:checkTypeForAllData": null, - "update:convertToAxisDataType": null, - "update:sortingMethod": null, - }, - props: { - checkTypeForAllData: Boolean, - convertToAxisDataType: Boolean, - sortingMethod: [Boolean, Function] - } -}); -(DxDataPrepareSettings as any).$_optionName = "dataPrepareSettings"; -const DxDragBoxStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:opacity": null, - }, - props: { - color: String, - opacity: Number - } -}); -(DxDragBoxStyle as any).$_optionName = "dragBoxStyle"; -const DxExport = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:enabled": null, - "update:fileName": null, - "update:formats": null, - "update:margin": null, - "update:printingEnabled": null, - "update:svgToCanvas": null, - }, - props: { - backgroundColor: String, - enabled: Boolean, - fileName: String, - formats: Array, - margin: Number, - printingEnabled: Boolean, - svgToCanvas: Function - } -}); -(DxExport as any).$_optionName = "export"; -const DxFont = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:family": null, - "update:opacity": null, - "update:size": null, - "update:weight": null, - }, - props: { - color: String, - family: String, - opacity: Number, - size: [Number, String], - weight: Number - } -}); -(DxFont as any).$_optionName = "font"; -const DxFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxFormat as any).$_optionName = "format"; -const DxGrid = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxGrid as any).$_optionName = "grid"; -const DxHatching = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:direction": null, - "update:opacity": null, - "update:step": null, - "update:width": null, - }, - props: { - direction: String, - opacity: Number, - step: Number, - width: Number - } -}); -(DxHatching as any).$_optionName = "hatching"; -const DxHeight = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:rangeMaxPoint": null, - "update:rangeMinPoint": null, - }, - props: { - rangeMaxPoint: Number, - rangeMinPoint: Number - } -}); -(DxHeight as any).$_optionName = "height"; -const DxHorizontalLine = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:label": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - label: Object, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxHorizontalLine as any).$_optionName = "horizontalLine"; -(DxHorizontalLine as any).$_expectedChildren = { - horizontalLineLabel: { isCollectionItem: false, optionName: "label" }, - label: { isCollectionItem: false, optionName: "label" } -}; -const DxHorizontalLineLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:customizeText": null, - "update:font": null, - "update:format": null, - "update:visible": null, - }, - props: { - backgroundColor: String, - customizeText: Function, - font: Object, - format: [Object, Function, String], - visible: Boolean - } -}); -(DxHorizontalLineLabel as any).$_optionName = "label"; -const DxHoverStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:dashStyle": null, - "update:hatching": null, - "update:highlight": null, - "update:size": null, - "update:width": null, - }, - props: { - border: Object, - color: [Object, String], - dashStyle: String, - hatching: Object, - highlight: Boolean, - size: Number, - width: Number - } -}); -(DxHoverStyle as any).$_optionName = "hoverStyle"; -const DxImage = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:url": null, - "update:width": null, - }, - props: { - height: [Number, Object], - url: [String, Object], - width: [Number, Object] - } -}); -(DxImage as any).$_optionName = "image"; -const DxLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:argumentFormat": null, - "update:backgroundColor": null, - "update:border": null, - "update:connector": null, - "update:customizeHint": null, - "update:customizeText": null, - "update:displayFormat": null, - "update:displayMode": null, - "update:font": null, - "update:format": null, - "update:horizontalAlignment": null, - "update:horizontalOffset": null, - "update:indentFromAxis": null, - "update:overlappingBehavior": null, - "update:position": null, - "update:rotationAngle": null, - "update:showForZeroValues": null, - "update:staggeringSpacing": null, - "update:template": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:verticalOffset": null, - "update:visible": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - argumentFormat: [Object, Function, String], - backgroundColor: String, - border: Object, - connector: Object, - customizeHint: Function, - customizeText: Function, - displayFormat: String, - displayMode: String, - font: Object, - format: [Object, Function, String], - horizontalAlignment: String, - horizontalOffset: Number, - indentFromAxis: Number, - overlappingBehavior: String, - position: String, - rotationAngle: Number, - showForZeroValues: Boolean, - staggeringSpacing: Number, - template: {}, - text: String, - textOverflow: String, - verticalAlignment: String, - verticalOffset: Number, - visible: Boolean, - wordWrap: String - } -}); -(DxLabel as any).$_optionName = "label"; -const DxLegend = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:border": null, - "update:columnCount": null, - "update:columnItemSpacing": null, - "update:customizeHint": null, - "update:customizeItems": null, - "update:customizeText": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:hoverMode": null, - "update:itemsAlignment": null, - "update:itemTextPosition": null, - "update:margin": null, - "update:markerSize": null, - "update:markerTemplate": null, - "update:orientation": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:position": null, - "update:rowCount": null, - "update:rowItemSpacing": null, - "update:title": null, - "update:verticalAlignment": null, - "update:visible": null, - }, - props: { - backgroundColor: String, - border: Object, - columnCount: Number, - columnItemSpacing: Number, - customizeHint: Function, - customizeItems: Function, - customizeText: Function, - font: Object, - horizontalAlignment: String, - hoverMode: String, - itemsAlignment: String, - itemTextPosition: String, - margin: [Number, Object], - markerSize: Number, - markerTemplate: {}, - orientation: String, - paddingLeftRight: Number, - paddingTopBottom: Number, - position: String, - rowCount: Number, - rowItemSpacing: Number, - title: [Object, String], - verticalAlignment: String, - visible: Boolean - } -}); -(DxLegend as any).$_optionName = "legend"; -(DxLegend as any).$_expectedChildren = { - annotationBorder: { isCollectionItem: false, optionName: "border" }, - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - legendTitle: { isCollectionItem: false, optionName: "title" }, - margin: { isCollectionItem: false, optionName: "margin" }, - title: { isCollectionItem: false, optionName: "title" } -}; -const DxLegendTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:verticalAlignment": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: Object, - placeholderSize: Number, - subtitle: [Object, String], - text: String, - verticalAlignment: String - } -}); -(DxLegendTitle as any).$_optionName = "title"; -(DxLegendTitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - legendTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, - margin: { isCollectionItem: false, optionName: "margin" }, - subtitle: { isCollectionItem: false, optionName: "subtitle" } -}; -const DxLegendTitleSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - }, - props: { - font: Object, - offset: Number, - text: String - } -}); -(DxLegendTitleSubtitle as any).$_optionName = "subtitle"; -(DxLegendTitleSubtitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxLength = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:days": null, - "update:hours": null, - "update:milliseconds": null, - "update:minutes": null, - "update:months": null, - "update:quarters": null, - "update:seconds": null, - "update:weeks": null, - "update:years": null, - }, - props: { - days: Number, - hours: Number, - milliseconds: Number, - minutes: Number, - months: Number, - quarters: Number, - seconds: Number, - weeks: Number, - years: Number - } -}); -(DxLength as any).$_optionName = "length"; -const DxLoadingIndicator = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:enabled": null, - "update:font": null, - "update:show": null, - "update:text": null, - }, - props: { - backgroundColor: String, - enabled: Boolean, - font: Object, - show: Boolean, - text: String - } -}); -(DxLoadingIndicator as any).$_optionName = "loadingIndicator"; -(DxLoadingIndicator as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxMargin = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:left": null, - "update:right": null, - "update:top": null, - }, - props: { - bottom: Number, - left: Number, - right: Number, - top: Number - } -}); -(DxMargin as any).$_optionName = "margin"; -const DxMinorGrid = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxMinorGrid as any).$_optionName = "minorGrid"; -const DxMinorTick = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:length": null, - "update:opacity": null, - "update:shift": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - length: Number, - opacity: Number, - shift: Number, - visible: Boolean, - width: Number - } -}); -(DxMinorTick as any).$_optionName = "minorTick"; -const DxMinorTickInterval = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:days": null, - "update:hours": null, - "update:milliseconds": null, - "update:minutes": null, - "update:months": null, - "update:quarters": null, - "update:seconds": null, - "update:weeks": null, - "update:years": null, - }, - props: { - days: Number, - hours: Number, - milliseconds: Number, - minutes: Number, - months: Number, - quarters: Number, - seconds: Number, - weeks: Number, - years: Number - } -}); -(DxMinorTickInterval as any).$_optionName = "minorTickInterval"; -const DxMinVisualRangeLength = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:days": null, - "update:hours": null, - "update:milliseconds": null, - "update:minutes": null, - "update:months": null, - "update:quarters": null, - "update:seconds": null, - "update:weeks": null, - "update:years": null, - }, - props: { - days: Number, - hours: Number, - milliseconds: Number, - minutes: Number, - months: Number, - quarters: Number, - seconds: Number, - weeks: Number, - years: Number - } -}); -(DxMinVisualRangeLength as any).$_optionName = "minVisualRangeLength"; -const DxPane = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:border": null, - "update:height": null, - "update:name": null, - }, - props: { - backgroundColor: [Object, String], - border: Object, - height: [Number, String], - name: String - } -}); -(DxPane as any).$_optionName = "panes"; -(DxPane as any).$_isCollectionItem = true; -const DxPaneBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:color": null, - "update:dashStyle": null, - "update:left": null, - "update:opacity": null, - "update:right": null, - "update:top": null, - "update:visible": null, - "update:width": null, - }, - props: { - bottom: Boolean, - color: String, - dashStyle: String, - left: Boolean, - opacity: Number, - right: Boolean, - top: Boolean, - visible: Boolean, - width: Number - } -}); -(DxPaneBorder as any).$_optionName = "border"; -const DxPoint = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:hoverMode": null, - "update:hoverStyle": null, - "update:image": null, - "update:selectionMode": null, - "update:selectionStyle": null, - "update:size": null, - "update:symbol": null, - "update:visible": null, - }, - props: { - border: Object, - color: [Object, String], - hoverMode: String, - hoverStyle: Object, - image: [Object, String], - selectionMode: String, - selectionStyle: Object, - size: Number, - symbol: String, - visible: Boolean - } -}); -(DxPoint as any).$_optionName = "point"; -(DxPoint as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - hoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, - image: { isCollectionItem: false, optionName: "image" }, - pointBorder: { isCollectionItem: false, optionName: "border" }, - pointHoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, - pointImage: { isCollectionItem: false, optionName: "image" }, - pointSelectionStyle: { isCollectionItem: false, optionName: "selectionStyle" }, - selectionStyle: { isCollectionItem: false, optionName: "selectionStyle" } -}; -const DxPointBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - visible: Boolean, - width: Number - } -}); -(DxPointBorder as any).$_optionName = "border"; -const DxPointHoverStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:size": null, - }, - props: { - border: Object, - color: [Object, String], - size: Number - } -}); -(DxPointHoverStyle as any).$_optionName = "hoverStyle"; -(DxPointHoverStyle as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - pointBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxPointImage = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:url": null, - "update:width": null, - }, - props: { - height: [Number, Object], - url: [Object, String], - width: [Number, Object] - } -}); -(DxPointImage as any).$_optionName = "image"; -(DxPointImage as any).$_expectedChildren = { - height: { isCollectionItem: false, optionName: "height" }, - url: { isCollectionItem: false, optionName: "url" }, - width: { isCollectionItem: false, optionName: "width" } -}; -const DxPointSelectionStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:size": null, - }, - props: { - border: Object, - color: [Object, String], - size: Number - } -}); -(DxPointSelectionStyle as any).$_optionName = "selectionStyle"; -(DxPointSelectionStyle as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - color: { isCollectionItem: false, optionName: "color" }, - pointBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxReduction = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:level": null, - }, - props: { - color: String, - level: String - } -}); -(DxReduction as any).$_optionName = "reduction"; -const DxScrollBar = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:offset": null, - "update:opacity": null, - "update:position": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - offset: Number, - opacity: Number, - position: String, - visible: Boolean, - width: Number - } -}); -(DxScrollBar as any).$_optionName = "scrollBar"; -const DxSelectionStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:border": null, - "update:color": null, - "update:dashStyle": null, - "update:hatching": null, - "update:highlight": null, - "update:size": null, - "update:width": null, - }, - props: { - border: Object, - color: [Object, String], - dashStyle: String, - hatching: Object, - highlight: Boolean, - size: Number, - width: Number - } -}); -(DxSelectionStyle as any).$_optionName = "selectionStyle"; -const DxSeries = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:aggregation": null, - "update:argumentField": null, - "update:axis": null, - "update:barOverlapGroup": null, - "update:barPadding": null, - "update:barWidth": null, - "update:border": null, - "update:closeValueField": null, - "update:color": null, - "update:cornerRadius": null, - "update:dashStyle": null, - "update:highValueField": null, - "update:hoverMode": null, - "update:hoverStyle": null, - "update:ignoreEmptyPoints": null, - "update:innerColor": null, - "update:label": null, - "update:lowValueField": null, - "update:maxLabelCount": null, - "update:minBarSize": null, - "update:name": null, - "update:opacity": null, - "update:openValueField": null, - "update:pane": null, - "update:point": null, - "update:rangeValue1Field": null, - "update:rangeValue2Field": null, - "update:reduction": null, - "update:selectionMode": null, - "update:selectionStyle": null, - "update:showInLegend": null, - "update:sizeField": null, - "update:stack": null, - "update:tag": null, - "update:tagField": null, - "update:type": null, - "update:valueErrorBar": null, - "update:valueField": null, - "update:visible": null, - "update:width": null, - }, - props: { - aggregation: Object, - argumentField: String, - axis: String, - barOverlapGroup: String, - barPadding: Number, - barWidth: Number, - border: Object, - closeValueField: String, - color: [Object, String], - cornerRadius: Number, - dashStyle: String, - highValueField: String, - hoverMode: String, - hoverStyle: Object, - ignoreEmptyPoints: Boolean, - innerColor: String, - label: Object, - lowValueField: String, - maxLabelCount: Number, - minBarSize: Number, - name: String, - opacity: Number, - openValueField: String, - pane: String, - point: Object, - rangeValue1Field: String, - rangeValue2Field: String, - reduction: Object, - selectionMode: String, - selectionStyle: Object, - showInLegend: Boolean, - sizeField: String, - stack: String, - tag: {}, - tagField: String, - type: String, - valueErrorBar: Object, - valueField: String, - visible: Boolean, - width: Number - } -}); -(DxSeries as any).$_optionName = "series"; -(DxSeries as any).$_isCollectionItem = true; -const DxSeriesBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - visible: Boolean, - width: Number - } -}); -(DxSeriesBorder as any).$_optionName = "border"; -const DxSeriesTemplate = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:customizeSeries": null, - "update:nameField": null, - }, - props: { - customizeSeries: Function, - nameField: String - } -}); -(DxSeriesTemplate as any).$_optionName = "seriesTemplate"; -const DxShadow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:blur": null, - "update:color": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - }, - props: { - blur: Number, - color: String, - offsetX: Number, - offsetY: Number, - opacity: Number - } -}); -(DxShadow as any).$_optionName = "shadow"; -const DxSize = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:width": null, - }, - props: { - height: Number, - width: Number - } -}); -(DxSize as any).$_optionName = "size"; -const DxStrip = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:endValue": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:startValue": null, - }, - props: { - color: String, - endValue: {}, - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number, - startValue: {} - } -}); -(DxStrip as any).$_optionName = "strips"; -(DxStrip as any).$_isCollectionItem = true; -const DxStripLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:text": null, - "update:verticalAlignment": null, - }, - props: { - font: Object, - horizontalAlignment: String, - text: String, - verticalAlignment: String - } -}); -(DxStripLabel as any).$_optionName = "label"; -const DxStripStyle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:label": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - }, - props: { - label: Object, - paddingLeftRight: Number, - paddingTopBottom: Number - } -}); -(DxStripStyle as any).$_optionName = "stripStyle"; -(DxStripStyle as any).$_expectedChildren = { - label: { isCollectionItem: false, optionName: "label" }, - stripStyleLabel: { isCollectionItem: false, optionName: "label" } -}; -const DxStripStyleLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:verticalAlignment": null, - }, - props: { - font: Object, - horizontalAlignment: String, - verticalAlignment: String - } -}); -(DxStripStyleLabel as any).$_optionName = "label"; -const DxSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - font: Object, - offset: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxSubtitle as any).$_optionName = "subtitle"; -const DxTick = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:length": null, - "update:opacity": null, - "update:shift": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - length: Number, - opacity: Number, - shift: Number, - visible: Boolean, - width: Number - } -}); -(DxTick as any).$_optionName = "tick"; -const DxTickInterval = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:days": null, - "update:hours": null, - "update:milliseconds": null, - "update:minutes": null, - "update:months": null, - "update:quarters": null, - "update:seconds": null, - "update:weeks": null, - "update:years": null, - }, - props: { - days: Number, - hours: Number, - milliseconds: Number, - minutes: Number, - months: Number, - quarters: Number, - seconds: Number, - weeks: Number, - years: Number - } -}); -(DxTickInterval as any).$_optionName = "tickInterval"; -const DxTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:alignment": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:wordWrap": null, - }, - props: { - alignment: String, - font: Object, - horizontalAlignment: String, - margin: [Number, Object], - placeholderSize: Number, - subtitle: [Object, String], - text: String, - textOverflow: String, - verticalAlignment: String, - wordWrap: String - } -}); -(DxTitle as any).$_optionName = "title"; -const DxTooltip = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:argumentFormat": null, - "update:arrowLength": null, - "update:border": null, - "update:color": null, - "update:container": null, - "update:contentTemplate": null, - "update:cornerRadius": null, - "update:customizeTooltip": null, - "update:enabled": null, - "update:font": null, - "update:format": null, - "update:interactive": null, - "update:location": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:shadow": null, - "update:shared": null, - "update:zIndex": null, - }, - props: { - argumentFormat: [Object, Function, String], - arrowLength: Number, - border: Object, - color: String, - container: {}, - contentTemplate: {}, - cornerRadius: Number, - customizeTooltip: Function, - enabled: Boolean, - font: Object, - format: [Object, Function, String], - interactive: Boolean, - location: String, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - shadow: Object, - shared: Boolean, - zIndex: Number - } -}); -(DxTooltip as any).$_optionName = "tooltip"; -(DxTooltip as any).$_expectedChildren = { - argumentFormat: { isCollectionItem: false, optionName: "argumentFormat" }, - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" }, - shadow: { isCollectionItem: false, optionName: "shadow" }, - tooltipBorder: { isCollectionItem: false, optionName: "border" } -}; -const DxTooltipBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxTooltipBorder as any).$_optionName = "border"; -const DxUrl = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:rangeMaxPoint": null, - "update:rangeMinPoint": null, - }, - props: { - rangeMaxPoint: String, - rangeMinPoint: String - } -}); -(DxUrl as any).$_optionName = "url"; -const DxValueAxis = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:aggregatedPointsPosition": null, - "update:allowDecimals": null, - "update:autoBreaksEnabled": null, - "update:axisDivisionFactor": null, - "update:breaks": null, - "update:breakStyle": null, - "update:categories": null, - "update:color": null, - "update:constantLines": null, - "update:constantLineStyle": null, - "update:customPosition": null, - "update:discreteAxisDivisionMode": null, - "update:endOnTick": null, - "update:grid": null, - "update:inverted": null, - "update:label": null, - "update:linearThreshold": null, - "update:logarithmBase": null, - "update:maxAutoBreakCount": null, - "update:maxValueMargin": null, - "update:minorGrid": null, - "update:minorTick": null, - "update:minorTickCount": null, - "update:minorTickInterval": null, - "update:minValueMargin": null, - "update:minVisualRangeLength": null, - "update:multipleAxesSpacing": null, - "update:name": null, - "update:offset": null, - "update:opacity": null, - "update:pane": null, - "update:placeholderSize": null, - "update:position": null, - "update:showZero": null, - "update:strips": null, - "update:stripStyle": null, - "update:synchronizedValue": null, - "update:tick": null, - "update:tickInterval": null, - "update:title": null, - "update:type": null, - "update:valueMarginsEnabled": null, - "update:valueType": null, - "update:visible": null, - "update:visualRange": null, - "update:visualRangeUpdateMode": null, - "update:wholeRange": null, - "update:width": null, - }, - props: { - aggregatedPointsPosition: String, - allowDecimals: Boolean, - autoBreaksEnabled: Boolean, - axisDivisionFactor: Number, - breaks: Array, - breakStyle: Object, - categories: Array, - color: String, - constantLines: Array, - constantLineStyle: Object, - customPosition: {}, - discreteAxisDivisionMode: String, - endOnTick: Boolean, - grid: Object, - inverted: Boolean, - label: Object, - linearThreshold: Number, - logarithmBase: Number, - maxAutoBreakCount: Number, - maxValueMargin: Number, - minorGrid: Object, - minorTick: Object, - minorTickCount: Number, - minorTickInterval: [Number, Object, String], - minValueMargin: Number, - minVisualRangeLength: [Number, Object, String], - multipleAxesSpacing: Number, - name: String, - offset: Number, - opacity: Number, - pane: String, - placeholderSize: Number, - position: String, - showZero: Boolean, - strips: Array, - stripStyle: Object, - synchronizedValue: Number, - tick: Object, - tickInterval: [Number, Object, String], - title: [Object, String], - type: String, - valueMarginsEnabled: Boolean, - valueType: String, - visible: Boolean, - visualRange: [Array, Object], - visualRangeUpdateMode: String, - wholeRange: [Array, Object], - width: Number - } -}); -(DxValueAxis as any).$_optionName = "valueAxis"; -(DxValueAxis as any).$_isCollectionItem = true; -(DxValueAxis as any).$_expectedChildren = { - axisConstantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - axisLabel: { isCollectionItem: false, optionName: "label" }, - axisTitle: { isCollectionItem: false, optionName: "title" }, - break: { isCollectionItem: true, optionName: "breaks" }, - constantLine: { isCollectionItem: true, optionName: "constantLines" }, - constantLineStyle: { isCollectionItem: false, optionName: "constantLineStyle" }, - label: { isCollectionItem: false, optionName: "label" }, - minorTickInterval: { isCollectionItem: false, optionName: "minorTickInterval" }, - minVisualRangeLength: { isCollectionItem: false, optionName: "minVisualRangeLength" }, - strip: { isCollectionItem: true, optionName: "strips" }, - tickInterval: { isCollectionItem: false, optionName: "tickInterval" }, - title: { isCollectionItem: false, optionName: "title" }, - visualRange: { isCollectionItem: false, optionName: "visualRange" }, - wholeRange: { isCollectionItem: false, optionName: "wholeRange" } -}; -const DxValueErrorBar = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:displayMode": null, - "update:edgeLength": null, - "update:highValueField": null, - "update:lineWidth": null, - "update:lowValueField": null, - "update:opacity": null, - "update:type": null, - "update:value": null, - }, - props: { - color: String, - displayMode: String, - edgeLength: Number, - highValueField: String, - lineWidth: Number, - lowValueField: String, - opacity: Number, - type: String, - value: Number - } -}); -(DxValueErrorBar as any).$_optionName = "valueErrorBar"; -const DxVerticalLine = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:label": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - label: Object, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxVerticalLine as any).$_optionName = "verticalLine"; -(DxVerticalLine as any).$_expectedChildren = { - horizontalLineLabel: { isCollectionItem: false, optionName: "label" }, - label: { isCollectionItem: false, optionName: "label" } -}; -const DxVisualRange = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:endValue": null, - "update:length": null, - "update:startValue": null, - }, - props: { - endValue: {}, - length: [Number, Object, String], - startValue: {} - } -}); -(DxVisualRange as any).$_optionName = "visualRange"; -const DxWholeRange = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:endValue": null, - "update:length": null, - "update:startValue": null, - }, - props: { - endValue: {}, - length: [Number, Object, String], - startValue: {} - } -}); -(DxWholeRange as any).$_optionName = "wholeRange"; -const DxWidth = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:rangeMaxPoint": null, - "update:rangeMinPoint": null, - }, - props: { - rangeMaxPoint: Number, - rangeMinPoint: Number - } -}); -(DxWidth as any).$_optionName = "width"; -const DxZoomAndPan = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:allowMouseWheel": null, - "update:allowTouchGestures": null, - "update:argumentAxis": null, - "update:dragBoxStyle": null, - "update:dragToZoom": null, - "update:panKey": null, - "update:valueAxis": null, - }, - props: { - allowMouseWheel: Boolean, - allowTouchGestures: Boolean, - argumentAxis: String, - dragBoxStyle: Object, - dragToZoom: Boolean, - panKey: String, - valueAxis: String - } -}); -(DxZoomAndPan as any).$_optionName = "zoomAndPan"; -(DxZoomAndPan as any).$_expectedChildren = { - dragBoxStyle: { isCollectionItem: false, optionName: "dragBoxStyle" } -}; - -export default DxChart; -export { - DxChart, - DxAdaptiveLayout, - DxAggregation, - DxAggregationInterval, - DxAnimation, - DxAnnotation, - DxAnnotationBorder, - DxAnnotationImage, - DxArgumentAxis, - DxArgumentFormat, - DxAxisConstantLineStyle, - DxAxisConstantLineStyleLabel, - DxAxisLabel, - DxAxisTitle, - DxBackgroundColor, - DxBorder, - DxBreak, - DxBreakStyle, - DxChartTitle, - DxChartTitleSubtitle, - DxColor, - DxCommonAnnotationSettings, - DxCommonAxisSettings, - DxCommonAxisSettingsConstantLineStyle, - DxCommonAxisSettingsConstantLineStyleLabel, - DxCommonAxisSettingsLabel, - DxCommonAxisSettingsTitle, - DxCommonPaneSettings, - DxCommonSeriesSettings, - DxCommonSeriesSettingsHoverStyle, - DxCommonSeriesSettingsLabel, - DxCommonSeriesSettingsSelectionStyle, - DxConnector, - DxConstantLine, - DxConstantLineLabel, - DxConstantLineStyle, - DxCrosshair, - DxDataPrepareSettings, - DxDragBoxStyle, - DxExport, - DxFont, - DxFormat, - DxGrid, - DxHatching, - DxHeight, - DxHorizontalLine, - DxHorizontalLineLabel, - DxHoverStyle, - DxImage, - DxLabel, - DxLegend, - DxLegendTitle, - DxLegendTitleSubtitle, - DxLength, - DxLoadingIndicator, - DxMargin, - DxMinorGrid, - DxMinorTick, - DxMinorTickInterval, - DxMinVisualRangeLength, - DxPane, - DxPaneBorder, - DxPoint, - DxPointBorder, - DxPointHoverStyle, - DxPointImage, - DxPointSelectionStyle, - DxReduction, - DxScrollBar, - DxSelectionStyle, - DxSeries, - DxSeriesBorder, - DxSeriesTemplate, - DxShadow, - DxSize, - DxStrip, - DxStripLabel, - DxStripStyle, - DxStripStyleLabel, - DxSubtitle, - DxTick, - DxTickInterval, - DxTitle, - DxTooltip, - DxTooltipBorder, - DxUrl, - DxValueAxis, - DxValueErrorBar, - DxVerticalLine, - DxVisualRange, - DxWholeRange, - DxWidth, - DxZoomAndPan -}; -import type * as DxChartTypes from "devextreme/viz/chart_types"; -export { DxChartTypes }; diff --git a/packages/vue2-strategy/src/check-box.ts b/packages/vue2-strategy/src/check-box.ts deleted file mode 100644 index e21cc086b74a..000000000000 --- a/packages/vue2-strategy/src/check-box.ts +++ /dev/null @@ -1,123 +0,0 @@ -import CheckBox, { Properties } from "devextreme/ui/check_box"; -import { createComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxCheckBox extends AccessibleOptions { - readonly instance?: CheckBox; -} -const DxCheckBox = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - disabled: Boolean, - elementAttr: Object, - enableThreeStateBehavior: Boolean, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - iconSize: [Number, String], - isDirty: Boolean, - isValid: Boolean, - name: String, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onOptionChanged: Function, - onValueChanged: Function, - readOnly: Boolean, - rtlEnabled: Boolean, - tabIndex: Number, - text: String, - validationError: {}, - validationErrors: Array, - validationMessageMode: String, - validationMessagePosition: String, - validationStatus: String, - value: {}, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:disabled": null, - "update:elementAttr": null, - "update:enableThreeStateBehavior": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:iconSize": null, - "update:isDirty": null, - "update:isValid": null, - "update:name": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onValueChanged": null, - "update:readOnly": null, - "update:rtlEnabled": null, - "update:tabIndex": null, - "update:text": null, - "update:validationError": null, - "update:validationErrors": null, - "update:validationMessageMode": null, - "update:validationMessagePosition": null, - "update:validationStatus": null, - "update:value": null, - "update:visible": null, - "update:width": null, - }, - model: { prop: "value", event: "update:value" }, - computed: { - instance(): CheckBox { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = CheckBox; - } -}); - -export default DxCheckBox; -export { - DxCheckBox -}; -import type * as DxCheckBoxTypes from "devextreme/ui/check_box_types"; -export { DxCheckBoxTypes }; diff --git a/packages/vue2-strategy/src/circular-gauge.ts b/packages/vue2-strategy/src/circular-gauge.ts deleted file mode 100644 index a4fe38028b14..000000000000 --- a/packages/vue2-strategy/src/circular-gauge.ts +++ /dev/null @@ -1,744 +0,0 @@ -import CircularGauge, { Properties } from "devextreme/viz/circular_gauge"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxCircularGauge extends AccessibleOptions { - readonly instance?: CircularGauge; -} -const DxCircularGauge = createComponent({ - props: { - animation: Object, - centerTemplate: {}, - containerBackgroundColor: String, - disabled: Boolean, - elementAttr: Object, - export: Object, - geometry: Object, - loadingIndicator: Object, - margin: Object, - onDisposing: Function, - onDrawn: Function, - onExported: Function, - onExporting: Function, - onFileSaving: Function, - onIncidentOccurred: Function, - onInitialized: Function, - onOptionChanged: Function, - onTooltipHidden: Function, - onTooltipShown: Function, - pathModified: Boolean, - rangeContainer: Object, - redrawOnResize: Boolean, - rtlEnabled: Boolean, - scale: Object, - size: Object, - subvalueIndicator: Object, - subvalues: Array, - theme: String, - title: [Object, String], - tooltip: Object, - value: Number, - valueIndicator: Object - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:animation": null, - "update:centerTemplate": null, - "update:containerBackgroundColor": null, - "update:disabled": null, - "update:elementAttr": null, - "update:export": null, - "update:geometry": null, - "update:loadingIndicator": null, - "update:margin": null, - "update:onDisposing": null, - "update:onDrawn": null, - "update:onExported": null, - "update:onExporting": null, - "update:onFileSaving": null, - "update:onIncidentOccurred": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onTooltipHidden": null, - "update:onTooltipShown": null, - "update:pathModified": null, - "update:rangeContainer": null, - "update:redrawOnResize": null, - "update:rtlEnabled": null, - "update:scale": null, - "update:size": null, - "update:subvalueIndicator": null, - "update:subvalues": null, - "update:theme": null, - "update:title": null, - "update:tooltip": null, - "update:value": null, - "update:valueIndicator": null, - }, - computed: { - instance(): CircularGauge { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = CircularGauge; - (this as any).$_expectedChildren = { - animation: { isCollectionItem: false, optionName: "animation" }, - export: { isCollectionItem: false, optionName: "export" }, - geometry: { isCollectionItem: false, optionName: "geometry" }, - loadingIndicator: { isCollectionItem: false, optionName: "loadingIndicator" }, - margin: { isCollectionItem: false, optionName: "margin" }, - rangeContainer: { isCollectionItem: false, optionName: "rangeContainer" }, - scale: { isCollectionItem: false, optionName: "scale" }, - size: { isCollectionItem: false, optionName: "size" }, - subvalueIndicator: { isCollectionItem: false, optionName: "subvalueIndicator" }, - title: { isCollectionItem: false, optionName: "title" }, - tooltip: { isCollectionItem: false, optionName: "tooltip" }, - valueIndicator: { isCollectionItem: false, optionName: "valueIndicator" } - }; - } -}); - -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:duration": null, - "update:easing": null, - "update:enabled": null, - }, - props: { - duration: Number, - easing: String, - enabled: Boolean - } -}); -(DxAnimation as any).$_optionName = "animation"; -const DxBackgroundColor = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:base": null, - "update:fillId": null, - }, - props: { - base: String, - fillId: String - } -}); -(DxBackgroundColor as any).$_optionName = "backgroundColor"; -const DxBorder = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:dashStyle": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - dashStyle: String, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxBorder as any).$_optionName = "border"; -const DxColor = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:base": null, - "update:fillId": null, - }, - props: { - base: String, - fillId: String - } -}); -(DxColor as any).$_optionName = "color"; -const DxExport = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:enabled": null, - "update:fileName": null, - "update:formats": null, - "update:margin": null, - "update:printingEnabled": null, - "update:svgToCanvas": null, - }, - props: { - backgroundColor: String, - enabled: Boolean, - fileName: String, - formats: Array, - margin: Number, - printingEnabled: Boolean, - svgToCanvas: Function - } -}); -(DxExport as any).$_optionName = "export"; -const DxFont = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:family": null, - "update:opacity": null, - "update:size": null, - "update:weight": null, - }, - props: { - color: String, - family: String, - opacity: Number, - size: [Number, String], - weight: Number - } -}); -(DxFont as any).$_optionName = "font"; -const DxFormat = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:currency": null, - "update:formatter": null, - "update:parser": null, - "update:precision": null, - "update:type": null, - "update:useCurrencyAccountingStyle": null, - }, - props: { - currency: String, - formatter: Function, - parser: Function, - precision: Number, - type: String, - useCurrencyAccountingStyle: Boolean - } -}); -(DxFormat as any).$_optionName = "format"; -const DxGeometry = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:endAngle": null, - "update:startAngle": null, - }, - props: { - endAngle: Number, - startAngle: Number - } -}); -(DxGeometry as any).$_optionName = "geometry"; -const DxLabel = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:customizeText": null, - "update:font": null, - "update:format": null, - "update:hideFirstOrLast": null, - "update:indentFromTick": null, - "update:overlappingBehavior": null, - "update:useRangeColors": null, - "update:visible": null, - }, - props: { - customizeText: Function, - font: Object, - format: [Object, Function, String], - hideFirstOrLast: String, - indentFromTick: Number, - overlappingBehavior: String, - useRangeColors: Boolean, - visible: Boolean - } -}); -(DxLabel as any).$_optionName = "label"; -(DxLabel as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" } -}; -const DxLoadingIndicator = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:font": null, - "update:show": null, - "update:text": null, - }, - props: { - backgroundColor: String, - font: Object, - show: Boolean, - text: String - } -}); -(DxLoadingIndicator as any).$_optionName = "loadingIndicator"; -(DxLoadingIndicator as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxMargin = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:bottom": null, - "update:left": null, - "update:right": null, - "update:top": null, - }, - props: { - bottom: Number, - left: Number, - right: Number, - top: Number - } -}); -(DxMargin as any).$_optionName = "margin"; -const DxMinorTick = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:length": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - length: Number, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxMinorTick as any).$_optionName = "minorTick"; -const DxRange = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:endValue": null, - "update:startValue": null, - }, - props: { - color: [Object, String], - endValue: Number, - startValue: Number - } -}); -(DxRange as any).$_optionName = "ranges"; -(DxRange as any).$_isCollectionItem = true; -(DxRange as any).$_expectedChildren = { - color: { isCollectionItem: false, optionName: "color" } -}; -const DxRangeContainer = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:backgroundColor": null, - "update:offset": null, - "update:orientation": null, - "update:palette": null, - "update:paletteExtensionMode": null, - "update:ranges": null, - "update:width": null, - }, - props: { - backgroundColor: [Object, String], - offset: Number, - orientation: String, - palette: [Array, String], - paletteExtensionMode: String, - ranges: Array, - width: Number - } -}); -(DxRangeContainer as any).$_optionName = "rangeContainer"; -(DxRangeContainer as any).$_expectedChildren = { - backgroundColor: { isCollectionItem: false, optionName: "backgroundColor" }, - range: { isCollectionItem: true, optionName: "ranges" } -}; -const DxScale = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:allowDecimals": null, - "update:customMinorTicks": null, - "update:customTicks": null, - "update:endValue": null, - "update:label": null, - "update:minorTick": null, - "update:minorTickInterval": null, - "update:orientation": null, - "update:scaleDivisionFactor": null, - "update:startValue": null, - "update:tick": null, - "update:tickInterval": null, - }, - props: { - allowDecimals: Boolean, - customMinorTicks: Array, - customTicks: Array, - endValue: Number, - label: Object, - minorTick: Object, - minorTickInterval: Number, - orientation: String, - scaleDivisionFactor: Number, - startValue: Number, - tick: Object, - tickInterval: Number - } -}); -(DxScale as any).$_optionName = "scale"; -(DxScale as any).$_expectedChildren = { - label: { isCollectionItem: false, optionName: "label" }, - minorTick: { isCollectionItem: false, optionName: "minorTick" }, - tick: { isCollectionItem: false, optionName: "tick" } -}; -const DxShadow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:blur": null, - "update:color": null, - "update:offsetX": null, - "update:offsetY": null, - "update:opacity": null, - }, - props: { - blur: Number, - color: String, - offsetX: Number, - offsetY: Number, - opacity: Number - } -}); -(DxShadow as any).$_optionName = "shadow"; -const DxSize = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:height": null, - "update:width": null, - }, - props: { - height: Number, - width: Number - } -}); -(DxSize as any).$_optionName = "size"; -const DxSubtitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:offset": null, - "update:text": null, - "update:textOverflow": null, - "update:wordWrap": null, - }, - props: { - font: Object, - offset: Number, - text: String, - textOverflow: String, - wordWrap: String - } -}); -(DxSubtitle as any).$_optionName = "subtitle"; -(DxSubtitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" } -}; -const DxSubvalueIndicator = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:arrowLength": null, - "update:backgroundColor": null, - "update:baseValue": null, - "update:beginAdaptingAtRadius": null, - "update:color": null, - "update:horizontalOrientation": null, - "update:indentFromCenter": null, - "update:length": null, - "update:offset": null, - "update:palette": null, - "update:secondColor": null, - "update:secondFraction": null, - "update:size": null, - "update:spindleGapSize": null, - "update:spindleSize": null, - "update:text": null, - "update:type": null, - "update:verticalOrientation": null, - "update:width": null, - }, - props: { - arrowLength: Number, - backgroundColor: String, - baseValue: Number, - beginAdaptingAtRadius: Number, - color: [Object, String], - horizontalOrientation: String, - indentFromCenter: Number, - length: Number, - offset: Number, - palette: [Array, String], - secondColor: String, - secondFraction: Number, - size: Number, - spindleGapSize: Number, - spindleSize: Number, - text: Object, - type: String, - verticalOrientation: String, - width: Number - } -}); -(DxSubvalueIndicator as any).$_optionName = "subvalueIndicator"; -(DxSubvalueIndicator as any).$_expectedChildren = { - color: { isCollectionItem: false, optionName: "color" }, - text: { isCollectionItem: false, optionName: "text" } -}; -const DxText = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:customizeText": null, - "update:font": null, - "update:format": null, - "update:indent": null, - }, - props: { - customizeText: Function, - font: Object, - format: [Object, Function, String], - indent: Number - } -}); -(DxText as any).$_optionName = "text"; -(DxText as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" } -}; -const DxTick = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:color": null, - "update:length": null, - "update:opacity": null, - "update:visible": null, - "update:width": null, - }, - props: { - color: String, - length: Number, - opacity: Number, - visible: Boolean, - width: Number - } -}); -(DxTick as any).$_optionName = "tick"; -const DxTitle = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:font": null, - "update:horizontalAlignment": null, - "update:margin": null, - "update:placeholderSize": null, - "update:subtitle": null, - "update:text": null, - "update:textOverflow": null, - "update:verticalAlignment": null, - "update:wordWrap": null, - }, - props: { - font: Object, - horizontalAlignment: String, - margin: [Number, Object], - placeholderSize: Number, - subtitle: [Object, String], - text: String, - textOverflow: String, - verticalAlignment: String, - wordWrap: String - } -}); -(DxTitle as any).$_optionName = "title"; -(DxTitle as any).$_expectedChildren = { - font: { isCollectionItem: false, optionName: "font" }, - margin: { isCollectionItem: false, optionName: "margin" }, - subtitle: { isCollectionItem: false, optionName: "subtitle" } -}; -const DxTooltip = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:arrowLength": null, - "update:border": null, - "update:color": null, - "update:container": null, - "update:contentTemplate": null, - "update:cornerRadius": null, - "update:customizeTooltip": null, - "update:enabled": null, - "update:font": null, - "update:format": null, - "update:interactive": null, - "update:opacity": null, - "update:paddingLeftRight": null, - "update:paddingTopBottom": null, - "update:shadow": null, - "update:zIndex": null, - }, - props: { - arrowLength: Number, - border: Object, - color: String, - container: {}, - contentTemplate: {}, - cornerRadius: Number, - customizeTooltip: Function, - enabled: Boolean, - font: Object, - format: [Object, Function, String], - interactive: Boolean, - opacity: Number, - paddingLeftRight: Number, - paddingTopBottom: Number, - shadow: Object, - zIndex: Number - } -}); -(DxTooltip as any).$_optionName = "tooltip"; -(DxTooltip as any).$_expectedChildren = { - border: { isCollectionItem: false, optionName: "border" }, - font: { isCollectionItem: false, optionName: "font" }, - format: { isCollectionItem: false, optionName: "format" }, - shadow: { isCollectionItem: false, optionName: "shadow" } -}; -const DxValueIndicator = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:arrowLength": null, - "update:backgroundColor": null, - "update:baseValue": null, - "update:beginAdaptingAtRadius": null, - "update:color": null, - "update:horizontalOrientation": null, - "update:indentFromCenter": null, - "update:length": null, - "update:offset": null, - "update:palette": null, - "update:secondColor": null, - "update:secondFraction": null, - "update:size": null, - "update:spindleGapSize": null, - "update:spindleSize": null, - "update:text": null, - "update:type": null, - "update:verticalOrientation": null, - "update:width": null, - }, - props: { - arrowLength: Number, - backgroundColor: String, - baseValue: Number, - beginAdaptingAtRadius: Number, - color: [Object, String], - horizontalOrientation: String, - indentFromCenter: Number, - length: Number, - offset: Number, - palette: [Array, String], - secondColor: String, - secondFraction: Number, - size: Number, - spindleGapSize: Number, - spindleSize: Number, - text: Object, - type: String, - verticalOrientation: String, - width: Number - } -}); -(DxValueIndicator as any).$_optionName = "valueIndicator"; - -export default DxCircularGauge; -export { - DxCircularGauge, - DxAnimation, - DxBackgroundColor, - DxBorder, - DxColor, - DxExport, - DxFont, - DxFormat, - DxGeometry, - DxLabel, - DxLoadingIndicator, - DxMargin, - DxMinorTick, - DxRange, - DxRangeContainer, - DxScale, - DxShadow, - DxSize, - DxSubtitle, - DxSubvalueIndicator, - DxText, - DxTick, - DxTitle, - DxTooltip, - DxValueIndicator -}; -import type * as DxCircularGaugeTypes from "devextreme/viz/circular_gauge_types"; -export { DxCircularGaugeTypes }; diff --git a/packages/vue2-strategy/src/color-box.ts b/packages/vue2-strategy/src/color-box.ts deleted file mode 100644 index e5b0d1c17624..000000000000 --- a/packages/vue2-strategy/src/color-box.ts +++ /dev/null @@ -1,671 +0,0 @@ -import ColorBox, { Properties } from "devextreme/ui/color_box"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxColorBox extends AccessibleOptions { - readonly instance?: ColorBox; -} -const DxColorBox = createComponent({ - props: { - acceptCustomValue: Boolean, - accessKey: String, - activeStateEnabled: Boolean, - applyButtonText: String, - applyValueMode: String, - buttons: Array, - cancelButtonText: String, - deferRendering: Boolean, - disabled: Boolean, - dropDownButtonTemplate: {}, - dropDownOptions: Object, - editAlphaChannel: Boolean, - elementAttr: Object, - fieldTemplate: {}, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - inputAttr: {}, - isDirty: Boolean, - isValid: Boolean, - keyStep: Number, - label: String, - labelMode: String, - name: String, - onChange: Function, - onClosed: Function, - onCopy: Function, - onCut: Function, - onDisposing: Function, - onEnterKey: Function, - onFocusIn: Function, - onFocusOut: Function, - onInitialized: Function, - onInput: Function, - onKeyDown: Function, - onKeyUp: Function, - onOpened: Function, - onOptionChanged: Function, - onPaste: Function, - onValueChanged: Function, - opened: Boolean, - openOnFieldClick: Boolean, - placeholder: String, - readOnly: Boolean, - rtlEnabled: Boolean, - showClearButton: Boolean, - showDropDownButton: Boolean, - stylingMode: String, - tabIndex: Number, - text: String, - validationError: {}, - validationErrors: Array, - validationMessageMode: String, - validationMessagePosition: String, - validationStatus: String, - value: String, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:acceptCustomValue": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:applyButtonText": null, - "update:applyValueMode": null, - "update:buttons": null, - "update:cancelButtonText": null, - "update:deferRendering": null, - "update:disabled": null, - "update:dropDownButtonTemplate": null, - "update:dropDownOptions": null, - "update:editAlphaChannel": null, - "update:elementAttr": null, - "update:fieldTemplate": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:inputAttr": null, - "update:isDirty": null, - "update:isValid": null, - "update:keyStep": null, - "update:label": null, - "update:labelMode": null, - "update:name": null, - "update:onChange": null, - "update:onClosed": null, - "update:onCopy": null, - "update:onCut": null, - "update:onDisposing": null, - "update:onEnterKey": null, - "update:onFocusIn": null, - "update:onFocusOut": null, - "update:onInitialized": null, - "update:onInput": null, - "update:onKeyDown": null, - "update:onKeyUp": null, - "update:onOpened": null, - "update:onOptionChanged": null, - "update:onPaste": null, - "update:onValueChanged": null, - "update:opened": null, - "update:openOnFieldClick": null, - "update:placeholder": null, - "update:readOnly": null, - "update:rtlEnabled": null, - "update:showClearButton": null, - "update:showDropDownButton": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:text": null, - "update:validationError": null, - "update:validationErrors": null, - "update:validationMessageMode": null, - "update:validationMessagePosition": null, - "update:validationStatus": null, - "update:value": null, - "update:visible": null, - "update:width": null, - }, - model: { prop: "value", event: "update:value" }, - computed: { - instance(): ColorBox { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = ColorBox; - (this as any).$_expectedChildren = { - button: { isCollectionItem: true, optionName: "buttons" }, - dropDownOptions: { isCollectionItem: false, optionName: "dropDownOptions" } - }; - } -}); - -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:hide": null, - "update:show": null, - }, - props: { - hide: [Object, Number, String], - show: [Object, Number, String] - } -}); -(DxAnimation as any).$_optionName = "animation"; -(DxAnimation as any).$_expectedChildren = { - hide: { isCollectionItem: false, optionName: "hide" }, - show: { isCollectionItem: false, optionName: "show" } -}; -const DxAt = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxAt as any).$_optionName = "at"; -const DxBoundaryOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxBoundaryOffset as any).$_optionName = "boundaryOffset"; -const DxButton = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:location": null, - "update:name": null, - "update:options": null, - }, - props: { - location: String, - name: String, - options: Object - } -}); -(DxButton as any).$_optionName = "buttons"; -(DxButton as any).$_isCollectionItem = true; -(DxButton as any).$_expectedChildren = { - options: { isCollectionItem: false, optionName: "options" } -}; -const DxCollision = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxCollision as any).$_optionName = "collision"; -const DxDropDownOptions = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:animation": null, - "update:bindingOptions": null, - "update:closeOnOutsideClick": null, - "update:container": null, - "update:contentTemplate": null, - "update:copyRootClassesToWrapper": null, - "update:deferRendering": null, - "update:disabled": null, - "update:dragAndResizeArea": null, - "update:dragEnabled": null, - "update:dragOutsideBoundary": null, - "update:elementAttr": null, - "update:enableBodyScroll": null, - "update:focusStateEnabled": null, - "update:fullScreen": null, - "update:height": null, - "update:hideOnOutsideClick": null, - "update:hideOnParentScroll": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:maxHeight": null, - "update:maxWidth": null, - "update:minHeight": null, - "update:minWidth": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onHidden": null, - "update:onHiding": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:onResize": null, - "update:onResizeEnd": null, - "update:onResizeStart": null, - "update:onShowing": null, - "update:onShown": null, - "update:onTitleRendered": null, - "update:position": null, - "update:resizeEnabled": null, - "update:restorePosition": null, - "update:rtlEnabled": null, - "update:shading": null, - "update:shadingColor": null, - "update:showCloseButton": null, - "update:showTitle": null, - "update:tabIndex": null, - "update:title": null, - "update:titleTemplate": null, - "update:toolbarItems": null, - "update:visible": null, - "update:width": null, - "update:wrapperAttr": null, - }, - props: { - accessKey: String, - animation: Object, - bindingOptions: Object, - closeOnOutsideClick: [Boolean, Function], - container: {}, - contentTemplate: {}, - copyRootClassesToWrapper: Boolean, - deferRendering: Boolean, - disabled: Boolean, - dragAndResizeArea: {}, - dragEnabled: Boolean, - dragOutsideBoundary: Boolean, - elementAttr: {}, - enableBodyScroll: Boolean, - focusStateEnabled: Boolean, - fullScreen: Boolean, - height: [Function, Number, String], - hideOnOutsideClick: [Boolean, Function], - hideOnParentScroll: Boolean, - hint: String, - hoverStateEnabled: Boolean, - maxHeight: [Function, Number, String], - maxWidth: [Function, Number, String], - minHeight: [Function, Number, String], - minWidth: [Function, Number, String], - onContentReady: Function, - onDisposing: Function, - onHidden: Function, - onHiding: Function, - onInitialized: Function, - onOptionChanged: Function, - onResize: Function, - onResizeEnd: Function, - onResizeStart: Function, - onShowing: Function, - onShown: Function, - onTitleRendered: Function, - position: [Function, Object, String], - resizeEnabled: Boolean, - restorePosition: Boolean, - rtlEnabled: Boolean, - shading: Boolean, - shadingColor: String, - showCloseButton: Boolean, - showTitle: Boolean, - tabIndex: Number, - title: String, - titleTemplate: {}, - toolbarItems: Array, - visible: Boolean, - width: [Function, Number, String], - wrapperAttr: {} - } -}); -(DxDropDownOptions as any).$_optionName = "dropDownOptions"; -(DxDropDownOptions as any).$_expectedChildren = { - animation: { isCollectionItem: false, optionName: "animation" }, - position: { isCollectionItem: false, optionName: "position" }, - toolbarItem: { isCollectionItem: true, optionName: "toolbarItems" } -}; -const DxFrom = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxFrom as any).$_optionName = "from"; -(DxFrom as any).$_expectedChildren = { - position: { isCollectionItem: false, optionName: "position" } -}; -const DxHide = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxHide as any).$_optionName = "hide"; -(DxHide as any).$_expectedChildren = { - from: { isCollectionItem: false, optionName: "from" }, - to: { isCollectionItem: false, optionName: "to" } -}; -const DxMy = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxMy as any).$_optionName = "my"; -const DxOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxOffset as any).$_optionName = "offset"; -const DxOptions = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:bindingOptions": null, - "update:disabled": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:icon": null, - "update:onClick": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onInitialized": null, - "update:onOptionChanged": null, - "update:rtlEnabled": null, - "update:stylingMode": null, - "update:tabIndex": null, - "update:template": null, - "update:text": null, - "update:type": null, - "update:useSubmitBehavior": null, - "update:validationGroup": null, - "update:visible": null, - "update:width": null, - }, - props: { - accessKey: String, - activeStateEnabled: Boolean, - bindingOptions: Object, - disabled: Boolean, - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hint: String, - hoverStateEnabled: Boolean, - icon: String, - onClick: Function, - onContentReady: Function, - onDisposing: Function, - onInitialized: Function, - onOptionChanged: Function, - rtlEnabled: Boolean, - stylingMode: String, - tabIndex: Number, - template: {}, - text: String, - type: String, - useSubmitBehavior: Boolean, - validationGroup: String, - visible: Boolean, - width: [Function, Number, String] - } -}); -(DxOptions as any).$_optionName = "options"; -const DxPosition = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:at": null, - "update:boundary": null, - "update:boundaryOffset": null, - "update:collision": null, - "update:my": null, - "update:of": null, - "update:offset": null, - }, - props: { - at: [Object, String], - boundary: {}, - boundaryOffset: [Object, String], - collision: [Object, String], - my: [Object, String], - of: {}, - offset: [Object, String] - } -}); -(DxPosition as any).$_optionName = "position"; -const DxShow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxShow as any).$_optionName = "show"; -const DxTo = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxTo as any).$_optionName = "to"; -const DxToolbarItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:cssClass": null, - "update:disabled": null, - "update:html": null, - "update:locateInMenu": null, - "update:location": null, - "update:menuItemTemplate": null, - "update:options": null, - "update:showText": null, - "update:template": null, - "update:text": null, - "update:toolbar": null, - "update:visible": null, - "update:widget": null, - }, - props: { - cssClass: String, - disabled: Boolean, - html: String, - locateInMenu: String, - location: String, - menuItemTemplate: {}, - options: {}, - showText: String, - template: {}, - text: String, - toolbar: String, - visible: Boolean, - widget: String - } -}); -(DxToolbarItem as any).$_optionName = "toolbarItems"; -(DxToolbarItem as any).$_isCollectionItem = true; - -export default DxColorBox; -export { - DxColorBox, - DxAnimation, - DxAt, - DxBoundaryOffset, - DxButton, - DxCollision, - DxDropDownOptions, - DxFrom, - DxHide, - DxMy, - DxOffset, - DxOptions, - DxPosition, - DxShow, - DxTo, - DxToolbarItem -}; -import type * as DxColorBoxTypes from "devextreme/ui/color_box_types"; -export { DxColorBoxTypes }; diff --git a/packages/vue2-strategy/src/common/charts.ts b/packages/vue2-strategy/src/common/charts.ts deleted file mode 100644 index 2b20834a2412..000000000000 --- a/packages/vue2-strategy/src/common/charts.ts +++ /dev/null @@ -1,42 +0,0 @@ -export { - AnimationEaseMode, - AnnotationType, - ArgumentAxisHoverMode, - AxisScaleType, - ChartsAxisLabelOverlap, - ChartsColor, - ChartsDataType, - ChartsLabelOverlap, - DashStyle, - DiscreteAxisDivisionMode, - GradientColor, - HatchDirection, - LabelOverlap, - LabelPosition, - LegendHoverMode, - LegendMarkerState, - Palette, - PaletteColorSet, - PaletteExtensionMode, - PointInteractionMode, - PointSymbol, - registerGradient, - registerPattern, - RelativePosition, - ScaleBreak, - ScaleBreakLineStyle, - SeriesHoverMode, - SeriesSelectionMode, - SeriesType, - ShiftLabelOverlap, - TextOverflow, - Theme, - TimeInterval, - TimeIntervalConfig, - ValueErrorBarDisplayMode, - ValueErrorBarType, - VisualRange, - VisualRangeUpdateMode, - WordWrap, - ZoomPanAction, -} from "devextreme/common/charts"; diff --git a/packages/vue2-strategy/src/common/data/custom-store.ts b/packages/vue2-strategy/src/common/data/custom-store.ts deleted file mode 100644 index 8b01da88d434..000000000000 --- a/packages/vue2-strategy/src/common/data/custom-store.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { - GroupItem, - isGroupItemsArray, - isItemsArray, - isLoadResultObject, - LoadResult, - LoadResultObject, -} from "devextreme/common/data/custom-store"; diff --git a/packages/vue2-strategy/src/common/grids.ts b/packages/vue2-strategy/src/common/grids.ts deleted file mode 100644 index c996ac7cbf7c..000000000000 --- a/packages/vue2-strategy/src/common/grids.ts +++ /dev/null @@ -1,74 +0,0 @@ -export { - AdaptiveDetailRowPreparingInfo, - ApplyChangesMode, - ApplyFilterMode, - ColumnBase, - ColumnButtonBase, - ColumnChooser, - ColumnChooserMode, - ColumnChooserSearchConfig, - ColumnChooserSelectionConfig, - ColumnCustomizeTextArg, - ColumnFixing, - ColumnFixingTexts, - ColumnHeaderFilter, - ColumnHeaderFilterSearchConfig, - ColumnLookup, - ColumnResizeMode, - DataChange, - DataChangeInfo, - DataChangeType, - DataErrorOccurredInfo, - DataRenderMode, - EditingBase, - EditingTextsBase, - EnterKeyAction, - EnterKeyDirection, - FilterOperation, - FilterPanel, - FilterPanelTexts, - FilterRow, - FilterRowOperationDescriptions, - FilterType, - GridBase, - GridBaseOptions, - GridsEditMode, - GridsEditRefreshMode, - GroupExpandMode, - HeaderFilter, - HeaderFilterGroupInterval, - HeaderFilterSearchConfig, - HeaderFilterTexts, - KeyboardNavigation, - KeyDownInfo, - LoadPanel, - NewRowInfo, - NewRowPosition, - Pager, - PagerDisplayMode, - PagerPageSize, - PagingBase, - RowDragging, - RowDraggingTemplateData, - RowInsertedInfo, - RowInsertingInfo, - RowKeyInfo, - RowRemovedInfo, - RowRemovingInfo, - RowUpdatedInfo, - RowUpdatingInfo, - RowValidatingInfo, - SavingInfo, - ScrollingBase, - SearchPanel, - SelectedFilterOperation, - SelectionBase, - SelectionChangedInfo, - SelectionColumnDisplayMode, - Sorting, - StartEditAction, - StateStoreType, - StateStoring, - SummaryType, - ToolbarPreparingInfo, -} from "devextreme/common/grids"; diff --git a/packages/vue2-strategy/src/common/index.ts b/packages/vue2-strategy/src/common/index.ts deleted file mode 100644 index bd42a4a4bb97..000000000000 --- a/packages/vue2-strategy/src/common/index.ts +++ /dev/null @@ -1,67 +0,0 @@ -export { - ApplyValueMode, - AsyncRule, - ButtonStyle, - ButtonType, - CompareRule, - ComparisonOperator, - CustomRule, - DataStructure, - DataType, - Direction, - DragDirection, - Draggable, - DragHighlight, - EditorStyle, - EmailRule, - ExportFormat, - FieldChooserLayout, - FirstDayOfWeek, - Format, - GlobalConfig, - HorizontalAlignment, - HorizontalEdge, - LabelMode, - MaskMode, - Mode, - NumericRule, - Orientation, - PageLoadMode, - PageOrientation, - PatternRule, - Position, - PositionAlignment, - RangeRule, - RequiredRule, - Scrollable, - ScrollbarMode, - ScrollDirection, - ScrollMode, - SearchMode, - SelectAllMode, - SimplifiedSearchMode, - SingleMultipleAllOrNone, - SingleMultipleOrNone, - SingleOrMultiple, - SingleOrNone, - SliderValueChangeMode, - Sortable, - SortOrder, - StoreType, - StringLengthRule, - SubmenuShowMode, - TabsIconPosition, - TextBoxPredefinedButton, - TextEditorButton, - TextEditorButtonLocation, - ToolbarItemComponent, - ToolbarItemLocation, - TooltipShowMode, - ValidationCallbackData, - ValidationMessageMode, - ValidationRule, - ValidationRuleType, - ValidationStatus, - VerticalAlignment, - VerticalEdge, -} from "devextreme/common"; diff --git a/packages/vue2-strategy/src/context-menu.ts b/packages/vue2-strategy/src/context-menu.ts deleted file mode 100644 index 6ffcfcf4b2eb..000000000000 --- a/packages/vue2-strategy/src/context-menu.ts +++ /dev/null @@ -1,469 +0,0 @@ -export { ExplicitTypes } from "devextreme/ui/context_menu"; -import ContextMenu, { Properties } from "devextreme/ui/context_menu"; -import { createComponent } from "./core/index"; -import { createConfigurationComponent } from "./core/index"; - -type AccessibleOptions = Pick; - -interface DxContextMenu extends AccessibleOptions { - readonly instance?: ContextMenu; -} -const DxContextMenu = createComponent({ - props: { - accessKey: String, - activeStateEnabled: Boolean, - animation: Object, - closeOnOutsideClick: [Boolean, Function], - cssClass: String, - dataSource: {}, - disabled: Boolean, - disabledExpr: [Function, String], - displayExpr: [Function, String], - elementAttr: Object, - focusStateEnabled: Boolean, - height: [Function, Number, String], - hideOnOutsideClick: [Boolean, Function], - hint: String, - hoverStateEnabled: Boolean, - items: Array, - itemsExpr: [Function, String], - itemTemplate: {}, - onContentReady: Function, - onDisposing: Function, - onHidden: Function, - onHiding: Function, - onInitialized: Function, - onItemClick: Function, - onItemContextMenu: Function, - onItemRendered: Function, - onOptionChanged: Function, - onPositioning: Function, - onSelectionChanged: Function, - onShowing: Function, - onShown: Function, - position: Object, - rtlEnabled: Boolean, - selectByClick: Boolean, - selectedExpr: [Function, String], - selectedItem: {}, - selectionMode: String, - showEvent: [Object, String], - showSubmenuMode: [Object, String], - submenuDirection: String, - tabIndex: Number, - target: {}, - visible: Boolean, - width: [Function, Number, String] - }, - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:accessKey": null, - "update:activeStateEnabled": null, - "update:animation": null, - "update:closeOnOutsideClick": null, - "update:cssClass": null, - "update:dataSource": null, - "update:disabled": null, - "update:disabledExpr": null, - "update:displayExpr": null, - "update:elementAttr": null, - "update:focusStateEnabled": null, - "update:height": null, - "update:hideOnOutsideClick": null, - "update:hint": null, - "update:hoverStateEnabled": null, - "update:items": null, - "update:itemsExpr": null, - "update:itemTemplate": null, - "update:onContentReady": null, - "update:onDisposing": null, - "update:onHidden": null, - "update:onHiding": null, - "update:onInitialized": null, - "update:onItemClick": null, - "update:onItemContextMenu": null, - "update:onItemRendered": null, - "update:onOptionChanged": null, - "update:onPositioning": null, - "update:onSelectionChanged": null, - "update:onShowing": null, - "update:onShown": null, - "update:position": null, - "update:rtlEnabled": null, - "update:selectByClick": null, - "update:selectedExpr": null, - "update:selectedItem": null, - "update:selectionMode": null, - "update:showEvent": null, - "update:showSubmenuMode": null, - "update:submenuDirection": null, - "update:tabIndex": null, - "update:target": null, - "update:visible": null, - "update:width": null, - }, - computed: { - instance(): ContextMenu { - return (this as any).$_instance; - } - }, - beforeCreate() { - (this as any).$_WidgetClass = ContextMenu; - (this as any).$_expectedChildren = { - animation: { isCollectionItem: false, optionName: "animation" }, - item: { isCollectionItem: true, optionName: "items" }, - position: { isCollectionItem: false, optionName: "position" }, - showEvent: { isCollectionItem: false, optionName: "showEvent" }, - showSubmenuMode: { isCollectionItem: false, optionName: "showSubmenuMode" } - }; - } -}); - -const DxAnimation = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:hide": null, - "update:show": null, - }, - props: { - hide: [Object, Number, String], - show: [Object, Number, String] - } -}); -(DxAnimation as any).$_optionName = "animation"; -(DxAnimation as any).$_expectedChildren = { - hide: { isCollectionItem: false, optionName: "hide" }, - show: { isCollectionItem: false, optionName: "show" } -}; -const DxAt = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxAt as any).$_optionName = "at"; -const DxBoundaryOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxBoundaryOffset as any).$_optionName = "boundaryOffset"; -const DxCollision = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxCollision as any).$_optionName = "collision"; -const DxDelay = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:hide": null, - "update:show": null, - }, - props: { - hide: Number, - show: Number - } -}); -(DxDelay as any).$_optionName = "delay"; -const DxFrom = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxFrom as any).$_optionName = "from"; -(DxFrom as any).$_expectedChildren = { - position: { isCollectionItem: false, optionName: "position" } -}; -const DxHide = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxHide as any).$_optionName = "hide"; -(DxHide as any).$_expectedChildren = { - from: { isCollectionItem: false, optionName: "from" }, - to: { isCollectionItem: false, optionName: "to" } -}; -const DxItem = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:beginGroup": null, - "update:closeMenuOnClick": null, - "update:disabled": null, - "update:icon": null, - "update:items": null, - "update:selectable": null, - "update:selected": null, - "update:template": null, - "update:text": null, - "update:visible": null, - }, - props: { - beginGroup: Boolean, - closeMenuOnClick: Boolean, - disabled: Boolean, - icon: String, - items: Array, - selectable: Boolean, - selected: Boolean, - template: {}, - text: String, - visible: Boolean - } -}); -(DxItem as any).$_optionName = "items"; -(DxItem as any).$_isCollectionItem = true; -const DxMy = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: String, - y: String - } -}); -(DxMy as any).$_optionName = "my"; -const DxOffset = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:x": null, - "update:y": null, - }, - props: { - x: Number, - y: Number - } -}); -(DxOffset as any).$_optionName = "offset"; -const DxPosition = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:at": null, - "update:boundary": null, - "update:boundaryOffset": null, - "update:collision": null, - "update:my": null, - "update:of": null, - "update:offset": null, - }, - props: { - at: [Object, String], - boundary: {}, - boundaryOffset: [Object, String], - collision: [Object, String], - my: [Object, String], - of: {}, - offset: [Object, String] - } -}); -(DxPosition as any).$_optionName = "position"; -const DxShow = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:complete": null, - "update:delay": null, - "update:direction": null, - "update:duration": null, - "update:easing": null, - "update:from": null, - "update:staggerDelay": null, - "update:start": null, - "update:to": null, - "update:type": null, - }, - props: { - complete: Function, - delay: Number, - direction: String, - duration: Number, - easing: String, - from: Object, - staggerDelay: Number, - start: Function, - to: Object, - type: String - } -}); -(DxShow as any).$_optionName = "show"; -const DxShowEvent = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:delay": null, - "update:name": null, - }, - props: { - delay: Number, - name: String - } -}); -(DxShowEvent as any).$_optionName = "showEvent"; -const DxShowSubmenuMode = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:delay": null, - "update:name": null, - }, - props: { - delay: [Number, Object], - name: String - } -}); -(DxShowSubmenuMode as any).$_optionName = "showSubmenuMode"; -(DxShowSubmenuMode as any).$_expectedChildren = { - delay: { isCollectionItem: false, optionName: "delay" } -}; -const DxTo = createConfigurationComponent({ - emits: { - "update:isActive": null, - "update:hoveredElement": null, - "update:left": null, - "update:opacity": null, - "update:position": null, - "update:scale": null, - "update:top": null, - }, - props: { - left: Number, - opacity: Number, - position: Object, - scale: Number, - top: Number - } -}); -(DxTo as any).$_optionName = "to"; - -export default DxContextMenu; -export { - DxContextMenu, - DxAnimation, - DxAt, - DxBoundaryOffset, - DxCollision, - DxDelay, - DxFrom, - DxHide, - DxItem, - DxMy, - DxOffset, - DxPosition, - DxShow, - DxShowEvent, - DxShowSubmenuMode, - DxTo -}; -import type * as DxContextMenuTypes from "devextreme/ui/context_menu_types"; -export { DxContextMenuTypes }; diff --git a/packages/vue2-strategy/src/core/__mocks__/templates-discovering.ts b/packages/vue2-strategy/src/core/__mocks__/templates-discovering.ts deleted file mode 100644 index 052d6fe70e6a..000000000000 --- a/packages/vue2-strategy/src/core/__mocks__/templates-discovering.ts +++ /dev/null @@ -1 +0,0 @@ -export const discover = jest.fn(() => ({})); diff --git a/packages/vue2-strategy/src/core/__tests__/form.test.ts b/packages/vue2-strategy/src/core/__tests__/form.test.ts deleted file mode 100644 index 2f8aba958bc8..000000000000 --- a/packages/vue2-strategy/src/core/__tests__/form.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { mount } from "@vue/test-utils"; - -import { DxForm, DxItem } from "../../form"; - -jest.setTimeout(1000); -beforeEach(() => { - jest.clearAllMocks(); -}); - -describe("component rendering", () => { - - it("rendering with configuration options", () => { - const vm = { - template: - ` - - `, - data() { - return { - data: { name: "test" } - }; - }, - components: { - DxForm, - DxItem - } - }; - expect(() => mount(vm)).not.toThrow(""); - }); -}); diff --git a/packages/vue2-strategy/src/core/__tests__/helper.test.ts b/packages/vue2-strategy/src/core/__tests__/helper.test.ts deleted file mode 100644 index 09e4d1481888..000000000000 --- a/packages/vue2-strategy/src/core/__tests__/helper.test.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { getOptionValue } from "../helpers"; - -describe("getOptionValue", () => { - it("returns for simple option", () => { - const optionValue = getOptionValue({ test: "text" }, "test"); - - expect(optionValue).toEqual("text"); - }); - - it("returns for complex option", () => { - const optionValue = getOptionValue({ test: { value: "text" } }, "test"); - const optionValue1 = getOptionValue({ test: { value: "text" } }, "test.value"); - const optionValue2 = getOptionValue({ test: { value: "text" } }, "test1.value"); - - expect(optionValue).toEqual({ value: "text" }); - expect(optionValue1).toEqual("text"); - expect(optionValue2).toEqual(undefined); - }); - - it("returns for collection option", () => { - const value = [ - { text: "value1"}, - { text: "value2"}, - { text: "value3", - test: [{ - option: { - text: "value1" - } - }, { - text: "value2" - }] } - ]; - - const optionValue1 = getOptionValue({ test: value }, "test[1]"); - const optionValue2 = getOptionValue({ test: value }, "test"); - const optionValue3 = getOptionValue({ test: value }, "test[2].test[1]"); - const optionValue4 = getOptionValue({ test: value }, "test[2].test"); - const optionValue5 = getOptionValue({ test: value }, "test[2].test[0].option"); - const optionValue6 = getOptionValue({ test: value }, "test[2].test[0].option.text"); - - expect(optionValue1).toEqual({ text: "value2" }); - expect(optionValue2).toEqual(value); - expect(optionValue3).toEqual({ text: "value2" }); - expect(optionValue4).toEqual([{ - option: { text: "value1" } - }, { - text: "value2" - }]); - expect(optionValue5).toEqual({ text: "value1" }); - expect(optionValue6).toEqual("value1"); - }); - - it("returns for empty", () => { - const optionValue = getOptionValue({}, "test"); - const optionValue2 = getOptionValue({ test: [{ text: "value1" }] }, "test[1]"); - - expect(optionValue).toEqual(undefined); - expect(optionValue2).toEqual(undefined); - }); -}); diff --git a/packages/vue2-strategy/src/core/children-processing.ts b/packages/vue2-strategy/src/core/children-processing.ts deleted file mode 100644 index 1fd9244f864e..000000000000 --- a/packages/vue2-strategy/src/core/children-processing.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { VNode } from "vue"; -import Configuration from "./configuration"; -import { IConfigurable, IConfigurationComponent } from "./configuration-component"; - -function pullAllChildren(directChildren: VNode[], allChildren: VNode[], config: Configuration): void { - if (!directChildren || directChildren.length === 0) { return; } - - pullConfigComponents(directChildren, allChildren, config); -} - -function pullConfigComponents(children: VNode[], nodes: VNode[], ownerConfig: Configuration): void { - - children.forEach((node) => { - nodes.push(node); - if (!node.componentOptions) { return; } - - const configComponent = node.componentOptions.Ctor as any as IConfigurationComponent; - if (!configComponent.$_optionName) { return; } - - const initialValues = { - ...configComponent.$_predefinedProps, - ...node.componentOptions.propsData - }; - - const config = ownerConfig.createNested( - configComponent.$_optionName, - initialValues, - configComponent.$_isCollectionItem, - configComponent.$_expectedChildren - ); - - (node.componentOptions as any as IConfigurable).$_config = config; - (node.componentOptions as any as IConfigurable).$_innerChanges = {}; - - if (node.componentOptions.children) { - pullConfigComponents(node.componentOptions.children as VNode[], nodes, config); - } - }); -} - -export { - pullAllChildren -}; diff --git a/packages/vue2-strategy/src/core/component.test.ts b/packages/vue2-strategy/src/core/component.test.ts deleted file mode 100644 index 6b18ee31df49..000000000000 --- a/packages/vue2-strategy/src/core/component.test.ts +++ /dev/null @@ -1,2005 +0,0 @@ -import * as VueType from "vue"; -import { DxComponent, IWidgetComponent } from "./component"; -import { DxConfiguration, IConfigurable, IConfigurationComponent } from "./configuration-component"; -import { DxExtensionComponent } from "./extension-component"; - -import * as events from "devextreme/events"; - -import { mount } from "@vue/test-utils"; - -const Vue = VueType.default || VueType; - -const eventHandlers: { [index: string]: (e?: any) => void } = {}; -const Widget = { - option: jest.fn(), - resetOption: jest.fn(), - dispose: jest.fn(), - on: (event: string, handler: (e: any) => void) => { - eventHandlers[event] = handler; - }, - fire: (event: string, args: any) => { - if (!eventHandlers[event]) { - throw new Error(`no handler registered for '${event}'`); - } - eventHandlers[event](args); - }, - beginUpdate: jest.fn(), - endUpdate: jest.fn(), -}; - -function createWidget(_, options) { - if (options.onInitializing) { - options.onInitializing.call(Widget); - } - return Widget; -} -const WidgetClass = jest.fn(createWidget); - -const TestComponent = Vue.extend({ - extends: DxComponent(), - beforeCreate() { - (this as any as IWidgetComponent).$_WidgetClass = WidgetClass; - }, - props: { - prop1: Number, - templateName: String - }, - model: { - prop: "prop1", - event: "update:prop1" - } -}); - -function skipIntegrationOptions(options: { - integrationOptions?: object, - onInitializing?: () => void -}): Record { - const result = {...options }; - delete result.integrationOptions; - delete result.onInitializing; - return result; -} - -function buildTestConfigCtor(): VueType.VueConstructor { - return Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - prop2: String - } - }); -} - -jest.setTimeout(1000); -beforeEach(() => { - jest.clearAllMocks(); -}); - -describe("component rendering", () => { - - it("correctly renders", () => { - const vm = new TestComponent().$mount(); - expect(vm.$el.outerHTML).toBe("
"); - }); - - it("calls widget creation", () => { - new TestComponent().$mount(); - expect(WidgetClass).toHaveBeenCalledTimes(1); - expect(Widget.beginUpdate).toHaveBeenCalledTimes(1); - expect(Widget.endUpdate).toHaveBeenCalledTimes(1); - }); - - it("component has disabled inheritAttrs", () => { - const component = new TestComponent(); - expect(component.$options.inheritAttrs).toBe(false); - }); - - it("passes id to element", () => { - const vm = new Vue({ - template: "", - components: { - TestComponent - } - }).$mount(); - - expect(vm.$el.id).toBe("my-id"); - }); - - it("creates nested component", () => { - new Vue({ - template: "", - components: { - TestComponent - } - }).$mount(); - - expect(WidgetClass.mock.instances.length).toBe(2); - expect(WidgetClass.mock.instances[1]).toEqual({}); - }); -}); - -describe("options", () => { - - it("watch prop changing to undefined", (done) => { - - const wrapper = mount(TestComponent, {props: ["sampleProp"], - propsData: { - sampleProp: "default" - }}); - - (wrapper.vm as any).$_config.updateValue = jest.fn(); - wrapper.setProps({ sampleProp: undefined }); - - Vue.nextTick(() => { - expect((wrapper.vm as any as IConfigurable).$_config.updateValue).toBeCalled(); - done(); - }); - }); - - it("pass props to option on mounting", () => { - const vm = new TestComponent({ - propsData: { - sampleProp: "default" - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - sampleProp: "default" - }); - }); - - it("pass the same template name as in props", () => { - const vm = new Vue({ - template: - ` - - `, - components: { - TestComponent - } - }); - - vm.$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - templateName: "myTemplate" - }); - }); - - it("pass template name as default", () => { - const vm = new Vue({ - template: - ` - - `, - components: { - TestComponent - } - }); - vm.$mount(); - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$el); - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - templateName: "templateName" - }); - }); - - it("subscribes to optionChanged", () => { - new TestComponent({ - props: ["sampleProp"] - }).$mount(); - - expect(eventHandlers).toHaveProperty("optionChanged"); - }); - - it("watch prop changing", () => { - const wrapper = mount(TestComponent, {props: ["sampleProp"], - propsData: { - sampleProp: "default" - }}); - wrapper.setProps({ sampleProp: "new" }); - - expect(Widget.option).toHaveBeenCalledTimes(1); - expect(Widget.option).toHaveBeenCalledWith("sampleProp", "new"); - }); - - it("watch array prop changing", (done) => { - const arrayValue = [{ text: "text" }]; - new TestComponent({ - props: ["sampleProp"], - propsData: { - sampleProp: arrayValue - } - }).$mount(); - const valueChangedCallback = jest.fn(); - WidgetClass.mock.calls[0][1].integrationOptions.watchMethod(() => { - return arrayValue[0].text; - }, valueChangedCallback); - - expect(valueChangedCallback).toHaveBeenCalledTimes(1); - expect(valueChangedCallback.mock.calls[0][0]).toBe("text"); - - arrayValue[0].text = "changedText"; - Vue.nextTick(() => { - expect(valueChangedCallback).toHaveBeenCalledTimes(2); - expect(valueChangedCallback.mock.calls[1][0]).toBe("changedText"); - done(); - }); - }); - - it("watch array prop changing with Date", (done) => { - const date = new Date(2018, 11, 11); - const arrayValue = [{ date }]; - new TestComponent({ - props: ["sampleProp"], - propsData: { - sampleProp: arrayValue - } - }).$mount(); - const valueChangedCallback = jest.fn(); - WidgetClass.mock.calls[0][1].integrationOptions.watchMethod(() => { - return arrayValue[0].date; - }, valueChangedCallback); - - expect(valueChangedCallback).toHaveBeenCalledTimes(1); - expect(valueChangedCallback.mock.calls[0][0]).toBe(date); - - arrayValue[0].date = new Date(2018, 11, 11); - Vue.nextTick(() => { - expect(valueChangedCallback).toHaveBeenCalledTimes(1); - expect(valueChangedCallback.mock.calls[0][0]).toBe(date); - - arrayValue[0].date = new Date(2018, 11, 12); - Vue.nextTick(() => { - expect(valueChangedCallback).toHaveBeenCalledTimes(2); - expect(valueChangedCallback.mock.calls[1][0]).toEqual(new Date(2018, 11, 12)); - done(); - }); - }); - }); - - it("watch array prop changing (deep)", (done) => { - const arrayValue = [{ - data: { - text: "text" - } - }]; - new TestComponent({ - props: ["sampleProp"], - propsData: { - sampleProp: arrayValue - } - }).$mount(); - const valueChangedCallback = jest.fn(); - WidgetClass.mock.calls[0][1].integrationOptions.watchMethod(() => { - return arrayValue[0].data; - }, valueChangedCallback, { - deep: true - }); - expect(valueChangedCallback).toHaveBeenCalledTimes(1); - expect(valueChangedCallback.mock.calls[0][0]).toEqual({ text: "text" }); - - arrayValue[0].data.text = "changedText"; - - Vue.nextTick(() => { - expect(valueChangedCallback).toHaveBeenCalledTimes(2); - expect(valueChangedCallback.mock.calls[0][0]).toEqual({ text: "changedText" }); - done(); - }); - }); - - it("watch array prop changing (skipImmediate)", (done) => { - const arrayValue = [{ - text: "text" - }]; - new TestComponent({ - props: ["sampleProp"], - propsData: { - sampleProp: arrayValue - } - }).$mount(); - const valueChangedCallback = jest.fn(); - WidgetClass.mock.calls[0][1].integrationOptions.watchMethod(() => { - return arrayValue[0].text; - }, valueChangedCallback, { - skipImmediate: true - }); - expect(valueChangedCallback).toHaveBeenCalledTimes(0); - - arrayValue[0].text = "changedText"; - - Vue.nextTick(() => { - expect(valueChangedCallback).toHaveBeenCalledTimes(1); - expect(valueChangedCallback.mock.calls[0][0]).toEqual("changedText"); - done(); - }); - }); -}); - -describe("configuration", () => { - - const Nested = buildTestConfigCtor(); - (Nested as any as IConfigurationComponent).$_optionName = "nestedOption"; - - it("creates configuration", () => { - const vm = new TestComponent(); - - expect((vm as unknown as IConfigurable).$_config).not.toBeNull(); - }); - - it("passes configuration initialValues to widget ctor", () => { - const initialValues = { - a: {}, - b: { - c: { - d: {} - } - } - }; - - const vm = new TestComponent(); - (vm as unknown as IConfigurable).$_config = { - getNestedOptionValues: jest.fn(() => initialValues), - getOptionsToWatch: jest.fn() - } as any; - - vm.$mount(); - - expect(WidgetClass).toHaveBeenCalledTimes(1); - expect(WidgetClass.mock.calls[0][1].a).toBe(initialValues.a); - expect(WidgetClass.mock.calls[0][1].b).toBe(initialValues.b); - expect(WidgetClass.mock.calls[0][1].b.c).toBe(initialValues.b.c); - expect(WidgetClass.mock.calls[0][1].b.c.d).toBe(initialValues.b.c.d); - }); - - it("updates pendingOptions from a widget component configuration updateFunc", () => { - const vm = new TestComponent(); - vm.$mount(); - - const pendingOptions = (vm as unknown as IWidgetComponent).$_pendingOptions; - - const name = "abc"; - const value = {}; - - (vm as unknown as IConfigurable).$_config.updateFunc(name, value); - expect(pendingOptions[name]).toEqual(value); - }); - - it("initializes nested config", () => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(1); - expect(config.nested[0].name).toBe("nestedOption"); - expect(config.nested[0].options).toEqual(["prop1", "prop2"]); - expect(config.nested[0].initialValues).toEqual({ prop1: 123 }); - expect(config.nested[0].isCollectionItem).toBeFalsy(); - }); - - it("initializes nested config (collectionItem)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(1); - expect(config.nested[0].name).toBe("nestedOption"); - expect(config.nested[0].options).toEqual(["prop1", "prop2"]); - expect(config.nested[0].initialValues).toEqual({ prop1: 123 }); - expect(config.nested[0].isCollectionItem).toBeTruthy(); - expect(config.nested[0].collectionItemIndex).toBe(0); - }); - - it("initializes nested config (several collectionItems)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(3); - - expect(config.nested[0].name).toBe("nestedOption"); - expect(config.nested[0].options).toEqual(["prop1", "prop2"]); - expect(config.nested[0].initialValues).toEqual({ prop1: 123 }); - expect(config.nested[0].isCollectionItem).toBeTruthy(); - expect(config.nested[0].collectionItemIndex).toBe(0); - - expect(config.nested[1].name).toBe("nestedOption"); - expect(config.nested[1].options).toEqual(["prop1", "prop2"]); - expect(config.nested[1].initialValues).toEqual({ prop1: 456, prop2: "abc" }); - expect(config.nested[1].isCollectionItem).toBeTruthy(); - expect(config.nested[1].collectionItemIndex).toBe(1); - - expect(config.nested[2].name).toBe("nestedOption"); - expect(config.nested[2].options).toEqual(["prop1", "prop2"]); - expect(config.nested[2].initialValues).toEqual({ prop2: "def" }); - expect(config.nested[2].isCollectionItem).toBeTruthy(); - expect(config.nested[2].collectionItemIndex).toBe(2); - }); - - it("initializes nested config predefined prop", () => { - const predefinedValue = {}; - const NestedWithPredefined = buildTestConfigCtor(); - (NestedWithPredefined as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedWithPredefined as any as IConfigurationComponent).$_predefinedProps = { - predefinedProp: predefinedValue - }; - - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - NestedWithPredefined - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - const initialValues = config.getNestedOptionValues(); - expect(initialValues).toHaveProperty("nestedOption"); - expect(initialValues!.nestedOption).toHaveProperty("predefinedProp"); - expect(initialValues!.nestedOption!.predefinedProp).toBe(predefinedValue); - }); - - it("initializes sub-nested config", () => { - const SubNested = buildTestConfigCtor(); - (SubNested as any as IConfigurationComponent).$_optionName = "subNestedOption"; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - SubNested - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(1); - - const nestedConfig = config.nested[0]; - expect(nestedConfig.nested).toHaveLength(1); - - expect(nestedConfig.nested[0].name).toBe("subNestedOption"); - expect(nestedConfig.nested[0].options).toEqual(["prop1", "prop2"]); - expect(nestedConfig.nested[0].initialValues).toEqual({ prop2: "abc" }); - expect(nestedConfig.nested[0].isCollectionItem).toBeFalsy(); - }); - - it("initializes sub-nested config (collectionItem)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "subNestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - NestedCollectionItem - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(1); - - const nestedConfig = config.nested[0]; - expect(nestedConfig.nested).toHaveLength(1); - - expect(nestedConfig.nested[0].name).toBe("subNestedOption"); - expect(nestedConfig.nested[0].options).toEqual(["prop1", "prop2"]); - expect(nestedConfig.nested[0].initialValues).toEqual({ prop1: 123 }); - expect(nestedConfig.nested[0].isCollectionItem).toBeTruthy(); - expect(nestedConfig.nested[0].collectionItemIndex).toBe(0); - }); - - it("initializes sub-nested config (multiple collectionItems)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "subNestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - NestedCollectionItem - } - }).$mount(); - - const config = (vm.$children[0] as any as IConfigurable).$_config; - expect(config.nested).toHaveLength(1); - - const nestedConfig = config.nested[0]; - expect(nestedConfig.nested).toHaveLength(3); - - expect(nestedConfig.nested[0].name).toBe("subNestedOption"); - expect(nestedConfig.nested[0].options).toEqual(["prop1", "prop2"]); - expect(nestedConfig.nested[0].initialValues).toEqual({ prop1: 123 }); - expect(nestedConfig.nested[0].isCollectionItem).toBeTruthy(); - expect(nestedConfig.nested[0].collectionItemIndex).toBe(0); - - expect(nestedConfig.nested[1].name).toBe("subNestedOption"); - expect(nestedConfig.nested[1].options).toEqual(["prop1", "prop2"]); - expect(nestedConfig.nested[1].initialValues).toEqual({ prop1: 456, prop2: "abc" }); - expect(nestedConfig.nested[1].isCollectionItem).toBeTruthy(); - expect(nestedConfig.nested[1].collectionItemIndex).toBe(1); - - expect(nestedConfig.nested[2].name).toBe("subNestedOption"); - expect(nestedConfig.nested[2].options).toEqual(["prop1", "prop2"]); - expect(nestedConfig.nested[2].initialValues).toEqual({ prop2: "def" }); - expect(nestedConfig.nested[2].isCollectionItem).toBeTruthy(); - expect(nestedConfig.nested[2].collectionItemIndex).toBe(2); - }); - - describe("expectedChildren", () => { - - it("initialized for widget component", () => { - const expected = {}; - - const WidgetComponent = Vue.extend({ - extends: DxComponent(), - beforeCreate() { - (this as any as IWidgetComponent).$_WidgetClass = WidgetClass; - (this as any as IWidgetComponent).$_expectedChildren = expected; - } - }); - - const vm = new WidgetComponent(); - - expect((vm as unknown as IWidgetComponent).$_config.expectedChildren).toBe(expected); - }); - - it("initialized for config component", () => { - const expected = {}; - - const ConfigComponent = buildTestConfigCtor(); - (ConfigComponent as any as IConfigurationComponent).$_optionName = "nestedOption"; - (ConfigComponent as any as IConfigurationComponent).$_expectedChildren = expected; - - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - ConfigComponent - } - }).$mount(); - - const widgetConfig = (vm.$children[0] as any as IConfigurable).$_config; - expect(widgetConfig.nested[0].expectedChildren).toBe(expected); - }); - }); - -}); - -describe("nested option", () => { - - const Nested = buildTestConfigCtor(); - (Nested as any as IConfigurationComponent).$_optionName = "nestedOption"; - - it("pulls initital values", () => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$children[0].$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - nestedOption: { - prop1: 123 - } - }); - }); - - it("pulls initital values (collectionItem)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$children[0].$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - nestedOption: [{ - prop1: 123 - }] - }); - }); - - it("pulls initital values (subnested)", () => { - const SubNested = buildTestConfigCtor(); - (SubNested as any as IConfigurationComponent).$_optionName = "subNestedOption"; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - SubNested - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$children[0].$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - nestedOption: { - prop1: 123, - subNestedOption: { - prop2: "abc" - } - } - }); - }); - - it("pulls initital values (subnested collectionItem)", () => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "subNestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - NestedCollectionItem - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][0]).toBe(vm.$children[0].$el); - - expect(skipIntegrationOptions(WidgetClass.mock.calls[0][1])).toEqual({ - nestedOption: { - prop1: 123, - subNestedOption: [{ - prop2: "abc" - }] - } - }); - }); - - it("watches option changes", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - vm.$props.value = 456; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledTimes(1); - expect(Widget.option).toHaveBeenCalledWith("nestedOption.prop1", 456); - done(); - }); - }); - - it("should initialize watchers once", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - const nestedConfig = (vm.$children[0] as any ).$children[0].$vnode; - const expected = nestedConfig.componentInstance._watcher.id; - - vm.$props.value = 456; - - Vue.nextTick(() => { - expect(nestedConfig.componentInstance._watcher.id).toEqual(expected); - done(); - }); - }); - - it("should reinit binding and optionChanged functions for nested components after changes", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - data() { - return { - value: 123 - }; - } - }).$mount(); - - vm.$data.value = 456; - - Vue.nextTick(() => { - const nestedConfig = (vm.$children[0] as any ).$children[0].$vnode.componentOptions.$_config; - expect(nestedConfig._emitOptionChanged).toBeDefined(); - expect(nestedConfig._options).toBeDefined(); - expect(Widget.option).toHaveBeenCalledWith("nestedOption.prop1", 456); - done(); - }); - }); - - it("component shouldn't emit update for the same value (v-model)", (done) => { - const vm = new Vue({ - template: - `` + - ``, - components: { - TestComponent - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - const $emitSpy = jest.spyOn(vm.$children[0], "$emit"); - - Widget.fire("optionChanged", { name: "prop1", fullName: "prop1", value: 456, previousValue: 123 }); - - Vue.nextTick(() => { - Widget.fire("optionChanged", { name: "prop1", fullName: "prop1", value: 456, previousValue: 123 }); - - expect(vm.$props.value).toBe(456); - expect($emitSpy).toHaveBeenCalledTimes(1); - done(); - }); - }); - - it("component shouldn't set option if option already set (v-model)", (done) => { - new Vue({ - template: - `` + - ``, - components: { - TestComponent - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - Widget.fire("optionChanged", { name: "prop1", fullName: "prop1", value: 456, previousValue: 123 }); - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledTimes(0); - done(); - }); - }); - - it("add nested component by condition", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - data: { - showNest: false - } - }).$mount(); - - vm.$data.showNest = true; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledWith("nestedOption", { prop1: 123 }); - done(); - }); - }); - - it("remove nested component by condition", (done) => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledWith("nestedOption", [{ prop1: 321 }]); - done(); - }); - }); - - it("should update only part of collection components", (done) => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.option) - .toHaveBeenCalledWith("nestedOption[0].nestedOption[0].nestedOption", [{ prop1: 321 }]); - done(); - }); - }); - - it("should update only part of collection components (remove all subnested)", (done) => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledWith("nestedOption[0].nestedOption[0].nestedOption", undefined); - done(); - }); - }); - - it("replace and add new property", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledWith("nestedOption.prop2", "text"); - done(); - }); - }); - - it("replace and update property", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledWith("nestedOption.prop1", 321); - done(); - }); - }); - - it("reset nested component", (done) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - }, - data: { - showNest: true - } - }).$mount(); - - vm.$data.showNest = false; - - Vue.nextTick(() => { - expect(Widget.resetOption).toHaveBeenCalledWith("nestedOption"); - done(); - }); - }); - - it("watches option changes (collectionItem)", (done) => { - const NestedCollectionItem = buildTestConfigCtor(); - (NestedCollectionItem as any as IConfigurationComponent).$_optionName = "nestedOption"; - (NestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - NestedCollectionItem - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - vm.$props.value = 456; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledTimes(1); - expect(Widget.option).toHaveBeenCalledWith("nestedOption[0].prop1", 456); - done(); - }); - }); - - it("watches option changes (subnested)", (done) => { - const SubNested = buildTestConfigCtor(); - (SubNested as any as IConfigurationComponent).$_optionName = "subNestedOption"; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - SubNested - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - vm.$props.value = 456; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledTimes(1); - expect(Widget.option).toHaveBeenCalledWith("nestedOption.subNestedOption.prop1", 456); - done(); - }); - }); - - it("watches option changes (subnested collectionItem)", (done) => { - const SubNestedCollectionItem = buildTestConfigCtor(); - (SubNestedCollectionItem as any as IConfigurationComponent).$_optionName = "subNestedOption"; - (SubNestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - SubNestedCollectionItem - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - vm.$props.value = 456; - - Vue.nextTick(() => { - expect(Widget.option).toHaveBeenCalledTimes(1); - expect(Widget.option).toHaveBeenCalledWith("nestedOption.subNestedOption[0].prop1", 456); - done(); - }); - }); - - it.skip("is not duplicated on rerender", (cb) => { - const vm = new Vue({ - template: - `` + - ` ` + - ``, - components: { - TestComponent, - Nested - } - }).$mount(); - const config = (vm.$children[0] as any as IConfigurable).$_config; - - vm.$forceUpdate(); - - Vue.nextTick(() => { - try { - expect(config.nested).toHaveLength(1); - } catch (e) { - cb.fail(e); - } - cb(); - }); - }); - - it("removes obstructive nodes before widget creation (T711311)", () => { - const SubNestedCollectionItem = buildTestConfigCtor(); - (SubNestedCollectionItem as any as IConfigurationComponent).$_optionName = "subNestedOption"; - (SubNestedCollectionItem as any as IConfigurationComponent).$_isCollectionItem = true; - - let innerHtml; - WidgetClass.mockImplementationOnce((element: HTMLElement, options: any) => { - innerHtml = element.innerHTML; - return createWidget(element, options); - }); - - new Vue({ - template: - `` + - ` ` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested, - SubNestedCollectionItem - }, - }).$mount(); - - expect(innerHtml).toBe(""); - }); - - it("restore nodes after widget creation (T800987)", () => { - const vm = new Vue({ - template: - `` + - ` ` + - ` ` + - ``, - components: { - TestComponent, - Nested - } - }).$mount(); - - expect(vm.$el.childNodes.length).toBe(3); - }); -}); - -function renderTemplate(name: string, model?: object, container?: any, index?: number): Element { - model = model || {}; - container = container || document.createElement("div"); - const render = WidgetClass.mock.calls[0][1].integrationOptions.templates[name].render; - return render({ - container, - model, - index - }); -} - -describe("template", () => { - - const DX_TEMPLATE_WRAPPER = "dx-template-wrapper"; - const componentWithTemplate = Vue.extend({ - template: ` - - `, - components: { - TestComponent - }, - props: ["renderTemplate", "prop1Value"] - }); - - function renderItemTemplate(model?: object, container?: any, index?: number): Element { - return renderTemplate("item", model, container, index); - } - - it("passes integrationOptions to widget", () => { - new Vue({ - template: ` -
1
-
1
-
1
-
`, - components: { - TestComponent - } - }).$mount(); - const integrationOptions = WidgetClass.mock.calls[0][1].integrationOptions; - - expect(integrationOptions).toBeDefined(); - expect(integrationOptions.templates).toBeDefined(); - - expect(integrationOptions.templates.item).toBeDefined(); - expect(typeof integrationOptions.templates.item.render).toBe("function"); - - expect(integrationOptions.templates.content).toBeDefined(); - expect(typeof integrationOptions.templates.content.render).toBe("function"); - - expect(integrationOptions.templates.default).toBeUndefined(); - }); - - it("passes 'integrationOptions.templates' on update", () => { - const wrapper = mount(componentWithTemplate, { - propsData: { - renderTemplate: false, - prop1Value: 1 - } - }); - - wrapper.setProps({ - renderTemplate: true - }); - - expect(Widget.option.mock.calls[0][0]).toEqual("integrationOptions.templates"); - expect(Widget.option.mock.calls[0][1].test.render).toBeInstanceOf(Function); - }); - - it("passes 'integrationOptions.templates' on update before other options", () => { - const wrapper = mount(componentWithTemplate, { - propsData: { - renderTemplate: false, - prop1Value: 1 - } - }); - - wrapper.setProps({ - renderTemplate: true, - prop1Value: 2 - }); - - expect(Widget.option.mock.calls[0][0]).toEqual("integrationOptions.templates"); - expect(Widget.option.mock.calls[1]).toEqual([ "test", "test" ]); - expect(Widget.option.mock.calls[2]).toEqual([ "prop1", 2 ]); - }); - - it("does not unnecessarily pass 'integrationOptions.templates'", () => { - const wrapper = mount(componentWithTemplate, { - propsData: { - renderTemplate: true, - prop1Value: 1 - } - }); - - wrapper.setProps({ - prop1Value: 2 - }); - - wrapper.setProps({ - prop1Value: 3 - }); - - expect( - Widget.option.mock.calls.find((call) => call[0] === "integrationOptions.templates") - ).toBeUndefined(); - }); - - it("renders", () => { - new Vue({ - template: ` -
Template
-
`, - components: { - TestComponent - } - }).$mount(); - const renderedTemplate = renderItemTemplate(); - - expect(renderedTemplate.nodeName).toBe("DIV"); - expect(renderedTemplate.className).toBe(DX_TEMPLATE_WRAPPER); - expect(renderedTemplate.innerHTML).toBe("Template"); - }); - - it("renders scoped slot", () => { - new Vue({ - template: ` -
- Template {{text}} and index {{index}} -
-
`, - components: { - TestComponent - } - }).$mount(); - const renderedTemplate = renderItemTemplate({ text: "with data" }, undefined, 5); - expect(renderedTemplate.innerHTML).toContain("Template with data and index 5"); - }); - - it("adds templates as children", () => { - const vm = new Vue({ - template: ` -
Template
-
`, - components: { - TestComponent - } - }).$mount(); - renderItemTemplate({}); - - const component: any = vm.$refs.component; - expect(component.$children.length).toBe(1); - }); - - it("updates templates on component updating (check via functional component inside)", () => { - expect.assertions(2); - const FunctionalComponent = Vue.extend({ - functional: true, - render(h) { - expect(true).toBeTruthy(); - return h("div"); - } - }); - const vm = new Vue({ - template: ` -
-
`, - components: { - TestComponent, - FunctionalComponent - } - }).$mount(); - renderItemTemplate({}); - - const component: any = vm.$refs.component; - component.$forceUpdate(); - }); - - it("unwraps container", () => { - new Vue({ - template: ` -
Template {{data.text}}
-
`, - components: { - TestComponent - } - }).$mount(); - const renderedTemplate = renderItemTemplate( - { text: "with data" }, - { get: () => document.createElement("div") } - ); - - expect(renderedTemplate.nodeName).toBe("DIV"); - expect(renderedTemplate.innerHTML).toBe("Template with data"); - }); - - it("preserves classes", () => { - new Vue({ - template: ` -
-
`, - components: { - TestComponent - } - }).$mount(); - const renderedTemplate = renderItemTemplate({}); - - expect(renderedTemplate.className).toBe(`custom-class ${DX_TEMPLATE_WRAPPER}`); - }); - - it("preserves custom-attrs", () => { - new Vue({ - template: ` -
-
`, - components: { - TestComponent - } - }).$mount(); - const renderedTemplate = renderItemTemplate({}); - - expect(renderedTemplate.attributes).toHaveProperty("custom-attr"); - expect(renderedTemplate.attributes["custom-attr"].value).toBe("123"); - }); - - it("doesn't throw on dxremove", () => { - new Vue({ - template: ` -
Template {{props.text}}
-
`, - components: { - TestComponent - } - }).$mount(); - - const renderedTemplate = renderItemTemplate({ text: "with data" }); - - expect(() => events.triggerHandler(renderedTemplate, "dxremove")).not.toThrow(); - }); - - it("unmounts template with root element node", () => { - const vm = new Vue({ - template: ` -
Template {{props.text}}
-
`, - components: { - TestComponent - } - }).$mount(); - - const container = document.createElement("div"); - renderItemTemplate({ text: "with data" }, container); - events.triggerHandler(container.children[0], "dxremove"); - - expect(vm.$children[0].$children.length).toEqual(0); - }); - - it("unmounts template with root text node", () => { - const vm = new Vue({ - template: ` - - `, - components: { - TestComponent - } - }).$mount(); - - const container = document.createElement("div"); - renderItemTemplate({ text: "with data" }, container); - events.triggerHandler(container.children[0], "dxremove"); - - expect(vm.$children[0].$children.length).toEqual(0); - }); - - it("destroyed component should remove subscriptions", (done) => { - const vm = new Vue({ - template: ` - - `, - components: { - TestComponent - }, - props: ["value"], - propsData: { - value: 123 - } - }).$mount(); - - const container = document.createElement("div"); - renderItemTemplate({ text: "with data" }, container); - events.triggerHandler(container.children[0], "dxremove"); - renderItemTemplate({ text: "with data" }, container); - - const subscriptions = (vm.$children[0] as any).eventBus._events; - - for (const subscription of subscriptions) { - expect(subscription.length).toBe(1); - } - - done(); - }); - - describe("with DOM", () => { - let fixture; - - beforeEach(() => { - fixture = document.createElement("div"); - document.body.appendChild(fixture); - }); - - afterEach(() => { - fixture.remove(); - }); - - it("template content should be rendered in DOM", () => { - let mountedInDom; - const ChildComponent = Vue.extend({ - template: "
", - mounted() { - mountedInDom = document.body.contains(this.$el); - } - }); - const instance = new Vue({ - el: fixture, - template: ` -
- -
`, - components: { - TestComponent, - ChildComponent - } - }).$mount(); - - renderTemplate("tmpl", {}, instance.$el.querySelector(".template-container")); - - expect(mountedInDom).toBeTruthy(); - }); - }); -}); - -describe("static items", () => { - it("passes integrationOptions to widget", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - new Vue({ - template: ` - -
1
-
-
`, - components: { - TestComponent, - NestedItem - } - }).$mount(); - const integrationOptions = WidgetClass.mock.calls[0][1].integrationOptions; - - expect(integrationOptions).toBeDefined(); - expect(integrationOptions.templates).toBeDefined(); - - expect(integrationOptions.templates["items[0].template"]).toBeDefined(); - expect(typeof integrationOptions.templates["items[0].template"].render).toBe("function"); - }); - - it("passes configuration component updates before templates", (done) => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const vm = new Vue({ - template: ` - - - - `, - components: { - TestComponent, - NestedItem - }, - data: { - renderTemplate: false, - prop1Value: 1 - } - }).$mount(); - - vm.$data.renderTemplate = true; - vm.$data.prop1Value = 2; - - Vue.nextTick(() => { - expect(Widget.option.mock.calls[0][0]).toEqual("items"); - expect(Widget.option.mock.calls[1][0]).toEqual("integrationOptions.templates"); - expect(Widget.option.mock.calls[2][0]).toEqual("items[0].template"); - expect(Widget.option.mock.calls[3][0]).toEqual("prop1"); - done(); - }); - }); - - it("doesn't pass integrationOptions to widget if template prop is absent", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - new Vue({ - template: ` - -
1
-
-
`, - components: { - TestComponent, - NestedItem - } - }).$mount(); - const integrationOptions = WidgetClass.mock.calls[0][1].integrationOptions; - - expect(integrationOptions).toBeDefined(); - expect(integrationOptions.templates).toBeUndefined(); - }); - - it("renders", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - new Vue({ - template: ` - -
1
-
-
`, - components: { - TestComponent, - NestedItem - } - }).$mount(); - - const renderedTemplate = renderTemplate("items[0].template"); - - expect(renderedTemplate.innerHTML).toBe("1"); - }); - - it("renders template containing text only (vue 3)", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "item"; - - new Vue({ - template: ` - - - - `, - components: { - TestComponent, - NestedItem - } - }).$mount(); - - const renderedTemplate = renderTemplate("item.template"); - - expect(renderedTemplate.textContent).toBe("abc"); - }); - - it("renders template with several root elements (vue 3)", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "item"; - - expect( () => - new Vue({ - template: ` - - - - `, - components: { - TestComponent, - NestedItem - } - }).$mount() - ); - }); - - it("renders template with single root element (vue 3)", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "item"; - - new Vue({ - template: ` - - - - `, - components: { - TestComponent, - NestedItem - } - }).$mount(); - - const renderedTemplate = renderTemplate("item.template"); - - expect(renderedTemplate.innerHTML).toBe("abc"); - }); - - it("keeps template root element class and id (vue 3)", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "item"; - - new Vue({ - template: ` - - - - `, - components: { - TestComponent, - NestedItem - } - }).$mount(); - - const renderedTemplate = renderTemplate("item.template"); - - expect(renderedTemplate.outerHTML) - .toBe(`

abc

`); - }); - - it("render nested template", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - new Vue({ - template: ` - -
1
- -
2
-
-
-
`, - components: { - TestComponent, - NestedItem - } - }).$mount(); - - const renderedTemplate = renderTemplate("items[0].template"); - const renderedNestedTemplate = renderTemplate("items[0].items[0].template"); - - expect(renderedTemplate.innerHTML).toBe("1"); - expect(renderedNestedTemplate.innerHTML).toBe("2"); - }); - - it("doesn't pass integrationOptions to widget if nested item has sub nested item", () => { - const NestedItem = Vue.extend({ - extends: DxConfiguration(), - props: { - prop1: Number, - template: String - } - }); - (NestedItem as any as IConfigurationComponent).$_optionName = "items"; - (NestedItem as any as IConfigurationComponent).$_isCollectionItem = true; - - const SubNested = buildTestConfigCtor(); - (SubNested as any as IConfigurationComponent).$_optionName = "subNestedOption"; - - new Vue({ - template: ` - - - - `, - components: { - TestComponent, - SubNested, - NestedItem - } - }).$mount(); - - expect(WidgetClass.mock.calls[0][1].integrationOptions.templates).toBeUndefined(); - }); -}); - -describe("events emitting", () => { - - it("forwards DevExtreme events in camelCase", () => { - const expectedArgs = {}; - const parent = new Vue({ - template: "", - components: { TestComponent } - }).$mount(); - const $emitSpy = jest.spyOn(parent.$children[0], "$emit"); - - Widget.fire("testEventName", expectedArgs); - - expect($emitSpy).toHaveBeenCalledTimes(1); - expect($emitSpy.mock.calls[0][0]).toBe("testEventName"); - expect($emitSpy.mock.calls[0][1]).toBe(expectedArgs); - }); - - it("forwards DevExtreme events in kebab-case", () => { - const expectedArgs = {}; - const parent = new Vue({ - template: "", - components: { TestComponent } - }).$mount(); - const $emitSpy = jest.spyOn(parent.$children[0], "$emit"); - - Widget.fire("testEventName", expectedArgs); - - expect($emitSpy).toHaveBeenCalledTimes(1); - expect($emitSpy.mock.calls[0][0]).toBe("test-event-name"); - expect($emitSpy.mock.calls[0][1]).toBe(expectedArgs); - }); -}); - -describe("extension component", () => { - const ExtensionWidgetClass = jest.fn(createWidget); - const TestExtensionComponent = Vue.extend({ - extends: DxExtensionComponent(), - beforeCreate() { - (this as any as IWidgetComponent).$_WidgetClass = ExtensionWidgetClass; - } - }); - - it("renders once if mounted manually and targets self element", () => { - const component = new TestExtensionComponent().$mount(); - - const expectedElement = component.$el; - const actualElement = ExtensionWidgetClass.mock.calls[0][0]; - - expect(ExtensionWidgetClass).toHaveBeenCalledTimes(1); - expect(actualElement).toBe(expectedElement); - }); - - it("renders once without parent element and targets self element", () => { - const vue = new Vue({ - template: ``, - components: { - TestExtensionComponent - } - }).$mount(); - - const expectedElement = vue.$el; - const actualElement = ExtensionWidgetClass.mock.calls[0][0]; - - expect(ExtensionWidgetClass).toHaveBeenCalledTimes(1); - expect(actualElement).toBe(expectedElement); - }); - - it("renders once inside component and targets parent element", () => { - new Vue({ - template: ` - - `, - components: { - TestComponent, - TestExtensionComponent - } - }).$mount(); - - const expectedElement = WidgetClass.mock.calls[0][0]; - const actualElement = ExtensionWidgetClass.mock.calls[0][0]; - - expect(ExtensionWidgetClass).toHaveBeenCalledTimes(1); - expect(actualElement).toBe(expectedElement); - }); - - it("should remove extension component from dom", () => { - let childCount; - WidgetClass.mockImplementationOnce((element: HTMLElement, options: any) => { - childCount = element.childElementCount; - return createWidget(element, options); - }); - - new Vue({ - template: ` - - `, - components: { - TestComponent, - TestExtensionComponent - } - }).$mount(); - expect(childCount).toBe(0); - }); - - it("destroys correctly", () => { - const component = new TestExtensionComponent().$mount(); - - expect(component.$destroy.bind(component)).not.toThrow(); - }); -}); - -describe("disposing", () => { - - it("call dispose", () => { - const component = new TestComponent().$mount(); - - component.$destroy(); - - expect(Widget.dispose).toBeCalled(); - }); - - it("fires dxremove", () => { - const handleDxRemove = jest.fn(); - const component = new TestComponent().$mount(); - - events.on(component.$el, "dxremove", handleDxRemove); - component.$destroy(); - - expect(handleDxRemove).toHaveBeenCalledTimes(1); - }); - - it("destroys correctly", () => { - const component = new TestComponent(); - - expect(component.$destroy.bind(component)).not.toThrow(); - }); -}); diff --git a/packages/vue2-strategy/src/core/component.ts b/packages/vue2-strategy/src/core/component.ts deleted file mode 100644 index 55f960871665..000000000000 --- a/packages/vue2-strategy/src/core/component.ts +++ /dev/null @@ -1,284 +0,0 @@ -import * as VueType from "vue"; -import IVue, { VNode, VueConstructor } from "vue"; - -import { triggerHandler } from "devextreme/events"; - -import { pullAllChildren } from "./children-processing"; -import Configuration, { bindOptionWatchers, setEmitOptionChangedFunc } from "./configuration"; -import { getConfig, getInnerChanges, IConfigurable, initOptionChangedFunc } from "./configuration-component"; -import { DX_REMOVE_EVENT } from "./constants"; -import { IExtension, IExtensionComponentNode } from "./extension-component"; -import { camelize, forEachChildNode, getOptionValue, getTemplatePropName, toComparable } from "./helpers"; -import { - IEventBusHolder -} from "./templates-discovering"; -import { TemplatesManager } from "./templates-manager"; - -interface IWidgetComponent extends IConfigurable { - $_instance: any; - $_WidgetClass: any; - $_pendingOptions: Record; - $_templatesManager: TemplatesManager; -} - -interface IBaseComponent extends IVue, IWidgetComponent, IEventBusHolder { - $_isExtension: boolean; - $_applyConfigurationChanges: () => void; - $_createWidget: (element: any) => void; - $_getIntegrationOptions: () => void; - $_getExtraIntegrationOptions: () => void; - $_getWatchMethod: () => void; - $_createEmitters: () => void; - $_processChildren: () => void; - $_getTemplates: () => object; -} - -const Vue = VueType.default || VueType; - -const BaseComponent = (): VueConstructor => Vue.extend({ - - inheritAttrs: false, - - data() { - return { - eventBus: new Vue() - }; - }, - - provide() { - return { - eventBus: this.eventBus - }; - }, - - render(createElement: (...args) => VNode): VNode { - const children: VNode[] = []; - - if (this.$_config.cleanNested) { - this.$_config.cleanNested(); - } - pullAllChildren(this.$slots.default, children, this.$_config); - - this.$_processChildren(children); - return createElement( - "div", - { - attrs: { id: this.$attrs.id } - }, - children - ); - }, - - beforeUpdate() { - this.$_config.setPrevNestedOptions(this.$_config.getNestedOptionValues()); - }, - - updated() { - this.$children.forEach((child: IVue) => initOptionChangedFunc(getConfig(child), child, getInnerChanges(child))); - this.$_templatesManager.discover(); - - this.$_instance.beginUpdate(); - this.$_applyConfigurationChanges(); - - if (this.$_templatesManager.isDirty) { - this.$_instance.option( - "integrationOptions.templates", - this.$_templatesManager.templates - ); - - const props = this.$vnode?.componentOptions?.propsData; - for (const name of Object.keys(this.$_templatesManager.templates)) { - this.$_instance.option(getTemplatePropName(props, name), name); - } - - this.$_templatesManager.resetDirtyFlag(); - } - - for (const name of Object.keys(this.$_pendingOptions)) { - this.$_instance.option(name, this.$_pendingOptions[name]); - } - (this as IBaseComponent).$_pendingOptions = {}; - this.$_instance.endUpdate(); - this.eventBus.$emit("updated"); - }, - - beforeDestroy(): void { - const instance = this.$_instance; - if (instance) { - triggerHandler(this.$el, DX_REMOVE_EVENT); - instance.dispose(); - } - }, - - created(): void { - (this as IBaseComponent).$_config = new Configuration( - (n: string, v: any) => this.$_pendingOptions[n] = v, - null, - this.$options.propsData && { ...this.$options.propsData }, - this.$_expectedChildren - ); - (this as IBaseComponent).$_innerChanges = {}; - - this.$_config.init(this.$props && Object.keys(this.$props)); - }, - - methods: { - $_applyConfigurationChanges(): void { - this.$_config.componentsCountChanged.forEach(({ optionPath, isCollection, removed }) => { - const options = this.$_config.getNestedOptionValues(); - - if (!isCollection && removed) { - this.$_instance.resetOption(optionPath); - } else { - this.$_instance.option(optionPath, getOptionValue(options, optionPath)); - } - }); - - this.$_config.cleanComponentsCountChanged(); - }, - $_createWidget(element: any): void { - const thisComponent = this as IBaseComponent; - - thisComponent.$_pendingOptions = {}; - thisComponent.$_templatesManager = new TemplatesManager(this); - - const config = this.$_config; - const options: object = { - ...this.$options.propsData, - ...config.initialValues, - ...config.getNestedOptionValues(), - ...this.$_getIntegrationOptions() - }; - - const instance = new this.$_WidgetClass(element, options); - thisComponent.$_instance = instance; - - instance.on("optionChanged", (args) => config.onOptionChanged(args)); - setEmitOptionChangedFunc(config, this, this.$_innerChanges); - bindOptionWatchers(config, this, this.$_innerChanges); - this.$_createEmitters(instance); - }, - - $_getIntegrationOptions(): object { - const result: Record = { - integrationOptions: { - watchMethod: this.$_getWatchMethod(), - }, - ...this.$_getExtraIntegrationOptions(), - }; - - if (this.$_templatesManager.isDirty) { - const templates = this.$_templatesManager.templates; - - result.integrationOptions.templates = templates; - const props = this.$vnode?.componentOptions?.propsData; - for (const name of Object.keys(templates)) { - result[getTemplatePropName(props, name)] = name; - } - - this.$_templatesManager.resetDirtyFlag(); - } - - return result; - }, - - $_getWatchMethod(): ( - valueGetter: () => any, - valueChangeCallback: (value: any) => void, - options: { deep: boolean, skipImmediate: boolean } - ) => any { - return (valueGetter, valueChangeCallback, options) => { - options = options || {}; - if (!options.skipImmediate) { - valueChangeCallback(valueGetter()); - } - - return this.$watch(() => { - return valueGetter(); - }, (newValue, oldValue) => { - if (toComparable(oldValue) !== toComparable(newValue) || options.deep) { - valueChangeCallback(newValue); - } - }, { - deep: options.deep - }); - }; - }, - - $_getExtraIntegrationOptions(): object { - return {}; - }, - - $_processChildren(_children: VNode[]): void { - return; - }, - - $_createEmitters(instance: any): void { - Object.keys(this.$listeners).forEach((listenerName: string) => { - const eventName = camelize(listenerName); - instance.on(eventName, (e: any) => { - this.$emit(listenerName, e); - }); - }); - } - } -}); - -function cleanWidgetNode(node: Node) { - const removedNodes: Element[] = []; - forEachChildNode(node, (childNode: Element) => { - const parent = childNode.parentNode; - const isExtension = childNode.hasAttribute && childNode.hasAttribute("isExtension"); - if ((childNode.nodeName === "#comment" || isExtension) && parent) { - removedNodes.push(childNode); - parent.removeChild(childNode); - } - }); - - return removedNodes; -} - -function restoreNodes(el: Element, nodes: Element[]) { - nodes.forEach((node) => { - el.appendChild(node); - }); -} - -const DxComponent = (): VueConstructor => BaseComponent().extend({ - methods: { - $_getExtraIntegrationOptions(): object { - return { - onInitializing() { - (this as any).beginUpdate(); - } - }; - }, - - $_processChildren(children: VNode[]): void { - children.forEach((childNode: VNode) => { - if (!childNode.componentOptions) { return; } - - (childNode.componentOptions as any as IExtensionComponentNode).$_hasOwner = true; - }); - }, - }, - - mounted(): void { - const nodes = cleanWidgetNode(this.$el); - - this.$_createWidget(this.$el); - this.$_instance.endUpdate(); - - restoreNodes(this.$el, nodes); - if (this.$slots && this.$slots.default) { - this.$slots.default.forEach((child: VNode) => { - const childExtension = child.componentInstance as any as IExtension; - if (childExtension && childExtension.$_isExtension) { - childExtension.attachTo(this.$el); - } - }); - } - } -}); - -export { DxComponent, BaseComponent, IWidgetComponent }; diff --git a/packages/vue2-strategy/src/core/config.test.ts b/packages/vue2-strategy/src/core/config.test.ts deleted file mode 100644 index aa041142b793..000000000000 --- a/packages/vue2-strategy/src/core/config.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -import * as VueType from "vue"; -import { DxComponent, IWidgetComponent } from "./component"; -import config, { getOption } from "./config"; - -const Vue = VueType.default || VueType; - -const Widget = { - option: jest.fn(), - dispose: jest.fn(), - on: jest.fn(), - fire: jest.fn(), - beginUpdate: jest.fn(), - endUpdate: jest.fn(), -}; - -const WidgetClass = jest.fn(() => Widget); - -const TestComponent = Vue.extend({ - extends: DxComponent(), - beforeCreate() { - (this as any as IWidgetComponent).$_WidgetClass = WidgetClass; - } -}); - -describe("useLegacyTemplateEngine", () => { - const originalValue = getOption("useLegacyTemplateEngine"); - - beforeEach(() => { - config({ useLegacyTemplateEngine: true }); - }); - - afterEach(() => { - config({ useLegacyTemplateEngine: originalValue }); - }); - - it("has model as scope", () => { - new Vue({ - template: ` -
Template {{data.text}}
-
`, - components: { - TestComponent - } - }).$mount(); - - // @ts-ignore - const render = WidgetClass.mock.calls[0][1].integrationOptions.templates.item.render; - const renderedTemplate = render({ - container: document.createElement("div"), - model: { text: "with data" } - }); - - expect(renderedTemplate.innerHTML).toBe("Template with data"); - }); -}); diff --git a/packages/vue2-strategy/src/core/config.ts b/packages/vue2-strategy/src/core/config.ts deleted file mode 100644 index cbf874b3db6d..000000000000 --- a/packages/vue2-strategy/src/core/config.ts +++ /dev/null @@ -1,18 +0,0 @@ -interface IOptions { - useLegacyTemplateEngine: boolean; - } - -let config: IOptions = { - useLegacyTemplateEngine: false -}; - -function setOptions(options: Partial): void { - config = { ...config, ...options }; -} - -function getOption(optionName: TName): IOptions[TName] { - return config[optionName]; -} - -export default setOptions; -export { getOption }; diff --git a/packages/vue2-strategy/src/core/configuration-component.ts b/packages/vue2-strategy/src/core/configuration-component.ts deleted file mode 100644 index 9c9250017d77..000000000000 --- a/packages/vue2-strategy/src/core/configuration-component.ts +++ /dev/null @@ -1,102 +0,0 @@ -import * as VueType from "vue"; -import IVue, { VNode, VueConstructor } from "vue"; - -const Vue = VueType.default || VueType; - -import Configuration, { bindOptionWatchers, ExpectedChild, setEmitOptionChangedFunc } from "./configuration"; - -interface IConfigurationOwner { - $_expectedChildren: Record; -} - -interface IConfigurationComponent extends IConfigurationOwner { - $_optionName: string; - $_isCollectionItem: boolean; - $_predefinedProps: Record; -} - -interface IConfigurable extends IConfigurationOwner { - $_config: Configuration; - $_innerChanges: any; -} - -interface IComponentInfo { - optionPath: string; - isCollection: boolean; - removed?: boolean; -} - -function getConfig(vueInstance: Pick): Configuration | undefined { - if (!vueInstance.$vnode) { - return; - } - - const componentOptions = (vueInstance.$vnode.componentOptions as any as IConfigurable); - - return componentOptions && componentOptions.$_config; -} - -function getInnerChanges(vueInstance: Pick): any { - if (!vueInstance.$vnode) { - return; - } - - const componentOptions = (vueInstance.$vnode.componentOptions as any as IConfigurable); - - return componentOptions && componentOptions.$_innerChanges; -} - -function initOptionChangedFunc(config, vueInstance: Pick, innerChanges: any) { - if (!config) { - return; - } - - config.init(Object.keys(vueInstance.$props)); - setEmitOptionChangedFunc(config, vueInstance, innerChanges); -} - -function getComponentInfo({name, isCollectionItem, ownerConfig }: Configuration, removed?: boolean): IComponentInfo { - const parentPath = ownerConfig && ownerConfig.fullPath; - const optionPath = name && parentPath ? `${parentPath}.${name}` : name || ""; - - return { - optionPath, - isCollection: isCollectionItem, - removed - }; -} - -const DxConfiguration = (): VueConstructor => Vue.extend({ - beforeMount() { - const config = getConfig(this) as Configuration; - const innerChanges = getInnerChanges(this); - initOptionChangedFunc(config, this, innerChanges); - bindOptionWatchers(config, this, innerChanges); - }, - - mounted() { - if ((this.$parent as any).$_instance) { - (this.$parent as any).$_config.componentsCountChanged - .push(getComponentInfo(getConfig(this) as Configuration)); - } - }, - - beforeDestroy() { - (this.$parent as any).$_config.componentsCountChanged - .push(getComponentInfo(getConfig(this) as Configuration, true)); - }, - - render(createElement: (...args) => VNode): VNode { - return createElement(); - } -}); - -export { - DxConfiguration, - IComponentInfo, - IConfigurable, - IConfigurationComponent, - initOptionChangedFunc, - getConfig, - getInnerChanges -}; diff --git a/packages/vue2-strategy/src/core/configuration.test.ts b/packages/vue2-strategy/src/core/configuration.test.ts deleted file mode 100644 index 123fa41397dc..000000000000 --- a/packages/vue2-strategy/src/core/configuration.test.ts +++ /dev/null @@ -1,550 +0,0 @@ -import Configuration, { - bindOptionWatchers, - ExpectedChild, - setEmitOptionChangedFunc, - UpdateFunc -} from "./configuration"; - -function createRootConfig(updateFunc: UpdateFunc): Configuration { - return new Configuration(updateFunc, null, {}); -} - -function createConfigWithExpectedChildren(children: Record): Configuration { - return new Configuration( - jest.fn(), - null, - {}, - children - ); -} - -describe("fullPath building", () => { - - const testCases: Array<{ - msg: string; - name: string | null; - ownerPath?: string; - expected: string | null; - collectionIndex?: number; - }> = [ - { - msg: "works for null", - name: null, - expected: null - }, - { - msg: "works without owner", - name: "abc", - expected: "abc" - }, - { - msg: "works with owner", - name: "abc", - ownerPath: "def", - expected: "def.abc" - }, - { - msg: "works for collection item", - name: "abc", - collectionIndex: 123, - expected: "abc[123]" - }, - { - msg: "works for collection item with owner", - name: "abc", - ownerPath: "def", - collectionIndex: 123, - expected: "def.abc[123]" - } - ]; - - for (const { msg, name, collectionIndex, ownerPath, expected } of testCases) { - it(msg, () => { - const isCollection = collectionIndex !== undefined; - const ownerConfig = ownerPath ? { fullPath: ownerPath } : undefined; - expect(new Configuration( - jest.fn(), - name, - {}, - undefined, - isCollection, - collectionIndex, - ownerConfig - ).fullPath).toBe(expected); - }); - } -}); - -it("calls update from nested", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - - const nested = root.createNested("option", {}); - nested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option.prop", 123); -}); - -it("calls update from subnested", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - const nested = root.createNested("option", {}); - const subNested = nested.createNested("subOption", {}); - - subNested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option.subOption.prop", 123); -}); - -it("calls update from nested collectionItem (first)", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - const nested = root.createNested("option", {}, true); - root.createNested("option", {}, true); - - nested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option[0].prop", 123); -}); - -it("calls update from nested collectionItem (middle)", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - - root.createNested("option", {}, true); - const nested = root.createNested("option", {}, true); - root.createNested("option", {}, true); - - nested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option[1].prop", 123); -}); - -it("calls update from nested collectionItem (last)", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - root.createNested("option", {}, true); - root.createNested("option", {}, true); - const nested = root.createNested("option", {}, true); - - nested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option[2].prop", 123); -}); - -it("calls update from nested collectionItem (the only)", () => { - const callback = jest.fn(); - const root = createRootConfig(callback); - const nested = root.createNested("option", {}, true); - - nested.updateValue("prop", 123); - - expect(callback).toHaveBeenCalledTimes(1); - expect(callback).toHaveBeenCalledWith("option[0].prop", 123); -}); - -it("binds option watchers", () => { - const updateValueFunc = jest.fn(); - const $watchFunc = jest.fn(); - const innerChanges = {}; - - bindOptionWatchers( - { - updateValue: updateValueFunc, - getOptionsToWatch: () => ["prop1"], - innerChanges: {} - } as any, - { - $watch: $watchFunc - }, - innerChanges - ); - - expect($watchFunc.mock.calls[0][0]).toBe("prop1"); - - const value = {}; - $watchFunc.mock.calls[0][1](value); - - expect(updateValueFunc).toHaveBeenCalledTimes(1); - expect(updateValueFunc.mock.calls[0][0]).toBe("prop1"); - expect(updateValueFunc.mock.calls[0][1]).toBe(value); -}); - -describe("initial configuration", () => { - - it("pulls value from nested", () => { - const root = createRootConfig(jest.fn()); - - const nested = root.createNested("option", {}); - nested - .createNested("subOption", { prop: 123 }) - .init(["prop"]); - - expect(root.getNestedOptionValues()).toMatchObject({ - option: { - subOption: { - prop: 123 - } - } - }); - }); - - it("pulls array of values from a coollectionItem nested (single value)", () => { - const root = createRootConfig(jest.fn()); - - root.createNested("options", { propA: 123 }, true); - - expect(root.getNestedOptionValues()).toMatchObject({ - options: [ - { propA: 123 } - ] - }); - }); - - it("pulls array of values from a coollectionItem nested (several values)", () => { - const root = createRootConfig(jest.fn()); - - root.createNested("options", { propA: 123 }, true); - root.createNested("options", { propA: 456, propB: 789 }, true); - - expect(root.getNestedOptionValues()).toMatchObject({ - options: [ - { propA: 123 }, - { propA: 456, propB: 789 }, - ] - }); - }); - - it("pulls values from the last nested (not a coollectionItem)", () => { - const root = createRootConfig(jest.fn()); - - root.createNested("option", { propA: 123 }); - root.createNested("option", { propA: 456, propB: 789 }); - - expect(root.getNestedOptionValues()).toMatchObject({ - option: { propA: 456, propB: 789 } - }); - }); - - it("pulls values from self and nested", () => { - const root = new Configuration(jest.fn(), null, { propA: 123 }); - - const nested = root.createNested("option", { propB: 456 }); - nested.createNested("subOption", { propC: 789 }); - - expect(root.getNestedOptionValues()).toMatchObject({ - option: { - propB: 456, - subOption: { - propC: 789 - } - } - }); - expect(root.initialValues).toMatchObject({ - propA: 123 - }); - }); - - it("pulls empty value for correct option structure T728446", () => { - const root = createRootConfig(jest.fn()); - - const nested = root.createNested("option", {}, true); - nested.createNested("subOption", {}); - - expect(root.getNestedOptionValues()).toMatchObject({ option: [{ subOption: {} }]}); - }); - - it("pulls values and ignores empty nested", () => { - const root = createRootConfig(jest.fn()); - - const nested = root.createNested("option", {}); - nested.init(["empty"]); - nested - .createNested("subOption", { prop: 123 }) - .init(["prop"]); - - root.createNested("anotherOption", {}); - nested.createNested("anotherSubOption", {}); - - expect(root.getNestedOptionValues()).toMatchObject({ - option: { - subOption: { - prop: 123 - } - } - }); - }); - -}); - -describe("collection items creation", () => { - - describe("not-expected item .isCollectionItem prop", () => { - - it("is true if isCollection arg is true", () => { - const owner = new Configuration(jest.fn(), null, {}); - - const nested = owner.createNested("name", {}, true); - - expect(nested.isCollectionItem).toBeTruthy(); - }); - - it("is false if isCollection arg is false", () => { - const owner = new Configuration(jest.fn(), null, {}); - - const nested = owner.createNested("name", {}, false); - - expect(nested.isCollectionItem).toBeFalsy(); - }); - - it("is false if isCollection arg is undefined", () => { - const owner = new Configuration(jest.fn(), null, {}); - - const nested = owner.createNested("name", {}); - - expect(nested.isCollectionItem).toBeFalsy(); - }); - }); - - describe("expectation of collection item", () => { - - it("applied if isCollection arg is true", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: true, optionName: "def" } }); - - const nested = owner.createNested("abc", {}, true); - - expect(nested.isCollectionItem).toBeTruthy(); - expect(nested.name).toBe("def"); - }); - - it("applied if isCollection arg is false", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: true, optionName: "def" } }); - - const nested = owner.createNested("abc", {}, false); - - expect(nested.isCollectionItem).toBeTruthy(); - expect(nested.name).toBe("def"); - }); - - it("applied if isCollection arg is undefined", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: true, optionName: "def" } }); - - const nested = owner.createNested("abc", {}); - - expect(nested.isCollectionItem).toBeTruthy(); - expect(nested.name).toBe("def"); - }); - }); - - describe("expected as collection item .isCollectionItem prop", () => { - - it("is true if isCollection arg is true", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: false, optionName: "def" } }); - - const nested = owner.createNested("abc", {}, true); - - expect(nested.isCollectionItem).toBeFalsy(); - }); - - it("is true if isCollection arg is false", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: false, optionName: "def" } }); - - const nested = owner.createNested("abc", {}, false); - - expect(nested.isCollectionItem).toBeFalsy(); - }); - - it("is true if isCollection arg is undefined", () => { - const owner = createConfigWithExpectedChildren({ abc: { isCollectionItem: false, optionName: "def" } }); - - const nested = owner.createNested("abc", {}); - - expect(nested.isCollectionItem).toBeFalsy(); - expect(nested.name).toBe("def"); - }); - }); - -}); - -describe("options watch-list", () => { - - it("includes option with initial values", () => { - const config = new Configuration(jest.fn(), null, { option1: 123, option2: 456 }); - config.init(["option1"]); - - expect(config.getOptionsToWatch()).toEqual(["option1"]); - }); - - it("includes option without initial values", () => { - const config = new Configuration(jest.fn(), null, {}); - config.init(["option1"]); - - expect(config.getOptionsToWatch()).toEqual(["option1"]); - }); - - it("excludes option if finds nested config with the same name", () => { - const config = new Configuration(jest.fn(), null, {}); - config.init(["option1", "theNestedOption"]); - config.createNested("theNestedOption", {}); - - expect(config.getOptionsToWatch()).toEqual(["option1"]); - }); - -}); - -describe("onOptionChanged", () => { - - [ - { - fullName: "option", - value: "new value", - previousValue: "old value", - component: null - }, - { - fullName: "option.nested-option.sub-nested-option", - value: "any value", - previousValue: "old value", - component: { option: (name: string) => name === "option" && "new value" } - }, - { - fullName: "option[0]", - value: "any value", - previousValue: "old value", - component: { option: (name: string) => name === "option" && "new value" } - }, - { - fullName: "option[0].nested-option", - value: "any value", - previousValue: "old value", - component: { option: (name: string) => name === "option" && "new value" } - }, - ].map((optionChangedArgs) => { - it("emits from root configuration", () => { - const innerChanges = {}; - const emitStub = jest.fn(); - - const config = new Configuration(jest.fn(), null, {}); - setEmitOptionChangedFunc(config, { $emit: emitStub, $props: {} }, innerChanges); - - config.onOptionChanged(optionChangedArgs); - - expect(emitStub).toHaveBeenCalledTimes(1); - expect(emitStub).toHaveBeenCalledWith("update:option", "new value"); - expect(innerChanges).toEqual({ option: "new value" }); - }); - }); - - [ - { - fullName: "option.nested-option", - value: "new value", - previousValue: "old value", - component: null - }, - { - fullName: "option.nested-option.sub-nested-option", - value: "any value", - previousValue: "old value", - component: { option: (name: string) => name === "option.nested-option" && "new value" } - }, - ].map((optionChangedArgs) => { - it("emits from nested configuration", () => { - const innerChanges = {}; - const emitStub = jest.fn(); - - const config = new Configuration(jest.fn(), null, {}); - const nestedConfig = config.createNested("option", {}); - setEmitOptionChangedFunc(nestedConfig, { $emit: emitStub, $props: {} }, innerChanges); - - config.onOptionChanged(optionChangedArgs); - - expect(emitStub).toHaveBeenCalledTimes(1); - expect(emitStub).toHaveBeenCalledWith("update:nested-option", "new value"); - expect(innerChanges).toEqual({ "nested-option": "new value" }); - }); - }); - - [ - { - fullName: "option[0].nested-option", - value: "new value", - previousValue: "old value", - component: null - }, - { - fullName: "option[0].nested-option.sub-nested-option", - value: "any value", - previousValue: "old value", - component: { option: (name: string) => name === "option[0].nested-option" && "new value" } - }, - ].map((optionChangedArgs) => { - it("emits from nested collection configuration", () => { - const innerChanges = {}; - const emitStub = jest.fn(); - - const config = new Configuration(jest.fn(), null, {}); - const nestedConfig = config.createNested("option", {}, true); - setEmitOptionChangedFunc(nestedConfig, { $emit: emitStub, $props: {} }, innerChanges); - - config.onOptionChanged(optionChangedArgs); - - expect(emitStub).toHaveBeenCalledTimes(1); - expect(emitStub).toHaveBeenCalledWith("update:nested-option", "new value"); - expect(innerChanges).toEqual({ "nested-option": "new value" }); - }); - }); - - [ - { - fullName: "option", - value: "value", - previousValue: "value", - component: null - }, - { - fullName: "option", - value: [], - previousValue: [], - component: null - }, - ].map((optionChangedArgs) => { - it("does not emit", () => { - const innerChanges = {}; - const emitStub = jest.fn(); - - const config = new Configuration(jest.fn(), null, {}); - setEmitOptionChangedFunc(config, { $emit: emitStub, $props: {} }, innerChanges); - - config.onOptionChanged(optionChangedArgs); - - expect(emitStub).toHaveBeenCalledTimes(0); - }); - }); - - // https://github.com/DevExpress/devextreme-vue/issues/330 - it("emits once", () => { - const emitStubRoot = jest.fn(); - const emitStubNested = jest.fn(); - - const config = new Configuration(jest.fn(), null, {}); - setEmitOptionChangedFunc(config, { $emit: emitStubRoot, $props: {} }, {}); - const nestedConfig1 = config.createNested("option", {}, true); - setEmitOptionChangedFunc(nestedConfig1, { $emit: emitStubNested, $props: {} }, {}); - const subNestedConfig = nestedConfig1.createNested("option", {}, false); - setEmitOptionChangedFunc(subNestedConfig, { $emit: emitStubNested, $props: {} }, {}); - const nestedConfig2 = config.createNested("option", {}, true); - setEmitOptionChangedFunc(nestedConfig2, { $emit: emitStubNested, $props: {} }, {}); - - config.onOptionChanged({ fullName: "option", value: "new value", previousValue: "old value", component: null }); - - expect(emitStubRoot).toHaveBeenCalledTimes(1); - expect(emitStubNested).toHaveBeenCalledTimes(0); - }); - -}); diff --git a/packages/vue2-strategy/src/core/configuration.ts b/packages/vue2-strategy/src/core/configuration.ts deleted file mode 100644 index 3085d71229aa..000000000000 --- a/packages/vue2-strategy/src/core/configuration.ts +++ /dev/null @@ -1,288 +0,0 @@ -import { Vue } from "vue/types/vue"; -import { IComponentInfo } from "./configuration-component"; -import { getOptionInfo, isEqual } from "./helpers"; - -type UpdateFunc = (name: string, value: any) => void; -type EmitOptionChangedFunc = (name: string, value: any) => void; - -interface ExpectedChild { - isCollectionItem: boolean; - optionName: string; -} - -interface IOptionChangedArgs { - fullName: string; - value: any; - previousValue: any; - component: any; -} - -class Configuration { - - private readonly _name: string | null; - private readonly _isCollectionItem: boolean; - private readonly _collectionItemIndex: number | undefined; - private readonly _initialValues: Record; - private readonly _expectedChildren: Record; - private readonly _updateFunc: UpdateFunc; - private readonly _ownerConfig: Pick | undefined; - private _nestedConfigurations: Configuration[]; - private _prevNestedConfigOptions: any; - private _emitOptionChanged: EmitOptionChangedFunc; - private _componentChanges: IComponentInfo[]; - - private _options: string[]; - - constructor( - updateFunc: UpdateFunc, - name: string | null, - initialValues: Record, - expectedChildren?: Record, - isCollectionItem?: boolean, - collectionItemIndex?: number, - ownerConfig?: Pick | undefined - ) { - this._updateFunc = updateFunc; - this._name = name; - this._initialValues = initialValues ? initialValues : {}; - this._nestedConfigurations = []; - this._isCollectionItem = !!isCollectionItem; - this._collectionItemIndex = collectionItemIndex; - this._expectedChildren = expectedChildren || {}; - this._ownerConfig = ownerConfig; - this._componentChanges = []; - - this.updateValue = this.updateValue.bind(this); - } - - public get name(): string | null { - return this._name; - } - - public get fullName(): string | null { - return this._name && this._isCollectionItem - ? `${this._name}[${this._collectionItemIndex}]` - : this._name; - } - - public get componentsCountChanged(): IComponentInfo[] { - return this._componentChanges; - } - - public cleanComponentsCountChanged() { - this._componentChanges = []; - } - - public get fullPath(): string | null { - return this._ownerConfig && this._ownerConfig.fullPath - ? `${this._ownerConfig.fullPath}.${this.fullName}` - : this.fullName; - } - - public get ownerConfig(): Pick | undefined { - return this._ownerConfig; - } - - public get options(): string[] { - return this._options; - } - - public get initialValues(): Record { - return this._initialValues; - } - - public get expectedChildren(): Record { - return this._expectedChildren; - } - - public get nested(): Configuration[] { - return this._nestedConfigurations; - } - - public get prevNestedOptions(): any { - return this._prevNestedConfigOptions; - } - - public get collectionItemIndex(): number | undefined { - return this._collectionItemIndex; - } - - public get isCollectionItem(): boolean { - return this._isCollectionItem; - } - - public get updateFunc(): UpdateFunc { - return this._updateFunc; - } - - public init(options: string[]): void { - this._options = options ? options : []; - } - - public set emitOptionChanged(handler: EmitOptionChangedFunc) { - this._emitOptionChanged = handler; - } - - public setPrevNestedOptions(value: any) { - this._prevNestedConfigOptions = value; - } - - public onOptionChanged(args: IOptionChangedArgs) { - if (isEqual(args.value, args.previousValue)) { - return; - } - - this._onOptionChanged(args.fullName.split("."), args); - } - public cleanNested() { - this._nestedConfigurations = []; - } - - public createNested( - name: string, - initialValues: Record, - isCollectionItem?: boolean, - expectedChildren?: Record - ): Configuration { - - const expected = this._expectedChildren[name]; - let actualName = name; - let actualIsCollectionItem = isCollectionItem; - if (expected) { - actualIsCollectionItem = expected.isCollectionItem; - if (expected.optionName) { - actualName = expected.optionName; - } - } - - let collectionItemIndex = -1; - if (actualIsCollectionItem && actualName) { - collectionItemIndex = this._nestedConfigurations.filter((c) => c._name && c._name === actualName).length; - } - - const configuration = new Configuration( - this._updateFunc, - actualName, - initialValues, - expectedChildren, - actualIsCollectionItem, - collectionItemIndex, - this - ); - - this._nestedConfigurations.push(configuration); - - return configuration; - } - - public updateValue(nestedName: string, value: any): void { - const fullName = [this.fullPath, nestedName].filter((n) => n).join("."); - this._updateFunc(fullName, value); - } - - public getNestedOptionValues(): Record | undefined { - const values = {}; - - this._nestedConfigurations.forEach((o) => { - if (!o._name) { return; } - - const nestedValue = {...o.initialValues, ...o.getNestedOptionValues()}; - if (!nestedValue) { return; } - - if (!o._isCollectionItem) { - values[o._name] = nestedValue; - } else { - let arr = values[o._name]; - if (!arr || !Array.isArray(arr)) { - arr = []; - values[o._name] = arr; - } - - arr.push(nestedValue); - } - }); - - return values; - } - - public getOptionsToWatch(): string[] { - const blackList = {}; - this._nestedConfigurations.forEach((c) => c._name && (blackList[c._name] = true)); - - return this._options.filter((o) => !blackList[o]); - } - - private _onOptionChanged( - optionRelPath: string[], - args: { value: any, component: any } - ): void { - if (optionRelPath.length === 0) { - return; - } - - const optionInfo = getOptionInfo(optionRelPath[0]); - if (optionInfo.isCollection || optionRelPath.length > 1) { - const nestedConfig = this._getNestedConfig(optionInfo.fullName); - if (nestedConfig) { - nestedConfig._onOptionChanged(optionRelPath.slice(1), args); - return; - } - - this._tryEmitOptionChanged( - optionInfo.name, - args.component.option(this.fullPath ? `${this.fullPath}.${optionInfo.name}` : optionInfo.name) - ); - } else { - this._tryEmitOptionChanged(optionInfo.name, args.value); - } - } - - private _getNestedConfig(fullName: string): Configuration | undefined { - for (const nestedConfig of this._nestedConfigurations) { - if (nestedConfig.fullName === fullName) { - return nestedConfig; - } - } - - return undefined; - } - - private _tryEmitOptionChanged(name: string, value: any): void { - if (this._emitOptionChanged) { - this._emitOptionChanged(name, value); - } - } -} - -function bindOptionWatchers( - config: Configuration, - vueInstance: Pick, - innerChanges: Record): void { - const targets = config && config.getOptionsToWatch(); - if (targets) { - targets.forEach((optionName: string) => { - vueInstance.$watch(optionName, (value) => { - if (!innerChanges.hasOwnProperty(optionName) || - innerChanges[optionName] !== value) { - config.updateValue(optionName, value); - } - delete innerChanges[optionName]; - }); - }); - } -} - -function setEmitOptionChangedFunc( - config: Configuration, - vueInstance: Pick, - innerChanges: Record): void { - config.emitOptionChanged = (name: string, value: string) => { - if (!isEqual(value, vueInstance.$props[name])) { - innerChanges[name] = value; - vueInstance.$emit("update:" + name, value); - } - }; -} - -export default Configuration; -export { bindOptionWatchers, setEmitOptionChangedFunc, UpdateFunc, ExpectedChild, IOptionChangedArgs }; diff --git a/packages/vue2-strategy/src/core/constants.ts b/packages/vue2-strategy/src/core/constants.ts deleted file mode 100644 index 4136af2425a8..000000000000 --- a/packages/vue2-strategy/src/core/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -const DX_TEMPLATE_WRAPPER_CLASS = "dx-template-wrapper"; -const DX_REMOVE_EVENT = "dxremove"; - -export { - DX_TEMPLATE_WRAPPER_CLASS, - DX_REMOVE_EVENT -}; diff --git a/packages/vue2-strategy/src/core/errors.ts b/packages/vue2-strategy/src/core/errors.ts deleted file mode 100644 index f19d93574b5d..000000000000 --- a/packages/vue2-strategy/src/core/errors.ts +++ /dev/null @@ -1 +0,0 @@ -export const TEMPLATE_MULTIPLE_ROOTS_ERROR = "Template must have a single root node."; diff --git a/packages/vue2-strategy/src/core/extension-component.ts b/packages/vue2-strategy/src/core/extension-component.ts deleted file mode 100644 index 7fdaf700cefc..000000000000 --- a/packages/vue2-strategy/src/core/extension-component.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { VueConstructor } from "vue"; -import { BaseComponent } from "./component"; - -interface IExtension { - $_isExtension: boolean; - attachTo(element: any); -} - -interface IExtensionComponentNode { - $_hasOwner: boolean; -} - -const DxExtensionComponent = (): VueConstructor => BaseComponent().extend({ - created(): void { - this.$_isExtension = true; - }, - - mounted() { - this.$el.setAttribute("isExtension", "true"); - if (this.$vnode && (this.$vnode.componentOptions as any as IExtensionComponentNode).$_hasOwner) { return; } - - this.attachTo(this.$el); - }, - - methods: { - attachTo(element: any) { - this.$_createWidget(element); - } - } -}); - -export { - DxExtensionComponent, - IExtension, - IExtensionComponentNode -}; diff --git a/packages/vue2-strategy/src/core/helpers.ts b/packages/vue2-strategy/src/core/helpers.ts deleted file mode 100644 index edb3d1968024..000000000000 --- a/packages/vue2-strategy/src/core/helpers.ts +++ /dev/null @@ -1,107 +0,0 @@ -export function getTemplatePropName(props: Record | null, templateName: string): string { - for (const propName in props) { - if (props[propName] === templateName) { - return propName; - } - } - - return templateName; -} - -export function uppercaseFirst(value: string): string { - return value[0].toUpperCase() + value.substr(1); -} - -export function lowercaseFirst(value: string): string { - return value[0].toLowerCase() + value.substr(1); -} - -export function camelize(value: string): string { - return lowercaseFirst(value.split('-').map((v) => uppercaseFirst(v)).join('')); -} - -export function toComparable(value: any): any { - return value instanceof Date ? value.getTime() : value; -} - -export function isEqual(value1, value2) { - if (toComparable(value1) === toComparable(value2)) { - return true; - } - - if (Array.isArray(value1) && Array.isArray(value2)) { - return value1.length === 0 && value2.length === 0; - } - - return false; -} - -export function forEachChildNode( - el: Node, - callback: (child: ReturnType) => void, -) { - Array.prototype.slice.call(el.childNodes).forEach(callback); -} - -export function allKeysAreEqual(obj1: object, obj2: object) { - const obj1Keys = Object.keys(obj1); - - if (obj1Keys.length !== Object.keys(obj2).length) { - return false; - } - - for (const key of obj1Keys) { - if (!obj2.hasOwnProperty(key)) { - return false; - } - } - - return true; -} - -export function getOptionValue(options, optionPath) { - let value = options; - - optionPath.split('.').forEach((p) => { - const optionInfo = getOptionInfo(p); - if (value) { - value = optionInfo.isCollection - ? value[optionInfo.name] && value[optionInfo.name][optionInfo.index] - : value[optionInfo.name]; - } - }); - - return value; -} - -export function getOptionInfo(name: string): IOptionInfo | ICollectionOptionInfo { - const parts = name.split('['); - - if (parts.length === 1) { - return { - isCollection: false, - name, - fullName: name, - }; - } - - return { - isCollection: true, - name: parts[0], - fullName: name, - index: Number(parts[1].slice(0, -1)), - }; -} - -interface IOptionInfo { - isCollection: false; - name: string; - fullName: string; -} - -interface ICollectionOptionInfo { - isCollection: true; - name: string; - fullName: string; - index: number; -} diff --git a/packages/vue2-strategy/src/core/index.ts b/packages/vue2-strategy/src/core/index.ts deleted file mode 100644 index 9c2c94a74a59..000000000000 --- a/packages/vue2-strategy/src/core/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as VueType from "vue"; -const Vue = VueType.default || VueType; - -import { DxComponent } from "./component"; -import { DxConfiguration } from "./configuration-component"; -import { DxExtensionComponent } from "./extension-component"; - -export function createComponent(config: any): any { - config.extends = DxComponent(); - return Vue.extend(config); -} - -export function createConfigurationComponent(config: any): any { - config.extends = DxConfiguration(); - return Vue.extend(config); -} - -export function createExtensionComponent(config: any): any { - config.extends = DxExtensionComponent(); - return Vue.extend(config); -} diff --git a/packages/vue2-strategy/src/core/templates-discovering.test.ts b/packages/vue2-strategy/src/core/templates-discovering.test.ts deleted file mode 100644 index e1659d7047a2..000000000000 --- a/packages/vue2-strategy/src/core/templates-discovering.test.ts +++ /dev/null @@ -1,96 +0,0 @@ -import * as VueType from "vue"; -import { discover } from "./templates-discovering"; - -const Vue = VueType.default || VueType; - -describe("templates-discovering (vue 2)", () => { - - it("discovers named scoped slot", () => { - const template = "
"; - expect(getDiscoveredTemplates(template)).toEqual(["slot_name"]); - }); - - it("discovers default scoped slot", () => { - const template = "
"; - expect(getDiscoveredTemplates(template)).toEqual(["default"]); - }); - - it("discovers named not-scoped slot", () => { - const template = "
"; - expect(getDiscoveredTemplates(template)).toEqual(["slot_name"]); - }); - - // to avoid creating templates from config-components - it("doesn't discover not-scoped default slot", () => { - const template = "
"; - expect(getDiscoveredTemplates(template)).toEqual([]); - }); -}); - -describe("templates-discovering (vue 3)", () => { - - it("discovers named scoped slot", () => { - const template = "